1
कार्यक्रम शुरू करने से पहले सीखें असेंबली भाषा मौलिक है, जबकि सी के रूप में महान महत्व की एक अन्य अनुपूरक और निम्न-स्तर की भाषा की जोरदार सिफारिश की जाती है।
2
तय करें कि आप किस मीडिया को अपना ऑपरेटिंग सिस्टम लोड करना चाहते हैं यह एक डिस्केट, सीडी, डीवीडी, पेनड्राइव, हार्ड ड्राइव या एक और पीसी भी हो सकती है।
3
तय करें कि आप अपने ओएस को क्या करना चाहते हैं एक ग्राफिकल यूजर इंटरफेस (जीयूआई) या कुछ और भी अधिक minimalist के साथ एक पूर्ण ओएस हैं, आप को पता है कि दिशा में आप शुरू करने से पहले ले जा रहे हैं की जरूरत है।
4
निर्णय लें कि कौन से प्रोसेसर प्लेटफॉर्म आपके ऑपरेटिंग सिस्टम का समर्थन करेगा आप इस बारे में अनिश्चित हैं, तो यह सबसे अच्छा है X86 प्रोसेसर मंच (32 बिट) पर ध्यान केंद्रित करने, के बाद से अधिकांश कंप्यूटर X86 मंच प्रोसेसर का उपयोग करें।
5
यह तय करें कि क्या आप इसे अपने दम पर पूरी तरह विकसित करना चाहते हैं या क्या कोई भी उपलब्ध कर्नेल हैं, जिससे आप अपने ऑपरेटिंग सिस्टम को विकसित करना चाहते हैं। लिनक्स से स्क्रैच उन लोगों के लिए एक परियोजना है, जो अपनी लिनक्स वितरण बनाना चाहते हैं, उदाहरण के लिए। बाहरी लिंक तक पहुंचने के लिए युक्तियां देखें।
6
तय करें कि क्या आप अपने खुद के बूट प्रबंधक या मौजूदा एक, जैसे कि GRUB (ग्रैंड यूनिफाइड बूटलोडर) का उपयोग करेंगे। अपने खुद के बूटलोडर प्रोग्रामिंग के बाद से आपको हार्डवेयर और BIOS के बारे में बहुत कुछ ज्ञान मिलेगा, इससे कर्नेल प्रोग्रामिंग के विचार हो सकते हैं। टिप्स देखें
7
तय करना है कि किस प्रोग्रामिंग भाषा का उपयोग करना है। हालांकि पास्कल या बेसिक जैसे भाषाओं के साथ एक ऑपरेटिंग सिस्टम बनाना संभव है, हालांकि सी या विधानसभा जैसी भाषा का उपयोग करना बेहतर है। विधानसभा बिल्कुल आवश्यक है, क्योंकि ऑपरेटिंग सिस्टम के कुछ महत्वपूर्ण हिस्सों को इसकी आवश्यकता होगी। दूसरी तरफ, सी ++, इसमें कुछ ऐसे कीवर्ड शामिल होते हैं जिनके लिए इसे चलाने के लिए पूरी तरह से विकसित ऑपरेटिंग सिस्टम की आवश्यकता होती है।
- सी या सी ++ कोड से एक ऑपरेटिंग सिस्टम को संकलित करने के लिए, आप स्पष्ट रूप से एक कंपाइलर या किसी अन्य का उपयोग करेंगे। आपको अपने चुने हुए C / C ++ कंपाइलर के लिए उपयोगकर्ता मैनुअल / दस्तावेज़ीकरण पढ़ना चाहिए, चाहे वह सॉफ़्टवेयर के साथ संकुचित हो या वितरक की वेबसाइट पर उपलब्ध हो। आपको अपने कंपाइलर के बारे में कई जटिल जानकारी जानना होगा और, सी ++ विकास के लिए, आपको कंपाइलर की गलत प्रस्तुति योजना और इसकी ABI के बारे में जानना चाहिए आपको उम्मीद है कि विभिन्न निष्पादन योग्य स्वरूप (एएलएफ, पीई, सीओओएफएफ, सादा बाइनरी, इत्यादि) के साथ-साथ समझें कि विंडोज पीई (.एक्सए) का स्वामित्व स्वरूप कॉपीराइट है।
8
तय करें कि आपका एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) क्या होगा। चुनने के लिए एक अच्छा एपीआई है POSIX, जो अच्छी तरह से प्रलेखित है। सभी यूनिक्स सिस्टम कम से कम आंशिक POSIX समर्थन करते हैं, इसलिए यह आपके ओएस पर पोर्ट यूनिक्स अनुप्रयोगों के लिए तुच्छ हो जाएगा।
9
तय करें कि आपका डिज़ाइन कैसा दिखता है वहाँ अखंड कार्नेल और माइक्रो कर्नेल हैं मोनोलीथिक कर्नेल कर्नेल में सभी सेवाओं को लागू करते हैं, जबकि सूक्ष्म कर्नेलों में एक छोटा कर्नेल होता है, जो उपयोगकर्ता डेमन सेवाओं के लिए तैनाती करता है। सामान्य तौर पर, अखंड कार्नेल तेजी से होते हैं, लेकिन सूक्ष्म कर्नलों में बेहतर गड़बड़ी अलगाव और अधिक विश्वसनीयता है।
10
एक टीम के साथ मिलकर विकास कार्य को पूरा करने पर विचार करें। इस तरह, कम समय का सामना करना पड़ता है ताकि बड़ी समस्याएं सुलझ सकें, जिससे बेहतर ओएस हो।
11
पूरी तरह से अपनी हार्ड ड्राइव को साफ न करें याद रखें कि अपनी डिस्क को पूरी तरह से साफ करके आप अपने सभी डेटा को हटा देंगे, और यह अपरिवर्तनीय है! दोबारा बूट का उपयोग करने के लिए Grub या किसी अन्य बूट मैनेजर का उपयोग करें ताकि आपको अपने सिस्टम में बूट करने की अनुमति मिल सके और साथ ही एक और सिस्टम तब तक आपके सिस्टम पूरी तरह से पूर्ण और कार्यात्मक हो।
12
नीचे शुरू करें इस तरह के स्मृति प्रबंधन और मल्टीटास्किंग कार्यों के रूप में और अधिक जटिल पहलुओं पर जाने से पहले इस तरह के प्रदर्शन पाठ के रूप में छोटी बातों और रुकावट के साथ शुरू करो।
13
पिछले कार्यात्मक स्रोत कोड का बैकअप रखें यदि वर्तमान संस्करण के साथ कुछ गलत हो जाता है या यदि आपके डेवलपमेंट कंप्यूटर में समस्याएं हैं और बूट या बूट नहीं कर सकते, तो दूसरी प्रति के पास एक अच्छा विचार है ताकि आप काम या समस्या निवारण जारी रख सकें।
14
वर्चुअल मशीन पर अपने नए ओएस का परीक्षण करें। हर बार जब आप परिवर्तन करते हैं या आपको अपने विकास मशीन से अपनी परीक्षण मशीन में फाइलें ट्रांसफर करनी होती है, तो आप वर्चुअलाइजेशन सॉफ़्टवेयर का उपयोग वर्चुअल मशीन पर अपने ओएस को स्थापित करने और चलाने के लिए कर सकते हैं। यहां तक कि आपके वर्तमान ओएस रोल के लिए जारी है। वर्चुअलाइजेशन अनुप्रयोगों में वीएमवेयर (जो सर्वर के लिए एक फ्री संस्करण भी है), ओपन सोर्स वैकल्पिक बोच, माइक्रोसॉफ्ट वर्चुअल पीसी (लिनक्स के साथ संगत नहीं), और एक्सएमएल वर्चुअलबॉक्स शामिल हैं। अधिक जानकारी के लिए युक्तियां देखें
15
एक "उम्मीदवार संस्करण" (एक रिलीज उम्मीदवार या केवल आरसी के रूप में भी जाना जाता है) जारी करें। यह उपयोगकर्ताओं को आपके ऑपरेटिंग सिस्टम के साथ संभावित समस्याओं के बारे में चेतावनी देगा।
16
उपयोगकर्ता के दृष्टिकोण से एक ऑपरेटिंग सिस्टम उपयोगकर्ता के अनुकूल भी हो सकता है