3 पॉइंट द्वारा GN⁺ 2024-01-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Maestro एक Unix-जैसा कर्नेल और ऑपरेटिंग सिस्टम है, जिसे शुरू से Rust भाषा में लिखा गया है.
  • शुरुआत में इसे C भाषा में लागू किया गया था, लेकिन कोडबेस को साफ-सुथरा बनाए रखना मुश्किल होने पर इसे Rust में बदला गया.
  • Rust ने प्रोजेक्ट को शुरू से फिर से शुरू करना संभव बनाया, और C में Linux-जैसा कर्नेल लिखने की तुलना में यह अधिक नवोन्मेषी था. साथ ही, Rust की safety का उपयोग करके कर्नेल प्रोग्रामिंग की कठिनाइयों को कम करने में मदद मिलती है.

प्रोजेक्ट की वर्तमान स्थिति

  • Maestro फिलहाल केवल x86 (32-बिट) आर्किटेक्चर को सपोर्ट करने वाला एक monolithic कर्नेल है.
  • लिखे जाने के समय तक Linux system calls में से लगभग 31% के बराबर 135 लागू किए जा चुके हैं.
  • कर्नेल के अलावा OS में boot system और daemon manager Solfège, system utility commands maestro-utils, और package manager blimp जैसे घटक शामिल हैं.
  • यह टेस्ट किया गया है कि musl (C standard library), bash, कुछ GNU coreutils commands, और neofetch (patched version) जैसे third-party software OS पर काम करते हैं.

खुद टेस्ट करके देखें!

  • OS अभी विकास के शुरुआती चरण में है और बहुत अस्थिर है, इसलिए महत्वपूर्ण डेटा वाली मशीन पर इसे इंस्टॉल करने की सिफारिश नहीं की जाती.
  • इसका मुख्य रूप से QEMU, VMWare, और VirtualBox में परीक्षण किया गया है.
  • OS इंस्टॉल करने के दो तरीके हैं: pre-built .iso फ़ाइल डाउनलोड करना या ISO को सीधे build करना.
  • इंस्टॉल किए गए पैकेज डिस्क की बजाय RAM (initramsfs) में स्टोर होते हैं, इसलिए पर्याप्त RAM (1GB या उससे अधिक) की आवश्यकता होती है.

इस ब्लॉग के बारे में

  • इस ब्लॉग का उद्देश्य OS बनाने के तरीके पर tutorial लिखना नहीं है, बल्कि अधिक उन्नत विषयों का अन्वेषण करना, समस्याओं को हल करने के तरीके साझा करना, और यह समझना है कि कंप्यूटर, ऑपरेटिंग सिस्टम, इंटरनेट आदि कैसे काम करते हैं.
  • osdev.org और Philipp Oppermann के ब्लॉग की विशेष रूप से सिफारिश की जाती है.

आगे क्या आने वाला है

  • कोडबेस की सफाई और performance optimization की ज़रूरत है.
  • memory leaks को ठीक करना और performance optimization ब्लॉग लेखों के विषय बन सकते हैं.
  • अगला लक्ष्य package manager को OS पर पूरी तरह काम करने योग्य बनाना है.
  • network support और shared libraries support की आवश्यकता है.

मदद करने के तरीके

  • Github repository को star देकर, newsletter subscribe करके, RSS feed फ़ॉलो करके, और Discord में शामिल होकर जुड़े रह सकते हैं.

GN⁺ की राय

  • Maestro प्रोजेक्ट Rust भाषा में लिखा गया एक Unix-जैसा ऑपरेटिंग सिस्टम है, और कर्नेल विकास में safety तथा innovation पर इसका ज़ोर महत्वपूर्ण है.
  • यह प्रोजेक्ट open source community में योगदान देना चाहने वाले developers के लिए एक दिलचस्प अवसर प्रदान करता है, और वास्तविक hardware तथा software के बीच की परस्पर क्रिया को समझने में मदद कर सकता है.
  • Rust के साथ system programming के फायदे और सीमाएँ वास्तविक रूप से अनुभव करना चाहने वाले शुरुआती software engineers के लिए यह उपयोगी learning material हो सकता है.

1 टिप्पणियां

 
GN⁺ 2024-01-04
Hacker News प्रतिक्रियाएँ
  • प्रोजेक्ट के समर्थन के लिए धन्यवाद

    • इस प्रोजेक्ट में बहुत मेहनत लगी है, और यह डेवलपर के लिए बहुत मायने रखता है।
    • इस समय वेबसाइट बहुत धीमी है या डाउन है। उम्मीद से कहीं ज्यादा ट्रैफ़िक आया है, और DoS attack का संदेह है।
    • घर लौटने पर साइट को बेहतर बनाने की कोशिश की जाएगी। अभी काम की वजह से इस पर ज्यादा ध्यान नहीं दिया जा सकता।
    • असुविधा के लिए खेद है, लेकिन यह खुशी की बात है कि लोगों ने प्रोजेक्ट को सराहा।
  • एक शानदार छोटे प्रोजेक्ट पर राय

    • यह हैरानी की बात है कि Linux के system calls का एक-तिहाई भी implement किए बिना boot प्रक्रिया कितनी दूर तक ले जाई जा सकती है।
    • अनुमान है कि जो system calls अभी implement नहीं हुए हैं, वे ज्यादा जटिल होंगे।
    • उदाहरण के लिए, TTY layer इस समय काफी बुनियादी लगती है। इसे सही ढंग से implement करना बहुत काम होगा।
    • इसलिए यह उम्मीद नहीं करनी चाहिए कि Maestro अगले 3 साल के भीतर Linux applications चला पाएगा।
  • सुरक्षा/penetration testing पर राय

    • चूंकि यह प्रोजेक्ट Rust में विकसित किया गया है, इसलिए सुरक्षा परीक्षण देखना रोचक होगा कि क्या हैकर इसमें कमजोरियाँ खोज पाते हैं।
  • Kerla प्रोजेक्ट का उल्लेख

    • Kerla (Linux ABI compatibility का लक्ष्य रखने वाला Rust में लिखा monolithic kernel) भी था, लेकिन कई सालों से उसमें कोई गतिविधि नहीं हुई है।
  • C भाषा के उपयोग की कमियाँ और OS development की कठिनाइयों पर राय

    • ज़्यादातर कमियाँ और कठिनाइयाँ debugging में होती हैं।
    • Rust पर जाने से memory errors की कुछ श्रेणियाँ हट गई हैं, लेकिन यह जानने की जिज्ञासा है कि debugging अब भी उतनी ही कठिन है या बदलाव के बाद debugging की ज़रूरत कम होने से यह अपेक्षाकृत आसान हो गई है।
  • Kerla प्रोजेक्ट के रुक जाने का उल्लेख

    • यह भी बताया गया कि Kerla ऐसा प्रोजेक्ट था जिस पर पहले ही कोशिश की जा चुकी थी, लेकिन वह बंद हो गया।
  • कंप्यूटर की जटिलता पर राय

    • कंप्यूटर मानवता द्वारा बनाए गए सबसे जटिल उपकरणों में से एक हैं।
  • technical debt चुकाने पर सलाह

    • जब यह एक school project के रूप में शुरू हुआ था, तब समय की कमी की वजह से कुछ shortcuts लेने पड़े होंगे, लेकिन अब technical debt चुकाने का समय है; यही mindset बनाए रखने की सलाह दी गई।
  • Gource में रुचि

    • लेखक ने contribution video बनाने के लिए जिस Gource tool का उपयोग किया, उसमें बहुत रुचि है। पहले भी ऐसा ही कोई विचार आया था, लेकिन लगता है कि सच में कोई idea पूरी तरह original नहीं होता।
  • kernel बनाने में रुचि

    • सीखने के उद्देश्य से kernel बनाने का विचार बहुत पसंद आया। kernel/OS को समग्र रूप से समझने के लिए किन संसाधनों का उपयोग किया गया, यह जानने की जिज्ञासा है।