NoWayOS
HI
GitHub
मेन्यूबंद करें

13 नवंबर 2026

वह बैकअप जो कॉपी नहीं था

Apollo 11 दो गाइडेंस सिस्टम लेकर उड़ा, जो अलग-अलग सिद्धांतों पर बने थे, और उसे दोनों की ज़रूरत पड़ी। Ariane 5 दो एक जैसे सिस्टम लेकर उड़ा, और एक ही फ़ॉल्ट ने दोनों को रोक दिया। इस फ़र्क़ का एक नाम है, और NoWayOS इसके सही तरफ़ रहने के लिए बना है।

सब जानते हैं कि बैकअप होना चाहिए। कम लोग इसके बाद का असहज सवाल पूछते हैं: बैकअप आख़िर किस चीज़ का?

पाँच अलार्म

20 जुलाई 1969 को Apollo 11 का लूनर मॉड्यूल चाँद की सतह से कुछ ही मिनट दूर था, जब उसके गाइडेंस कंप्यूटर ने ऐसा अलार्म दिया जिसके बारे में क्रू को मिशन कंट्रोल से पूछना पड़ा। फिर एक और। उतरने के आख़िरी हिस्से में कुल पाँच।

कंप्यूटर पर ज़रूरत से ज़्यादा बोझ था। इसके बाद उसने जो किया, वह इस कहानी के इंजीनियरिंग के महान कामों में से एक है: हर बार वह रीस्टार्ट हुआ, जो काम रुक सकता था उसे छोड़ा, और जो काम नहीं रुक सकता था उसे तुरंत फिर उठा लिया। लैंडिंग जारी रही।

यह वह हिस्सा है जो सब सुनाते हैं। इसके बाद सुनाने लायक़ हिस्सा अगले दिन हुआ।

दूसरा सिस्टम

लूनर मॉड्यूल में एक दूसरा गाइडेंस सिस्टम था, और वह पहले की अतिरिक्त कॉपी नहीं था। उसे एक अलग कंपनी ने बनाया था, एक अलग सिद्धांत पर। मुख्य सिस्टम अपनी दिशा एक ऐसे प्लैटफ़ॉर्म से साधे रखता था जो गिंबल पर आज़ादी से घूमता था। दूसरे में गिंबल थे ही नहीं: उसके सेंसर सीधे यान से कसे हुए थे, और ऊपर किधर है, यह वह गणना से निकालता था।

वह इसलिए था कि अगर मुख्य सिस्टम कभी रुक जाए तो क्रू को वापस ऑर्बिट में पहुँचा दे। लैंडिंग के दौरान उसकी ज़रूरत नहीं पड़ी।

फिर, कमांड मॉड्यूल से डॉक करने के लिए ऊपर लौटते समय, कुछ मनूवरों ने मुख्य सिस्टम के प्लैटफ़ॉर्म को उस एक स्थिति में पहुँचा दिया जिसे गिंबल वाला प्लैटफ़ॉर्म सँभाल नहीं सकता, और उसने अपना एटिट्यूड रेफ़रेंस खो दिया। क्रू ने यान को स्थिर रखने के लिए दूसरे सिस्टम पर स्विच किया, और डॉक कर लिया।

दूसरा सिस्टम उसी तरह विफल हो ही नहीं सकता था। उसमें वह पुर्ज़ा था ही नहीं।

दो एक जैसे

अब दूसरी कहानी। 1996 में पहला Ariane 5 दो इनर्शियल रेफ़रेंस यूनिट के साथ उड़ा, जो उसे बताते थे कि वह किस ओर है: एक काम कर रहा था, एक तैयार खड़ा था। दोनों एक जैसे थे, सॉफ़्टवेयर तक।

सैंतीस सेकंड बाद, उस सॉफ़्टवेयर के भीतर एक संख्या उस जगह से बड़ी हो गई जो उसके लिए रखी गई थी। तैयार खड़ा यूनिट रुक गया। काम कर रहा यूनिट, जो उसी उड़ान में वही कोड चला रहा था, वह भी रुक गया। जाँच बोर्ड की रिपोर्ट सार्वजनिक है, और साफ़ कहती है: स्विच करने के लिए कुछ था ही नहीं, क्योंकि बैकअप पहले ही उसी रास्ते जा चुका था।

