कैसे अपने खुद के ऑपरेटिंग सिस्टम (ओएस) कार्यक्रम के लिए

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


ऑपरेटिंग सिस्टम (OS) के विकास की तुलना में वास्तव में कोई भी विकास क्षेत्र अधिक चुनौतीपूर्ण नहीं है। यह “प्रोग्रामिंग का महान शिखर है।”

कुछ प्रोग्रामर कभी एक ओएस बनाने का प्रयास करते हैं और जो लोग प्रयास करते हैं उनमें से कई कभी कार्य प्रणाली का निर्माण नहीं करते हैं.

हालांकि, यदि आप इसे फिनिश लाइन के लिए सभी तरह से बनाते हैं और एक कार्यात्मक ऑपरेटिंग सिस्टम का उत्पादन करते हैं, तो आप टॉप-फ्लाइट प्रोग्रामर्स के एक कुलीन समूह में शामिल हो जाएंगे।.

एक ऑपरेटिंग सिस्टम क्या है?

शुरुआती कंप्यूटरों में ऑपरेटिंग सिस्टम नहीं था.

इन प्रारंभिक प्रणालियों पर चलने वाले प्रत्येक कार्यक्रम में कंप्यूटर को चलाने के लिए आवश्यक सभी कोड शामिल थे, कनेक्ट किए गए हार्डवेयर के साथ संवाद करना, और कम्प्यूटेशन निष्पादित करना कार्यक्रम वास्तव में प्रदर्शन करने का इरादा था। इस स्थिति का मतलब था कि सरल कार्यक्रम भी जटिल थे.

जैसे-जैसे कंप्यूटर सिस्टम विविधतापूर्ण और अधिक जटिल और शक्तिशाली होते गए, वैसे-वैसे प्रोग्राम लिखना तेजी से अव्यवहारिक हो गया, जो एक ऑपरेटिंग सिस्टम और उपयोगी एप्लिकेशन दोनों के रूप में कार्य करता था.

जवाब में, व्यक्तिगत मेनफ्रेम कंप्यूटर मालिकों ने सिस्टम सॉफ़्टवेयर विकसित करना शुरू कर दिया, जिससे प्रोग्राम लिखना और चलाना आसान हो गया और ऑपरेटिंग सिस्टम पैदा हुए.

एक ऑपरेटिंग सिस्टम (ओएस) सॉफ्टवेयर है जो कंप्यूटर हार्डवेयर और सिस्टम संसाधनों का प्रबंधन करता है और उन उपकरणों को प्रदान करता है जिन्हें एप्लिकेशन को संचालित करने की आवश्यकता होती है। ऑपरेटिंग सिस्टम के जन्म का मतलब था कि अब कंप्यूटर ऑपरेशन के पूरे दायरे को नियंत्रित करने के लिए प्रोग्राम नहीं लिखे जाने चाहिए.

इसके बजाय, कंप्यूटर एप्लिकेशन को ऑपरेटिंग सिस्टम द्वारा चलाए जाने के लिए लिखा जा सकता है जबकि ऑपरेटिंग सिस्टम कंप्यूटर संसाधनों और संबंधित परिधीय उपकरणों जैसे प्रिंटर और छिद्रित पेपर कार्ड पाठकों के बारे में चिंतित है।.

ऑपरेटिंग सिस्टम का एक संक्षिप्त इतिहास

पहला ऑपरेटिंग सिस्टम जनरल मोटर्स द्वारा 1956 में एक आईबीएम मेनफ्रेम कंप्यूटर चलाने के लिए बनाया गया था। अन्य आईबीएम मेनफ्रेम मालिकों ने सूट का पालन किया और अपने स्वयं के ऑपरेटिंग सिस्टम बनाए.

जैसा कि आप कल्पना कर सकते हैं, जल्द से जल्द ऑपरेटिंग सिस्टम एक कंप्यूटर से दूसरे कंप्यूटर पर अलग-अलग रूप से अलग-अलग हैं, और जब उन्होंने प्रोग्राम लिखना आसान बना दिया, तो उन्होंने प्रोग्राम को एक पूर्ण बार फिर से लिखे बिना एक से अधिक मेनफ्रेम पर उपयोग करने की अनुमति नहीं दी।.

1960 के दशक में, आईबीएम ऑपरेटिंग सिस्टम डेवलपमेंट का काम संभालने वाला पहला कंप्यूटर निर्माता था और अपने कंप्यूटरों के साथ ऑपरेटिंग सिस्टम का वितरण करने लगा.

हालाँकि, आईबीएम इस दौरान ऑपरेटिंग सिस्टम बनाने वाला एकमात्र विक्रेता नहीं था। कंट्रोल डेटा कॉर्पोरेशन, कंप्यूटर साइंसेज कॉर्पोरेशन, बरोज़ कॉर्पोरेशन, GE, डिजिटल इक्विपमेंट कॉर्पोरेशन, और ज़ेरॉक्स सभी ने 1960 के दशक में मेनफ्रेम ऑपरेटिंग सिस्टम जारी किया।.

1960 के दशक के उत्तरार्ध में, यूनिक्स ऑपरेटिंग सिस्टम का पहला संस्करण विकसित किया गया था। सी में लिखा गया है, और यह शुरुआती वर्षों के दौरान स्वतंत्र रूप से उपलब्ध है, यूनिक्स को आसानी से नए सिस्टम में पोर्ट किया गया और तेजी से व्यापक स्वीकृति हासिल की.

कई आधुनिक ऑपरेटिंग सिस्टम, जिनमें Apple OS X और सभी लिनक्स फ्लेवर शामिल हैं, अपनी जड़ों को यूनिक्स में वापस लाते हैं.

Microsoft विंडोज को पर्सनल कंप्यूटर की अपनी श्रेणी को चलाने के लिए एक ऑपरेटिंग सिस्टम के लिए IBM से अनुरोध के जवाब में विकसित किया गया था.

Microsoft द्वारा निर्मित पहला OS जिसे विंडोज नहीं कहा गया था, इसे MS-DOS कहा जाता था और 1981 में सिएटल कंप्यूटर उत्पादों से 86-DOS ऑपरेटिंग सिस्टम खरीदकर और IBM की आवश्यकताओं को पूरा करने के लिए इसे संशोधित करके बनाया गया था।.

विंडोज का नाम पहली बार 1985 में इस्तेमाल किया गया था जब एक ग्राफिकल यूजर इंटरफेस बनाया गया था और एमएस-डॉस के साथ जोड़ा गया था.

Apple OS X, Microsoft विंडोज, और लिनक्स के विभिन्न रूप (एंड्रॉइड सहित) अब आधुनिक ऑपरेटिंग सिस्टम बाजार के अधिकांश हिस्से को आदेश देते हैं.

एक ऑपरेटिंग सिस्टम के भाग

ऑपरेटिंग सिस्टम दो मुख्य भागों से निर्मित होते हैं:

  • गिरी;
  • सिस्टम प्रोग्राम.

गुठली ऑपरेटिंग सिस्टम का दिल है। यह पहला प्रोग्राम है जब कंप्यूटर शुरू होता है, यह कंप्यूटर संसाधनों का प्रबंधन करता है, और यह सिस्टम प्रोग्राम और एप्लिकेशन से अनुरोधों को संभालता है.

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

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

आप क्या जानना चाहते है

ऑपरेटिंग सिस्टम के विकास का प्रयास करने से पहले आपको जिन चीजों की जानकारी होनी चाहिए, वह बहुत लंबी है। ओएस विकास में कूदने से पहले आपको जिन तीन सबसे महत्वपूर्ण चीजों को मास्टर करने की आवश्यकता है वे हैं:

  • बुनियादी कंप्यूटर विज्ञान ज्ञान;
  • कंप्यूटर प्रोग्रामिंग सिद्धांत और सर्वोत्तम प्रथाओं;
  • निम्न-स्तर और एक उच्च-स्तरीय प्रोग्रामिंग भाषा.

कंप्यूटर विज्ञान सीखें

OS विकास वेब विकास की तरह नहीं है। यह कुछ ऐसा नहीं है जिस पर आप कूद सकते हैं और सीख सकते हैं। आपको अन्य विषयों पर जाने से पहले कंप्यूटर विज्ञान में एक ठोस आधार विकसित करने की आवश्यकता है.

आरंभ करने के लिए यहां कुछ संसाधन दिए गए हैं:

कौरसेरा: कंप्यूटर साइंस 101 यदि आप कंप्यूटर प्रोग्रामिंग और कंप्यूटर विज्ञान के क्षेत्र में एकदम नए हैं, तो आपको पहले कोर्स करना चाहिए.

यदि आपके पास अपने बेल्ट के तहत थोड़ा ज्ञान और अनुभव है, तो इस कोर्स को edX विकल्पों के आधार पर छोड़ दें। हालाँकि, यदि आप इस क्षेत्र में नए हैं, तो यह पाठ्यक्रम कंप्यूटर विज्ञान और प्रोग्रामिंग विषयों को शुरू करने के लिए एक पूर्व-अनुभव का दृष्टिकोण है.

Udacity: कंप्यूटर विज्ञान के लिए परिचय कंप्यूटर विज्ञान पढ़ाने के लिए एक वेब-डेवलपमेंट दृष्टिकोण लेता है। जबकि ऑपरेटिंग सिस्टम के निर्माण की संभावना पर सीधे लागू नहीं होता है, यह एक ठोस पाठ्यक्रम है जो उपयोगी जानकारी प्रदान करता है और नई प्रोग्रामिंग की मूल बातें प्रदान करता है।.

edX: कंप्यूटर विज्ञान का परिचय इस सूची में सबसे पूर्ण और गहन कंप्यूटर विज्ञान पाठ्यक्रम है। यह नि: शुल्क, स्व-पुस्तक पाठ्यक्रम हार्वर्ड विश्वविद्यालय द्वारा डिजाइन किया गया था और पाठ्यक्रम में प्रस्तुत सामग्री को उसी नाम से प्रस्तुत करता है जिसे हार्वर्ड विश्वविद्यालय के परिसर में प्रस्तुत किया गया है।.

इस दूरगामी पाठ्यक्रम में आप एल्गोरिदम, डेटा संरचना, संसाधन प्रबंधन, सॉफ्टवेयर इंजीनियरिंग के बारे में जानेंगे और सी, पीएचपी और जावास्क्रिप्ट जैसी प्रोग्रामिंग भाषाओं पर एक नज़र डाल सकते हैं।.

कंप्यूटर प्रोग्रामिंग सीखें

अपने बेल्ट के नीचे कंप्यूटर विज्ञान के एक ठोस समझ के साथ और प्रोग्रामिंग भाषाओं के साथ कुछ सीमित अनुभव के साथ, अगला कदम यह सीखना है कि बड़े पैमाने पर प्रोग्रामिंग परियोजना से कैसे निपटना है.

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

प्रोग्रामिंग भाषाएँ सीखें

ऑपरेटिंग सिस्टम विकसित करने के लिए, आपको कम से कम दो प्रोग्रामिंग भाषाओं में महारत हासिल करनी होगी:

  • निम्न-स्तरीय विधानसभा भाषा;
  • एक उच्च स्तरीय प्रोग्रामिंग भाषा.

विधानसभा भाषाओं का उपयोग सीपीयू के साथ सीधे संवाद करने के लिए किया जाता है। प्रत्येक प्रकार के सीपीयू एक मशीन भाषा बोलते हैं और प्रत्येक प्रकार के सीपीयू के लिए बस एक ही असेंबली भाषा है। सबसे सामान्य कंप्यूटर आर्किटेक्चर x86 है, यह मूल रूप से इंटेल द्वारा विकसित किया गया था और अब यह AMD, VIA और कई अन्य सहित कंप्यूटर चिप निर्माताओं की एक विस्तृत श्रृंखला द्वारा उपयोग किया जाता है। इस गाइड में हम आपको x86 असेंबली भाषा सीखने की दिशा में इंगित करेंगे.

उच्च-स्तरीय प्रोग्रामिंग भाषाएँ कई कंप्यूटर आर्किटेक्चर के साथ काम करती हैं। सी प्रोग्रामिंग भाषा है जो सबसे अधिक इस्तेमाल की जाती है और ऑपरेटिंग सिस्टम लिखने के लिए अनुशंसित है। इस कारण से, हम OS विकास के लिए C सीखने और उपयोग करने की अनुशंसा करने जा रहे हैं। हालाँकि, C ++ और पायथन जैसी अन्य भाषाओं का भी उपयोग किया जा सकता है.

x86 विधानसभा भाषा

x86 विधानसभा गाइड असेंबली भाषा सीखने के लिए एक शानदार जगह है। यह संक्षिप्त दस्तावेज़ x86 असेंबली भाषा का एक संक्षिप्त अवलोकन प्रदान करता है और आपके द्वारा आगे बढ़ने वाले अधिक उन्नत संसाधनों के लिए चरण निर्धारित करेगा.

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

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

यदि आप x86 असेंबली भाषा के बारे में जानने के लिए एक पारंपरिक पाठ्यपुस्तक का उपयोग करना चाहते हैं, जिसमें से दो सबसे अधिक इस्तेमाल की जाने वाली और अत्यधिक अनुशंसित पाठ हैं:

  • असेंबली लैंग्वेज स्टेप-बाय-स्टेप: जेफ डंटेमैन द्वारा लिनक्स के साथ प्रोग्रामिंग;
  • आधुनिक X86 असेंबली लैंग्वेज प्रोग्रामिंग डैनियल कुसुवर्म द्वारा.

सी

कई उच्च स्तरीय प्रोग्रामिंग भाषाएं हैं जिन्हें आप सीख सकते हैं और कई विभिन्न संसाधन जिन्हें आप उन्हें सीखने के लिए उपयोग कर सकते हैं। हमारी सिफारिश, और ओएस विकास समुदाय द्वारा सबसे अधिक प्रतिध्वनित होने वाली सिफारिश, सी सीखना है, और हमें कई उत्कृष्ट संसाधन मिले हैं जो आपको एक सक्षम सी प्रोग्रामर में बदल देंगे।.

इसे पूरा करके C प्रोग्रामिंग भाषा का त्वरित अवलोकन करें C ट्यूटोरियल. इस संसाधन ने आपको एक विशेषज्ञ के रूप में बदल दिया है, लेकिन यह आपको भाषा की एक अच्छी बुनियादी समझ देगा और आपको अधिक चुनौतीपूर्ण और संसाधनों से निपटने के लिए तैयार करेगा।.

C हार्ड तरीका सीखें एक मुफ्त HTML ईबुक है जिसमें कई अभ्यास अभ्यास शामिल हैं। यह पाठ आपको सी प्रोग्रामिंग भाषा के माध्यम से सभी तरह से चलता है, और यदि आप काम में लगाते हैं, तो अपना समय ले लो, और सभी अभ्यासों को पूरा करें, जब तक आप एक सक्षम सी प्रोग्रामर नहीं बन जाते हैं, तब तक आप अपने रास्ते पर रहेंगे। इस ट्यूटोरियल को पूरा करें.

यदि कोई पारंपरिक पाठ्यपुस्तक ऐसी चीज़ है जिसके माध्यम से आप अपना काम करने की अधिक संभावना रखते हैं, तो ये दो पाठ सी प्रोग्रामिंग भाषा में महारत हासिल करने के लिए सबसे लोकप्रिय हैं।.

  • कार्निघन और रिची द्वारा सी प्रोग्रामिंग भाषा;
  • सी प्रोग्रामिंग पेरी और मिलर द्वारा निरपेक्ष शुरुआत की मार्गदर्शिका.

ओएस विकास ट्यूटोरियल

एक बार जब आपके पास कंप्यूटर विज्ञान और प्रोग्रामिंग की मूलभूत अवधारणाओं की एक मजबूत समझ है, और विधानसभा भाषा और सी में महारत हासिल है, तो अगला कदम एक या दो ओएस विकास ट्यूटोरियल को पूरा करना है जो खरोंच से एक सरल ओएस विकसित करने की पूरी प्रक्रिया से गुजरते हैं। हमें तीन उत्कृष्ट संसाधन मिले जो ऐसा करते हैं.

स्क्रैच से लिनक्स आप एक पूर्ण लिनक्स ऑपरेटिंग सिस्टम के निर्माण की प्रक्रिया से गुजरेंगे। पूरी तरह से इस ट्यूटोरियल में पूर्ण ऑपरेटिंग सिस्टम का उत्पादन नहीं किया गया है, लेकिन यह आपको एक ठोस कोड आधार देगा, जिस पर एक पूर्ण ऑपरेटिंग सिस्टम का निर्माण किया जाएगा। स्क्रैच से परे लिनक्स, स्क्रैच से स्वचालित लिनक्स, स्क्रैच से क्रॉस लिनक्स, या स्क्रैच से कठोर लिनक्स जैसे सॉफ्टवेयर के एक उपयोगी टुकड़े में अपने बुनियादी ओएस का निर्माण करने के लिए उन्नत ट्यूटोरियल लें।.

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

ऑपरेटिंग सिस्टम डेवलपमेंट सीरीज़ ब्रोकन थॉर्न एंटरटेनमेंट 25 ट्यूटोरियल की एक श्रृंखला है जो आपको जमीन से ऊपर ओएस बनाने की प्रक्रिया के माध्यम से चलते हैं। शुरुआती खबरदार: यह श्रृंखला मानती है कि आप पहले से ही एक आईडीई के आसपास अपना रास्ता जानते हैं और एक सक्षम सी और विधानसभा भाषा प्रोग्रामर हैं.

ओएस विकास के अनुशासन के बारे में जानने के लिए आप कई ग्रंथों का उपयोग कर सकते हैं। सबसे अधिक अनुशंसित तीन हैं:

  • तन्नेबौम और बोस द्वारा आधुनिक ऑपरेटिंग सिस्टम;
  • मौरिस बाख द्वारा यूनिक्स ऑपरेटिंग सिस्टम का डिज़ाइन;
  • ऑपरेटिंग सिस्टम का कॉन्सेप्ट सिलेबर्सचैट, गैल्विन और गगने ने स्वीकार किया.

ओएस विकास समुदाय

जब आप OS डेवलपर बनने की यात्रा शुरू करते हैं, तो कुछ स्थान ऐसे होते हैं, जहाँ से आप अन्य OS डेवलपरों से सीख सकते हैं और साथ काम कर सकते हैं:

  • OSDev.org OS विकास के साथ-साथ एक मंच के बारे में बहुत सारी जानकारी के साथ एक विकी है, जहां आप अन्य समान विचारधारा वाले प्रोग्रामर से मिल सकते हैं और प्रतिक्रिया प्राप्त कर सकते हैं.
  • Reddit पर OS विकास चैनल एक महान समुदाय है जहाँ आप OS विकास के बारे में जान सकते हैं और OS विकास का कार्य थोड़ा कठिन हो जाता है.
  • StackExchange से कंप्यूटर विज्ञान, प्रोग्रामर और StackOverflow ऐसे स्थान हैं जहाँ आप अन्य प्रोग्रामर को तकनीकी प्रश्न दे सकते हैं, जब आप किसी समस्या के खिलाफ आते हैं, तो आप अपने आप पता नहीं लगा सकते।.

सारांश

ओएस विकास सीखना सबसे चुनौतीपूर्ण प्रोग्रामिंग कार्यों में से एक है जिसे आप शुरू कर सकते हैं। हालाँकि, एक कार्यशील ओएस बनाने के आपके प्रयास में सफल होना आपको एक सक्षम प्रोग्रामर के रूप में चिह्नित करेगा और एक जो गहराई से समझता है कि प्रोसेसर, हार्डवेयर और कंप्यूटर प्रोग्राम एक साथ काम करते हैं, जो दुनिया के बाकी हिस्सों को एक कामकाजी कंप्यूटर के रूप में प्रदान करता है।.

अगला कदम – वेब होस्ट की तलाश है? वेब होस्टिंग के लिए हमारा गाइड देखें & हमारे अनुशंसित मेजबानों.

प्रोग्रामिंग भाषाओं पर हमारे अन्य गाइड भी देखें.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map