कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाएं: 13 कदम (चित्रों के साथ)

विषयसूची:

कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाएं: 13 कदम (चित्रों के साथ)
कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाएं: 13 कदम (चित्रों के साथ)

वीडियो: कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाएं: 13 कदम (चित्रों के साथ)

वीडियो: कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाएं: 13 कदम (चित्रों के साथ)
वीडियो: Linux में सॉफ़्टवेयर कैसे स्थापित करें (ठीक से) 2024, अप्रैल
Anonim

यह wikiHow आपको सिखाता है कि कैसे एक ऑपरेटिंग सिस्टम की योजना और विकास करना है यदि आप नहीं जानते कि C, या C++ में कैसे कोड करना है। ऑपरेटिंग सिस्टम कंप्यूटर हार्डवेयर का प्रबंधन करते हैं और उन संसाधनों को प्रदान करते हैं जिन्हें अनुप्रयोगों को चलाने की आवश्यकता होती है। एक ऑपरेटिंग सिस्टम को खरोंच से लिखने के लिए कंप्यूटर विज्ञान की एक मजबूत कमान, सी या सी ++ जैसी प्रोग्रामिंग भाषा, असेंबली और कोड प्रबंधन प्रथाओं की आवश्यकता होती है।

कदम

2 का भाग 1: मूल बातें सीखना

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 1
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 1

चरण 1. कुछ बुनियादी कंप्यूटर विज्ञान पाठ्यक्रम लें।

वेब के विकास के विपरीत, एक ऑपरेटिंग सिस्टम बनाने के लिए एल्गोरिदम, डेटा संरचनाओं, कंप्यूटर हार्डवेयर और संसाधन प्रबंधन की एक मजबूत समझ की आवश्यकता होती है। लोगों को इस सामग्री में डिग्री मिलती है, इसलिए ऑनलाइन ट्यूटोरियल पढ़ने के बाद एक संपूर्ण ऑपरेटिंग सिस्टम लिखने की अपेक्षा न करें! हार्वर्ड इंट्रो टू कंप्यूटर साइंस कोर्स ईडीएक्स के माध्यम से बिना किसी शुल्क के ऑनलाइन उपलब्ध है।

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 2
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 2

चरण 2. पायथन जैसी उच्च-स्तरीय प्रोग्रामिंग भाषा सीखें।

एक बार जब आप कंप्यूटर विज्ञान की ठोस आधारभूत समझ प्राप्त कर लेते हैं, तो अगला कदम C और/या C++ में महारत हासिल करना है। जैसे कंप्यूटर विज्ञान सीखना, किसी भाषा में महारत हासिल करना वैकल्पिक नहीं है-यदि आप ठोस अनुप्रयोग नहीं लिख सकते हैं तो आप ऑपरेटिंग सिस्टम को कोड नहीं कर पाएंगे।

यदि आप सी के लिए बिल्कुल नए हैं, तो डार्टमाउथ की सी प्रोग्रामिंग देखें: प्रारंभ करना पाठ्यक्रम, जो ईडीएक्स के माध्यम से निःशुल्क है। एक बार जब आप उस पाठ्यक्रम को पूरा कर लेते हैं, तो आप श्रृंखला में अगला पाठ्यक्रम ले सकते हैं: सी प्रोग्रामिंग: भाषा नींव। फिर, बाद के पाठ्यक्रमों जैसे मॉड्यूलर प्रोग्रामिंग और मेमोरी मैनेजमेंट और पॉइंटर्स और मेमोरी मैनेजमेंट पर आगे बढ़ें।

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 4
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 4

चरण 3. असेंबली भाषा सीखें।

