10 पॉइंट द्वारा GN⁺ 2025-11-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Linux kernel कोई एकल process नहीं है, बल्कि पूरे system को बनाने वाली core layer है, जो hardware और software को जोड़ने वाली हमेशा मौजूद रहने वाली संरचना है
  • user processes के लिए system calls, interrupts, scheduling को समन्वित करते हुए execution को बनाए रखता है
  • kernel virtualization, mapping, isolation, control वाली बहु-स्तरीय संरचना के रूप में काम करता है
  • सीखने के लिए init/main.c, kernel/fork.c, include/linux/sched.h, arch/x86/kernel/entry_64.S जैसी मुख्य source files प्रस्तुत की गई हैं
  • kernel की संरचना और भूमिका को समझने के लिए यह बुनियादी learning material के रूप में महत्वपूर्ण है

kernel का मूल स्वभाव

  • kernel process नहीं बल्कि स्वयं system है, जो hardware और software को जोड़ने वाली हमेशा मौजूद authoritative layer है
    • यह user processes के execution को support करता है और system resources के प्रबंधन में केंद्रीय भूमिका निभाता है
  • kernel processes को service देने वाली इकाई के रूप में system call (syscall), interrupt और scheduling का समन्वय करके user tasks को चलाए रखता है

system की layered structure

  • kernel virtualized, mapped, isolated, controlled structure से बना होता है
    • runtime में कई layers आपस में interact करते हुए system stability और control बनाए रखती हैं

learning files

  • kernel की संरचना को समझने के लिए निम्न चार प्रमुख files प्रस्तुत की गई हैं
    • init/main.c
    • kernel/fork.c
    • include/linux/sched.h
    • arch/x86/kernel/entry_64.S

concept check questions

  • kernel और process के बीच मूल अंतर: B. kernel process नहीं, बल्कि स्वयं system है
  • kernel user processes को किस तरह support करता है: B. system calls, interrupts, scheduling का समन्वय करके
  • kernel की hierarchical विशेषता: C. virtualized, mapped, isolated, controlled structure

1 टिप्पणियां

 
GN⁺ 2025-11-28
Hacker News राय
  • यह वाकई शानदार प्रोजेक्ट है। इससे Talmud page layout की याद आती है — एक ही पेज में सैकड़ों वर्षों की टीकाएँ परत-दर-परत जमा होती रहती हैं, वह संरचना मुझे हमेशा रोचक लगी है
    कोड उस तरह पूरी तरह रैखिक नहीं होता, लेकिन इस Linux Kernel Explorer में भी वैसी ही ‘annotation की परतें’ महसूस होती हैं
    बगल में लगे नोट्स का फ़ॉर्मैट खास तौर पर पसंद आया
    संबंधित संदर्भ लिंक: Talmud page layout, Talmud layout notes

    • Talmud को एक तरह से मूल hypertext कहा जा सकता है (पक्का नहीं, लेकिन एहसास ऐसा ही है)
  • लगता है मैं कुछ मिस कर रहा हूँ। kernel source को वेब पर explore करना तो बहुत पहले से संभव था — जैसे Elixir Bootlin जैसी साइटें हैं
    लेकिन यह कौन-सी अतिरिक्त सुविधाएँ देता है, यह साफ़ नहीं है। Bootlin में search भी है, यहाँ वह दिख नहीं रहा
    आज के दौर में कम-से-कम LLM-आधारित code explanation या dependency graph जैसी चीज़ों की उम्मीद थी

    • “AI युग का स्वर्णकाल!” सोचकर उम्मीद बनी थी, लेकिन असल में यह पुरानी सुविधाओं को नए web framework में पैक किया हुआ AI remix जैसा लगा, इसलिए थोड़ी निराशा हुई
  • GitHub API की rate limit लगने की वजह से file list नहीं खुल रही
    जिन्हें यही दिक्कत हो रही है, वे VPN या Cloudflare Wrap से IP बदलकर इसे ठीक कर सकते हैं
    डेवलपर अगर GitHub login विकल्प या caching layer जोड़ दे, तो नए users के लिए पहुँचना आसान होगा

    • समस्या बताने के लिए धन्यवाद वाला जवाब मिला। उन्होंने माना कि implementation बहुत साधारण थी और इसे बेहतर करेंगे
  • मुझे ऐसे tools बहुत पसंद हैं। पहले Red Hat के बनाए एक मिलते-जुलते tool से ब्राज़ील की electronic voting machine के source code का विश्लेषण किया था
    उस समय मेरा काम duplicate files और functionality को व्यवस्थित करना था, और वह Motif UI-आधारित desktop app था

  • यह आइडिया मुझे सच में बहुत पसंद आया। जटिल project code को explore करते समय कहाँ से शुरू करें, यह समझना मुश्किल होता है, और यह tool मुख्य संरचना को जल्दी समझने में मदद करता है
    हालांकि एक bug मिला — Chapter 2 में mm/ जैसी directory खोलने पर “Invalid file response” error आता है। लगता है यह directory को file की तरह खोलने की कोशिश कर रहा है

    • मैंने भी इसी वजह से Linux kernel में entry barrier कम करने के लिए कुछ projects बनाए थे
  • यह Explorer बहुत से developers के लिए वही tool लगता है जिसकी ज़रूरत थी
    kernel source इतना विशाल और जटिल है कि कहाँ से शुरू करें, यह समझ नहीं आता, लेकिन यह किसी नक्शे की तरह उसकी संरचना दिखाता है
    VFS या modules के connect होने का तरीका भी एक नज़र में दिख जाता है, और API limit या directory error जैसी समस्याएँ होने के बावजूद यह शानदार पहली शुरुआत है

    • इससे पुराने LXR की याद आती है।
      Linux पर काम शुरू करते समय उसने मेरी बहुत मदद की थी, और बाद में Python में दोबारा लिखा गया Elixir और उसका source code भी है
    • लेकिन यह सवाल भी है कि “जब master pull नहीं कर सकते, grep या gmake भी नहीं चला सकते, तो इसका उपयोग क्या है?”
  • Elixir Bootlin पुराना ज़रूर है, लेकिन mobile पर बेहतर काम करता है

    • mobile responsiveness पर feedback के लिए धन्यवाद वाला जवाब मिला, और कहा गया कि इसे सुधारा जाएगा
    • Elixir में tag navigation है, इसलिए यह file स्तर पर नहीं बल्कि पूरे codebase को explore करने के लिए ज़्यादा उपयुक्त है
  • यह सच में शानदार दिखता है। इसे बनाने वाले fabiomaia.eu थे
    मैं सोच रहा हूँ कि उनसे Python के लिए भी ऐसा tool बनाने को कहूँ
    नए engineers को CPython repository की संरचना सिखाने में यह काफ़ी उपयोगी हो सकता है

    • इस पर “खुद बनाकर क्यों नहीं देखते?” जैसी प्रतिक्रिया भी आई। open source में तेज़ implementation और issue response की उम्मीद रखना आम बात है
  • अचानक जिज्ञासा हुई — kernel code का सबसे हैरान कर देने वाला हिस्सा कौन-सा है?

    • शायद fs/select.c या polling mechanism वाला हिस्सा
  • Chapter 1 की arch/x86/kernel/entry_64.S file नहीं खुल रही
    directory tree में भी दिखाई नहीं देती
    (इस समस्या का ज़िक्र करने वाली एक और comment थी, लेकिन लगता है वह delete हो गई)

    • संभवतः path में typo है। सही path arch/x86/entry/entry_64.S होना चाहिए