IhsAdke.com

एक कंप्यूटर ऑपरेटिंग सिस्टम कैसे करें

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

सी, सी ++ और विधानसभा

चरणों

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



    9
    तय करें कि आपका डिज़ाइन कैसा दिखता है वहाँ अखंड कार्नेल और माइक्रो कर्नेल हैं मोनोलीथिक कर्नेल कर्नेल में सभी सेवाओं को लागू करते हैं, जबकि सूक्ष्म कर्नेलों में एक छोटा कर्नेल होता है, जो उपयोगकर्ता डेमन सेवाओं के लिए तैनाती करता है। सामान्य तौर पर, अखंड कार्नेल तेजी से होते हैं, लेकिन सूक्ष्म कर्नलों में बेहतर गड़बड़ी अलगाव और अधिक विश्वसनीयता है।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक से चित्र चरण 10
    10
    एक टीम के साथ मिलकर विकास कार्य को पूरा करने पर विचार करें। इस तरह, कम समय का सामना करना पड़ता है ताकि बड़ी समस्याएं सुलझ सकें, जिससे बेहतर ओएस हो।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक वाला पिक्चर चरण 11
    11
    पूरी तरह से अपनी हार्ड ड्राइव को साफ न करें याद रखें कि अपनी डिस्क को पूरी तरह से साफ करके आप अपने सभी डेटा को हटा देंगे, और यह अपरिवर्तनीय है! दोबारा बूट का उपयोग करने के लिए Grub या किसी अन्य बूट मैनेजर का उपयोग करें ताकि आपको अपने सिस्टम में बूट करने की अनुमति मिल सके और साथ ही एक और सिस्टम तब तक आपके सिस्टम पूरी तरह से पूर्ण और कार्यात्मक हो।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक से चित्र चरण 12
    12
    नीचे शुरू करें इस तरह के स्मृति प्रबंधन और मल्टीटास्किंग कार्यों के रूप में और अधिक जटिल पहलुओं पर जाने से पहले इस तरह के प्रदर्शन पाठ के रूप में छोटी बातों और रुकावट के साथ शुरू करो।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक 13 चित्र
    13
    पिछले कार्यात्मक स्रोत कोड का बैकअप रखें यदि वर्तमान संस्करण के साथ कुछ गलत हो जाता है या यदि आपके डेवलपमेंट कंप्यूटर में समस्याएं हैं और बूट या बूट नहीं कर सकते, तो दूसरी प्रति के पास एक अच्छा विचार है ताकि आप काम या समस्या निवारण जारी रख सकें।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक से चित्र चरण 14
    14
    वर्चुअल मशीन पर अपने नए ओएस का परीक्षण करें। हर बार जब आप परिवर्तन करते हैं या आपको अपने विकास मशीन से अपनी परीक्षण मशीन में फाइलें ट्रांसफर करनी होती है, तो आप वर्चुअलाइजेशन सॉफ़्टवेयर का उपयोग वर्चुअल मशीन पर अपने ओएस को स्थापित करने और चलाने के लिए कर सकते हैं। यहां तक ​​कि आपके वर्तमान ओएस रोल के लिए जारी है। वर्चुअलाइजेशन अनुप्रयोगों में वीएमवेयर (जो सर्वर के लिए एक फ्री संस्करण भी है), ओपन सोर्स वैकल्पिक बोच, माइक्रोसॉफ्ट वर्चुअल पीसी (लिनक्स के साथ संगत नहीं), और एक्सएमएल वर्चुअलबॉक्स शामिल हैं। अधिक जानकारी के लिए युक्तियां देखें
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक से चित्र चरण 15
    15
    एक "उम्मीदवार संस्करण" (एक रिलीज उम्मीदवार या केवल आरसी के रूप में भी जाना जाता है) जारी करें। यह उपयोगकर्ताओं को आपके ऑपरेटिंग सिस्टम के साथ संभावित समस्याओं के बारे में चेतावनी देगा।
  • मेक ए कंप्यूटर ऑपरेटिंग सिस्टम शीर्षक से चित्र चरण 16
    16
    उपयोगकर्ता के दृष्टिकोण से एक ऑपरेटिंग सिस्टम उपयोगकर्ता के अनुकूल भी हो सकता है
  • युक्तियाँ

    • ओएस डेवलपमेंट प्रोजेक्ट को एक ही समय में शुरू न करें, जब आप प्रोग्रामिंग सीखना शुरू करते हैं। नहीं, बिल्कुल नहीं। यदि आपको अब सी, सी ++, पास्कल या किसी अन्य उपयुक्त भाषा को पूरी तरह से पता नहीं है, जिसमें पॉइंटर हेरफेर, कम स्तरीय बिट हेरफेरिंग, बिट ब्रशिंग, असेंबली भाषा विवरण आदि शामिल हैं, तो आप इसे विकसित करने के लिए तैयार नहीं होंगे ऑपरेटिंग सिस्टम
    • यदि आप एक सरल तरीका चाहते हैं, तो Linux वितरण को देखें जैसे कि Fedora पुनरावर्तक, कस्टम फुफ्फुस एक्स, पिल्बी रेमस्टर, पीसीएलिनक्स एमएसएलईसीडीडी, या एसयूएसई स्टूडियो और एसयूएसई किवी हालांकि, आप जो ऑपरेटिंग सिस्टम बनाते हैं, वह कंपनी के अंतर्गत आता है, जिसने प्रारंभिक सेवा आरंभ की है (हालांकि आपको इसे स्वतंत्र रूप से वितरित करने, इसे संशोधित करने और इसे जीपीएल लाइसेंस के बाद जिस तरीके से आप चाहते हैं, उसे निष्पादित करने का अधिकार है)।
    • सभी विकास पूरा हो जाने के बाद, यह तय करें कि क्या आप सोर्स कोड को ओपन सोर्स एप्लिकेशन के रूप में छोड़ना चाहते हैं या इसे मालिक बना सकते हैं।
    • OSDev और OSDever जैसी साइटें अपने स्वयं के ओएस विकास की सहायता के लिए उपयोग करें हालांकि, कृपया समझें कि OSDev.org समुदाय आपको प्रोजेक्ट विकी का उपयोग करने के लिए पसंद करेंगे, फ़ोरम में शामिल न हों। यदि आप फ़ोरम में शामिल होना चाहते हैं, तो कुछ आवश्यक शर्तें हैं जिन्हें मनाया जाना चाहिए। यह प्रोग्रामिंग भाषाएं सी या सी ++ और एक्स 86 विधानसभा को अच्छी तरह से जानने के लिए आवश्यक है। आपको सामान्य और जटिल प्रोग्रामिंग अवधारणाओं जैसे कि थ्रेडेड सूचियां, पंक्तियों आदि को समझना होगा। OSDev समुदाय, अपने नियमों में, स्पष्ट रूप से बताता है कि समुदाय शुरुआती प्रोग्रामर के लिए नानी या संरक्षक के रूप में सेवा करने के लिए नहीं है। यदि आप एक ऑपरेटिंग सिस्टम विकसित करने की कोशिश कर रहे हैं, तो कहने की जरूरत नहीं है, आप प्रोग्रामिंग के "ईश्वर" के कुछ प्रकार के होने की उम्मीद कर रहे हैं यह भी जरूरी है कि आपने प्रोसेसर मैनुअल पढ़ा है ताकि आप प्रोसेसर आर्किटेक्चर को चुन सकें जिसे आपने चुना है - इसे x86 (इंटेल), एआरएम, एमआईपीएस, पीपीसी, आदि के रूप में देखें। किसी विशिष्ट प्रोसेसर आर्किटेक्चर के लिए मैन्युअल रूप से Google खोज इंजन ("इंटेल मैनुअल," "एआरएम मैनुअल," आदि) का उपयोग करके आसानी से मिल सकता है। OSDev.org समुदाय मंचों में शामिल न करें और स्पष्ट सवाल पूछना शुरू करें। इसका नतीजा केवल "पुस्तिका पढ़ें" हैंडबुक का प्रकार "उत्तर" आप विकिपीडिया और विभिन्न उपकरणों के मैनुअल को पढ़ने का प्रयास करना चाहिए जो आप उपयोग करना चाहते हैं।
    • ओएस विकास के लिए पूरी तरह से नया विभाजन बनाने के लिए यह एक अच्छा विकल्प हो सकता है
    • संभावित डेडलॉक और अन्य कीड़े या क्रैश के लिए जांचें कीड़े, डेडलॉक और अन्य समस्याएं आपके आपरेशनल सिस्टम परियोजना को प्रभावित करेगी।
    • अधिक जानकारी के लिए, इन स्रोतों को देखें:

    चेतावनी

    • आपके पास दो सप्ताह में एक पूरी प्रणाली नहीं होगी बूट कर सकते हैं जो एक ओएस के साथ शुरू करो, तो शांत सामान पर आगे बढ़ें।
    • यदि आप वाकई कुछ बेवकूफ़ बनाते हैं, तो यादृच्छिक I / O बंदरगाहों के लिए यादृच्छिक बाइट लिखने की तरह, आप "अपने ओएस को क्रैश करेंगे", और (सिद्धांत में) आपके हार्डवेयर को नुकसान पहुंचा सकते हैं एक प्रदर्शन के लिए, रूट उपयोगकर्ता के रूप में लिनक्स के तहत `cat / dev / port` चलाएं। आपका कंप्यूटर "विल" दुर्घटना
    • सुरक्षा सुविधाओं को अपनी सर्वोच्च प्राथमिकता के रूप में लागू करना सुनिश्चित करें यदि आप कभी भी अपने OS के लिए कुछ भी उपयोग करना चाहते हैं
    • आपकी हार्ड ड्राइव पर लापरवाही से लिखने वाला ओएस पूरी तरह से आपको भ्रष्ट कर सकता है। सावधान रहें
    • अपेक्षा न करें कि उचित ऑपरेटिंग सिस्टम विकसित करना एक आसान काम है। अक्सर जटिल अंतर-निर्भरताएं होती हैं उदाहरण के लिए, एक ऑपरेटिंग सिस्टम को कई प्रोसेसर से निपटने में सक्षम बनाने के लिए, इसके स्मृति प्रबंधन को एक ही समय में एक ही संसाधन को एक्सेस करने से कई प्रोसेसरों को रोकने के लिए "लॉकिंग" तंत्र की आवश्यकता होगी। इस के लिए इस्तेमाल किए गए ताले को एक शेड्यूलर या आयोजक की उपस्थिति की आवश्यकता होगी ताकि यह सुनिश्चित किया जा सके कि केवल एक प्रोसेसर एक समय में एक महत्वपूर्ण संसाधन तक पहुंचता है और यह कि सभी अन्य होल्ड पर हैं यह शेड्यूलर मेमोरी प्रबंधक की उपस्थिति पर निर्भर करता है। यह एक गतिरोध निर्भरता केस है इस तरह की समस्याओं को सुलझाने का कोई मानक तरीका नहीं है, हर ऑपरेटिंग सिस्टम प्रोग्रामर के पास इस से निपटने के अपने तरीके बनाने के लिए आवश्यक कौशल होना आवश्यक है।

    आवश्यक सामग्री

    • एक अच्छा कंप्यूटर
    • एक वास्तुकला प्रोसेसर जिसके लिए आप विकसित करना चाहते हैं
    • एक वर्चुअल मशीन के लिए पर्याप्त रैम
    • एक "होस्ट" ऑपरेटिंग सिस्टम (असेंबलर (और अन्य) स्रोत कोड को विकसित करने के साथ-साथ इसके प्रारंभिक चरणों में संकलन और पैकेजिंग करने के लिए उपयोग किया जाता है - अंत में, इसका स्वयं का ओएस स्वयं का होस्ट हो सकता है)
    • रंग वाक्यविन्यास के साथ एक कोड संपादक (यदि आपके पास कोई आईडीई नहीं है तो उपयोग करें)
    • एक कंपाइलर
    • एक फ्लॉपी डिस्क ड्राइव (आवश्यक नहीं)
    सामाजिक नेटवर्क पर साझा करें:

    संबद्ध
    © 2021 IhsAdke.com