असेंबली भाषाएँ निम्न-स्तरीय भाषाएँ हैं जिन्हें विभिन्न प्रोसेसर के साथ संचार करने के लिए डिज़ाइन किया गया है। चूंकि विभिन्न प्रोसेसर प्रकारों के लिए असेंबली अलग है (उदाहरण के लिए, इंटेल, एएमडी, वीआईए और अन्य प्रोसेसर के लिए x86 असेंबली भाषा), आपको उस प्रोसेसर के प्रकार के लिए संस्करण सीखना होगा जिसके लिए आप कोडिंग कर रहे हैं।

  • यह ओपन सोर्स बुक, अगर इसकी संपूर्णता में पढ़ी जाए, तो आपको ऑपरेटिंग सिस्टम के निर्माण के लिए एक ठोस पर्याप्त समझ दे सकती है।
  • असेंबली लैंग्वेज की कला, असेंबली के बारे में एक अत्यधिक अनुशंसित पुस्तक है जो ऑनलाइन और ऑफलाइन दोनों तरह से उपलब्ध है।
  • आपको प्रोसेसर के प्रकार पर भी बहुत शोध करना चाहिए जिस पर आपका ऑपरेटिंग सिस्टम चलना चाहिए। प्रोसेसर आर्किटेक्चर के लिए मैनुअल आसानी से Google खोज ("इंटेल मैनुअल, " "एआरएम मैनुअल, " आदि) का उपयोग करके पाया जा सकता है।
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 5
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 5

चरण 4. एक ऑपरेटिंग सिस्टम ट्यूटोरियल पूरा करें।

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

  • बेयर बोन्स एक ट्यूटोरियल है जो आपको अपना पहला सरल 32-बिट कर्नेल लिखने में मदद करता है। ट्यूटोरियल पूरा करने के बाद, अगला कदम अपने स्वयं के ऑपरेटिंग सिस्टम की संरचना के लिए भावपूर्ण कंकाल का उपयोग करना है।
  • स्क्रैच से लिनक्स एक ऑनलाइन किताब है जो आपको अपना खुद का लिनक्स ऑपरेटिंग सिस्टम बनाकर चलता है।
  • 0 से 1 तक के ऑपरेटिंग सिस्टम शुरू से अंत तक विभिन्न ऑपरेटिंग सिस्टम बनाने के बारे में एक मुफ्त किताब है।
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 3
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 3

चरण 5. अपने ऑपरेटिंग सिस्टम लक्ष्यों का पता लगाएं।

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

  • अन्य प्रोग्रामर की एक टीम के साथ विकसित करने पर विचार करें। परियोजना पर काम कर रहे डेवलपर्स की एक टीम होने से विकास के समय में काफी कमी आएगी।
  • अपने प्रोजेक्ट लक्ष्यों, योजनाओं और प्रश्नों को अपने सार्वजनिक भंडार में जोड़ें ताकि दूसरों के लिए आपकी मदद करना आसान हो जाए।

भाग 2 का 2: अपने ऑपरेटिंग सिस्टम का निर्माण

हैव कंप्यूटर फन स्टेप 16
हैव कंप्यूटर फन स्टेप 16

चरण 1. एक विकास वातावरण चुनें।

यह वह प्लेटफ़ॉर्म है जिसका उपयोग आप अपने नए ऑपरेटिंग सिस्टम को कोड करने के लिए करेंगे। यह व्यक्तिगत पसंद का मामला है, लेकिन अधिकांश लोग या तो विंडोज का उपयोग करते हैं या यूनिक्स के स्वाद का। यदि आप Windows का उपयोग कर रहे हैं, तो Cygwin या MinGW जैसे UNIX वातावरण को स्थापित करना एक अच्छा विचार है। आप आम तौर पर यह सुनिश्चित करना चाहेंगे कि आप जिस भी परिवेश का उपयोग कर रहे हैं उसमें निम्नलिखित शामिल हैं:

  • जीसीसी (जीएनयू कंपाइलर)। यदि आप Windows का उपयोग कर रहे हैं, तो आप इसे Cygwin या MinGW में स्थापित कर सकते हैं।
  • Binutils ऑब्जेक्ट फ़ाइलों में हेरफेर करने के लिए उपयोग किए जाने वाले टूल का एक संग्रह है। फिर से, यदि आप Windows का उपयोग कर रहे हैं, तो आप इसे Cygwin में स्थापित कर सकते हैं।
  • एक अच्छा टेक्स्ट एडिटर। विम और एमएसीएस आमतौर पर यूनिक्स वातावरण में उपयोग किए जाते हैं। विंडोज उपयोगकर्ता नोटपैड का उपयोग कर सकते हैं, या मल्टी-टैब अपग्रेड के लिए नोटपैड ++ की जांच कर सकते हैं।
  • पर्ल और/या पायथन। स्ट्रिंग हेरफेर के लिए एक या दोनों की सिफारिश की जाती है।
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 13
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 13