दो कॉपी। एक फ़ॉल्ट। कुछ नहीं बचा।

इंजीनियर इसे क्या कहते हैं

जो फ़ॉल्ट किसी सिस्टम और उसके अतिरिक्त सिस्टम को एक साथ गिरा दे, वह कॉमन-कॉज़ फ़ेल्योर है। उससे बचाव है डाइवर्स रिडंडेंसी: एक दूसरा सिस्टम, जो इतना अलग बना हो कि जो चीज़ पहले को रोकती है, वह दूसरे में हो ही नहीं।

स्पेस शटल इसी तरह उड़ता था। उसके चार फ़्लाइट कंप्यूटर एक कंपनी का सॉफ़्टवेयर चलाते थे; पाँचवाँ दूसरी कंपनी का अलग से लिखा सॉफ़्टवेयर चलाता था। चार कॉपी आपको उस कंप्यूटर से बचाती हैं जो ख़राब हो जाए। वे उस प्रोग्राम से नहीं बचातीं जो ग़लत है, क्योंकि चारों वही चला रही हैं।

यह मुफ़्त नहीं आता। शटल का पहला लॉन्च तब रद्द हुआ जब पाँचवाँ कंप्यूटर और बाक़ी चार समय पर सहमत नहीं हो सके। दो डिज़ाइन एक से ज़्यादा मेहनत माँगते हैं, और उन्हें आपस में मिलाना पड़ता है।

NoWayOS की जगह कहाँ है

आज ज़्यादातर डेडिकेटेड डिवाइस गिने-चुने सामान्य-उद्देश्य ऑपरेटिंग सिस्टम में से कोई एक चलाते हैं। उनके बैकअप भी। जब किसी ब्राउज़र इंजन, डेस्कटॉप या करोड़ों लाइनों के कर्नेल में कोई खामी निकलती है, या कोई ख़राब अपडेट जारी होता है, तो वह हर उस जगह निकलती है जहाँ वह सॉफ़्टवेयर चलता है, उसी दिन।

NoWayOS डिवाइस भीतर से अलग है। उसका कर्नेल seL4 है, लगभग 10,000 लाइनें। उसके ऊपर हमारा सब कुछ Rust में लिखा है। उसमें न ब्राउज़र इंजन है, न डेस्कटॉप, न शेल, इसलिए इनमें से किसी की खामी उसमें नहीं है।

इसका मतलब है कि उपयोगी होने के लिए NoWayOS को वह सब बदलना नहीं पड़ता जो आप चला रहे हैं। वह उसके बग़ल में खड़ा हो सकता है: एक ज़रूरी काम करने का दूसरा तरीक़ा, जो एक अलग सिद्धांत पर बना है।

यह क्या नहीं करता

डाइवर्सिटी की सीमाएँ हैं, और हम चाहेंगे कि आप उन्हें हमसे ही सुनें।

यह NoWayOS डिवाइस को अलग फ़ॉल्ट देती है, फ़ॉल्ट का न होना नहीं। यह उस चीज़ के लिए कुछ नहीं करती जो दो सिस्टम साझा करते हैं: बिजली, नेटवर्क, उनके पीछे की सर्विस, या इस बात की ग़लती कि काम असल में क्या होना चाहिए था। और NoWayOS के कुछ ओपन-सोर्स हिस्से दूसरे सॉफ़्टवेयर में भी इस्तेमाल होते हैं, इसीलिए हर इमेज अपने हर कंपोनेंट की सूची देती है, ताकि आप पढ़ सकें कि बग़ल के सिस्टम से उसका क्या साझा है।

NoWayOS विकास में है, इसलिए यह एक ऐसी भूमिका है जिसके लिए वह डिज़ाइन किया गया है, ऐसी नहीं जो उसने निभा ली हो। सुरक्षा पेज बताता है कि यह किस पर टिकी है।

Apollo के इंजीनियरों ने दूसरा सिस्टम इसलिए नहीं रखा कि उन्हें पहले के विफल होने की उम्मीद थी। उन्होंने इसलिए रखा कि वे साबित नहीं कर सकते थे कि वह विफल नहीं होगा, और उन्होंने पक्का किया कि जो चीज़ पहले को रोके, उसे दूसरे में कुछ भी जाना-पहचाना न मिले।