7 पॉइंट द्वारा GN⁺ 2024-09-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • इस repository में os.phil-opp.com पर उपलब्ध Writing an OS in Rust series का source code शामिल है
  • अगर कोई सवाल हो, तो issue खोल सकते हैं या Gitter पर चैट कर सकते हैं

कोड का स्थान

  • हर post का कोड अलग git branch में है
  • आप हर post के बाद की intermediate state देख सकते हैं
  • सबसे नए post का कोड यहाँ देखा जा सकता है
  • post list में (source code) लिंक फ़ॉलो करके हर post की branch मिल सकती है
  • branches का नाम post-XX फ़ॉर्मेट में रखा गया है (XX post number है)
  • उदाहरण: VGA Text Mode post post-03 है, और Hardware Interrupts post post-07 है
  • build निर्देशों के लिए उस branch का Readme देखें
  • git worktree का उपयोग करके branches को subdirectory में checkout किया जा सकता है
    git worktree add code post-10
    
  • ऊपर दिया गया command code नाम की subdirectory बनाता है और 10वें post ("Heap Allocation") का कोड शामिल करता है

पोस्ट

  • इस project का लक्ष्य अलग-अलग blog posts में step-by-step tutorial देना है
  • अभी निम्नलिखित posts उपलब्ध हैं

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

पहले edition के पोस्ट

  • मौजूदा blog version दूसरा edition है, और पहला edition अब maintain नहीं किया जाता
  • पहले edition के posts अब भी उपयोगी हो सकते हैं
  • post list इस प्रकार है

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

  • Cross Compile Binutils
  • Cross Compile libcore
  • Set Up GDB
  • Handling Exceptions using Naked Functions
  • Catching Exceptions (source code)
  • Better Exception Messages (source code)
  • Returning from Exceptions (source code)

लाइसेंस

  • यह project blog/content folder को छोड़कर इनमें से किसी एक license के तहत उपलब्ध है
  • blog/content folder के license के लिए blog/content/README.md देखें

योगदान

  • जब तक स्पष्ट रूप से कुछ और न कहा गया हो, Apache-2.0 license में परिभाषित अनुसार जानबूझकर submit किया गया हर contribution ऊपर बताए अनुसार dual license के तहत शामिल किया जाएगा

GN⁺ का सार

  • यह project Rust के साथ operating system लिखने का तरीका step-by-step tutorial के रूप में समझाता है
  • हर post एक स्वतंत्र विषय को code examples के साथ कवर करता है
  • operating system development में रुचि रखने वालों के लिए यह बहुत उपयोगी resource है
  • आप Rust की safety और performance का उपयोग करके operating system बनाना सीख सकते हैं
  • समान तरह की functionality वाले दूसरे projects में Redox OS शामिल है

1 टिप्पणियां

 
GN⁺ 2024-09-15
Hacker News टिप्पणियाँ
  • कुछ साल पहले दूसरा edition पूरा किया था और बहुत कुछ सीखा

    • OS development के बारे में इसकी व्याख्या अच्छी थी और Rust सीखने में भी उपयोगी रही
    • लेखक को language idioms की अच्छी समझ थी, इसलिए code को व्यक्त करने का तरीका शिक्षाप्रद था
    • ब्लॉग में Rust में futures के implementation की व्याख्या खास तौर पर प्रभावशाली थी
    • उम्मीद है कि Phil EFI-आधारित तीसरे edition पर फिर से काम शुरू करेंगे
    • दूसरा edition अब भी वीकेंड development time बिताने का एक शानदार तरीका है
  • 5 साल पहले tutorial पूरा करने के बाद MOROS पर काम शुरू किया था

    • Rust और OS development में रुचि रखने वालों को इसकी जोरदार सिफारिश करता हूँ
    • Phil ने इसमें बहुत मेहनत की है, और उसका नतीजा साफ दिखता है
    • इसके बाद osdev wiki के ज़रिए सीखना जारी रखा जा सकता है
  • Rust में OS लिखने की बजाय ऐसा data platform बनाना चाहिए जो DML/DDL चला सके

  • Rust और OS development पर गहराई से जाने के बाद यह सामग्री मिली

    • इसकी गुणवत्ता देखकर प्रभावित हुआ, और OS के इतिहास व डिज़ाइन के साथ-साथ Rust के पहलू भी सीखने को मिले
    • Phil ने शानदार काम किया है
  • इसी सामग्री की वजह से 2021 में Rust शुरू किया था

    • इस सामग्री के मौजूद होने के लिए बहुत आभारी हूँ
  • OS development पर Phil की लिखी बातें हमेशा पढ़ने लायक होती हैं

  • Harvey OS टीम अब R9OS project पर काम कर रही है

  • खास तौर पर original edition की पोस्ट की सिफारिश करता हूँ

    • मौजूदा edition bootloading process को एक खास crate से संभालता है, जिससे बहुत ज़्यादा मदद मिल जाती है
  • अभी Rustconf से लौटा हूँ, और real-time operating systems पर केंद्रित करीब पाँच बड़े OS releases हैं

    • ये सभी open source नहीं हैं
  • एक और अच्छा resource है Rust का उपयोग करके RISC-V OS बनाना