चरण 2. अपना संस्करण नियंत्रण प्रणाली सेट करें।

एक ऑपरेटिंग सिस्टम लिखने का मतलब है कि आप कोड की सैकड़ों (या हजारों!) लाइन बना रहे होंगे। जब आप संशोधन पर काम कर रहे हों, तो यह भ्रमित करने वाला हो सकता है। चेक आउट करने के कुछ विकल्प सीवीएस, मर्कुरियल और सबवर्जन हैं।

एक कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 6
एक कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 6

चरण 3. एक बूटलोडर पर निर्णय लें।

यदि आप अपना स्वयं का निर्माण नहीं करना चाहते हैं, तो आप मौजूदा ग्रैंड यूनिफाइड बूटलोडर (GRUB) जैसे मौजूदा का उपयोग कर सकते हैं। यदि आप बूटलोडर को कोड करने के लिए पर्याप्त साहस महसूस करते हैं, तो OSDev.org पर रोलिंग योर ओन बूटलोडर देखें।

एक कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 9
एक कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 9

चरण 4. एक कर्नेल डिज़ाइन चुनें।

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

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 12
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 12

चरण 5. छोटी शुरुआत करें।

मेमोरी मैनेजमेंट और मल्टीटास्किंग जैसी चीजों पर आगे बढ़ने से पहले छोटी चीजों से शुरू करें जैसे टेक्स्ट प्रदर्शित करना और इंटरप्ट करना। आप बड़ी छलांग लगाने के बजाय एक साधारण 16-बिट ऑपरेटिंग सिस्टम बनाने का भी प्रयास कर सकते हैं।

आपके पास दो सप्ताह में पूरी प्रणाली नहीं होगी। एक ओएस से शुरू करें जो बूट हो, फिर शांत सामान पर आगे बढ़ें।

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 14
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 14

चरण 6. वर्चुअल मशीन के साथ अपने नए ऑपरेटिंग सिस्टम का परीक्षण करें।

हर बार जब आप परिवर्तन करते हैं या अपने विकास कंप्यूटर से फ़ाइलों को अपनी परीक्षण मशीन में स्थानांतरित करने के लिए अपने कंप्यूटर को रीबूट करने के बजाय, वर्चुअल मशीन एप्लिकेशन का उपयोग करें। VMWare एक सामान्य विकल्प है जो विंडोज और लिनक्स दोनों के साथ काम करता है, और ऐसा ही Bochs है। संभावित गतिरोधों और अन्य बगों की जाँच करें और आवश्यकतानुसार उनकी मरम्मत करें।

कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 15
कंप्यूटर ऑपरेटिंग सिस्टम बनाएं चरण 15

चरण 7. एक "रिलीज़ उम्मीदवार" जारी करें।

आप अपने परीक्षण किए गए कोड को अपने सार्वजनिक भंडार में अपलोड करके ऐसा कर सकते हैं। यह लोगों को आपके ऑपरेटिंग सिस्टम का परीक्षण करने और किसी भी समस्या पर वापस रिपोर्ट करने की अनुमति देगा।

हैव कंप्यूटर फन स्टेप 28
हैव कंप्यूटर फन स्टेप 28

चरण 8. अन्य ऑपरेटिंग सिस्टम डेवलपर्स के साथ नेटवर्क।

रेडिट पर /r/osdev और सॉफ्टवेयर इंजीनियरिंग स्टैक एक्सचेंज सहित विभिन्न मंचों पर ऑपरेटिंग सिस्टम डेवलपर्स का एक पूरा समुदाय है। एक बुनियादी ऑपरेटिंग सिस्टम को विकसित करने के बारे में आपको समझ में आ गया है, यह देखने के लिए मौजूदा पोस्ट पढ़ें कि विकास प्रक्रिया के दौरान किस तरह की चीजें सामने आती हैं।

वीडियो - इस सेवा का उपयोग करके, कुछ जानकारी YouTube के साथ साझा की जा सकती है।

टिप्स

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

सिफारिश की: