12 पॉइंट द्वारा GN⁺ 2024-01-09 | 3 टिप्पणियां | WhatsApp पर शेयर करें

Motūrus OS का परिचय

  • Motūrus प्रोजेक्ट क्लाउड के लिए एक सरल, तेज़ और सुरक्षित ऑपरेटिंग सिस्टम MotūrusOS विकसित कर रहा है।
  • Motūrus OS एक नया ऑपरेटिंग सिस्टम है जो virtual machine-आधारित workload को लक्ष्य करता है, और इसका उपयोग web server, serverless, edge caching आदि में किया जा सकता है।

Motūrus OS क्यों?

  • वर्तमान में अधिकांश virtualized production workload Linux पर चल रहे हैं।
  • Linux में कई उन्नत फीचर हैं, लेकिन इसमें कुछ ऐसी जटिलताएँ भी हैं जो virtualized workload के लिए आदर्श नहीं हैं:
    • Linux bare metal के लिए optimized है, इसलिए VM के भीतर उपयोग करने पर यह अक्षम हो सकता है।
    • Linux का उपयोग करना कठिन है।
    • Linux ऐतिहासिक रूप से काफ़ी असुरक्षित रहा है।
  • virtualized workload पर केंद्रित एक नया ऑपरेटिंग सिस्टम Linux की तुलना में कहीं अधिक सरल और सुरक्षित बनाया जा सकता है, और performance या efficiency में Linux के बराबर या उससे बेहतर हो सकता है।

Motūrus OS क्या है?

  • Motūrus OS एक microkernel-आधारित ऑपरेटिंग सिस्टम है, जिसे Rust भाषा में बनाया गया है, और यह केवल virtualized workload को ही लक्ष्य करता है।
  • यह वर्तमान में x64 KVM-आधारित virtual machine को support करता है, और Qemu या Cloud Hypervisor पर चल सकता है।
  • Rust, Motūrus OS की मुख्य भाषा है; केवल implementation ही नहीं, ABI भी Rust में प्रदान किया जाता है।

जो फीचर काम कर रहे हैं

  • फिलहाल अधिकांश subsystem POC/MVP मोड में काम कर रहे हैं, लेकिन web server जैसे workload चलाए जा सकते हैं।
  • विशेष रूप से, निम्नलिखित फीचर काम कर रहे हैं:
    • MBR(Qemu) या PVH(Cloud Hypervisor) के माध्यम से लगभग 200ms में boot होता है।
    • himem microkernel।
    • scheduling: सरल multiprocessor round robin(SMP), kernel scheduling cooperative है।
    • memory management: वर्तमान में केवल 4K page support, stack protected है, और user space के page fault सही ढंग से handle होते हैं।
    • I/O subsystem (user space के भीतर): VirtIO-BLK और VirtIO-NET driver, दो सरल file system, smoltcp-आधारित networking (केवल TCP support)।
    • user space: multi-process, preemption, thread, TLS, Rust standard library का अधिकांश हिस्सा port किया गया है।
    • एक सरल Unix-शैली shell प्रदान किया जाता है।

जो फीचर काम नहीं कर रहे

  • अधिकांश हिस्से अभी production उपयोग के लिए तैयार नहीं हैं।
  • security audit नहीं किया गया है।
  • sys-io (user space I/O subsystem) में "not implemented" panic आसानी से हो सकता है।
  • विशेष रूप से, निम्नलिखित फीचर काम नहीं कर रहे हैं:
    • file system: Rust std::fs API का अधिकांश हिस्सा POC के रूप में लागू किया गया है, लेकिन इसे async I/O का उपयोग करके फिर से implement करना होगा।
    • networking: std::net::TcpStream का अधिकांश हिस्सा implement किया गया है, लेकिन अन्य protocol अभी implement नहीं किए गए हैं।
    • Rust standard library के बाहर का ecosystem: कुछ crate छोटे-मोटे adjustment के साथ compile और उपयोग किए जा सकते हैं, लेकिन Tokio जैसे async runtime पर निर्भर crate अभी compile नहीं होते।

Motūrus OS को build/run कैसे करें?

  • docs/build.md दस्तावेज़ देखें।

आभार

  • Rust में OS लिखने पर ब्लॉग श्रृंखला लिखने वाले Philipp Oppermann को बहुत धन्यवाद। उन्होंने कई लोगों को इस क्षेत्र में प्रयोग करने के लिए प्रेरित किया है।

GN⁺ की राय

  • नवोन्मेषी दृष्टिकोण: Motūrus OS virtualized environment के लिए विशेष रूप से बनाया गया एक नया ऑपरेटिंग सिस्टम है, जो Linux की जटिलता और अक्षमता को हल करने की कोशिश करता है।
  • Rust भाषा को अपनाना: Rust memory safety और performance पर ज़ोर देने वाली भाषा है, और यह Motūrus OS की सुरक्षा और दक्षता में योगदान दे सकती है।
  • डेवलपर कम्युनिटी में योगदान: यह प्रोजेक्ट ऑपरेटिंग सिस्टम विकास में रुचि रखने वाले डेवलपरों को नई संभावनाएँ खोजने और मौजूदा सीमाओं से आगे बढ़ने में मदद कर सकता है।

3 टिप्पणियां

 
ing03201 2024-01-09

मैं भी writing an os in rust ब्लॉग देख रहा हूँ, लेकिन लगता है कि इसमें तो पहले से ही हलचल शुरू हो गई है!
मुझे लगता है यह एक अच्छा लेख है

 
GN⁺ 2024-01-09
Hacker News राय
  • प्रोजेक्ट डेवलपर/लेखक की राय:

    • प्रोजेक्ट में रुचि और चर्चा के लिए धन्यवाद।
    • दीर्घकालिक viability और support, compiler और binary compatibility को लेकर चिंताएँ हैं।
    • community के बिना प्रोजेक्ट सफल नहीं हो सकता, लेकिन उनका मानना है कि Motor OS जैसे प्रोजेक्ट्स के संभावित फायदे अंततः एक नए operating system की ओर ले जाएंगे, जिसका व्यापक उपयोग होगा।
    • उन्होंने virtual machine के अंदर (और कभी-कभी बाहर भी) Linux की समस्याओं की ओर इशारा किया और कहा कि Linux डेवलपर्स इन्हें हल करने पर पर्याप्त ध्यान नहीं दे रहे हैं।
    • compiler instability और binary compatibility को लेकर चिंता को वे समझ नहीं पाते; उनका कहना है कि नवीनतम Linux kernel को अलग-अलग GCC या LLVM toolchain के साथ compile किया जा सकता है, और पुराने binaries भी बिना समस्या चल जाते हैं।
    • उन्होंने कहा कि वे आगे के सवालों के जवाब देने के लिए तैयार हैं।
  • "Rust-first" approach की व्याख्या:

    • "Rust-first" का मतलब है कि सिर्फ microkernel और drivers ही Rust में implement नहीं हैं, बल्कि user-space programs भी फिलहाल केवल Rust में ही लिखे जा सकते हैं।
    • तकनीकी रूप से C जैसी दूसरी भाषाओं में Motor OS के लिए apps लिखने हेतु Rust-आधारित ABI और दिए गए Rust toolchain को reverse-engineer किया जा सकता है, लेकिन इसके लिए कुछ काम करना होगा।
    • उन्होंने समझाया कि standard Rust programs standard Rust library का उपयोग करते हैं और उन्हें FFI के बिना compile और run किया जा सकता है।
  • यह जिज्ञासा कि एक छोटा kernel आधुनिक कंप्यूटर पर 200ms क्यों लेता है:

    • memory pages के metadata को initialize करना, file system mount करना, और init process शुरू करना ज़रूरी है, लेकिन उनका मानना है कि यह सब कुछ microseconds के भीतर हो जाना चाहिए।
    • उन्होंने सवाल उठाया कि क्या host को resources तैयार करने में समय लगता है, जैसे QEMU और KVM में कोई धीमा हिस्सा हो।
  • Rust में लिखे kernel में async-first kernel देखना चाहने वाली राय:

    • उन्होंने सवाल किया कि क्या async-first kernel खास तौर पर कठिन है या उसमें पर्याप्त value नहीं दिखती, या फिर बस लोग इसे आज़मा नहीं रहे हैं।
    • उन्होंने Phil Oppermann की Rust में OS बनाने वाली series को follow किया है और जानते हैं कि यह संभव है, लेकिन हाल के Rust-आधारित OS इसे आज़माते नहीं दिखते।
  • Linux से competition पर Linus Torvalds के पुराने बयान की याद दिलाने वाली राय:

    • उन्हें याद है कि जब Torvalds से पूछा गया था कि क्या उन्हें competition का डर है, तो उन्होंने जवाब दिया था कि उन्हें device drivers लिखना पसंद है, और जब तक कोई युवा और जोशीला व्यक्ति, जिसे यह पसंद हो, सामने नहीं आता, तब तक उन्हें competition से डर नहीं है।
  • Motor OS जैसे प्रोजेक्ट्स में रुचि और इसके विकास के जारी रहने की उम्मीद जताने वाली राय:

    • उन्होंने कहा कि Motor OS जैसे बहुत से प्रोजेक्ट्स असफल हो चुके हैं, इसलिए अब उत्साहित होना मुश्किल है।
    • उन्होंने कहा कि cloud जैसे खास उपयोग के मामलों में Linux को replace करना बहुत कठिन है।
  • यह राय कि Linux की जटिलता के कारण Docker, Nix OS, "serverless" आदि मौजूद हैं:

    • उन्होंने समझाया कि Docker और NixOS user-space में package management की समस्याओं के कारण मौजूद हैं, जबकि serverless इसलिए है क्योंकि business मांग के अनुसार computing के लिए भुगतान करना चाहते हैं।
  • नई तकनीक को लेकर शुरू में संदेह था, लेकिन फिर लगा कि अनावश्यक layers हटाने से मिलने वाली efficiency और security improvements आकर्षक हैं:

    • उन्होंने कहा कि नई तकनीक के प्रति उनका दृष्टिकोण संतुलित है, और वे मानते हैं कि efficiency और security improvements आकर्षक हैं।
  • यह राय कि Motor OS, Docker आदि के साथ प्रतिस्पर्धा करता हुआ दिखता है:

    • उन्होंने कहा कि Motor OS Linux के साथ सीधे प्रतिस्पर्धा करने से ज़्यादा Docker जैसी तकनीकों के साथ अधिक सीधे प्रतिस्पर्धा करता हुआ दिखता है।
    • उन्होंने इच्छा जताई कि "Why?" section में यह बताया जाए कि Docker आदि के बजाय Motor OS क्यों चुना जाना चाहिए।
  • यह राय कि नया operating system शुरू करना कठिन नहीं, लेकिन अगले 50 वर्षों तक उसे support करना बेहद कठिन है:

    • उन्होंने ज़ोर देकर कहा कि नया operating system लिखना कठिन नहीं है, लेकिन लंबे समय तक उसे support करना बहुत कठिन काम है।
 
ahwjdekf 2024-01-10

"जो फ़ीचर्स काम नहीं करते" वाला सेक्शन तो कमाल का है। खिलौना प्रोजेक्ट।