एक ऑपरेटिंग सिस्टम कैसे बनाएं
ऑपरेटिंग सिस्टम उपयोगकर्ताओं को कंप्यूटर हार्डवेयर से सहभागिता करने की अनुमति देते हैं, और ये सैकड़ों हज़ारों कोडों से बना है। वे आम तौर पर निम्न प्रोग्रामिंग भाषाओं के साथ लिखे जाते हैं: सी, सी ++ और विधानसभा
कदम
1
कार्यक्रम शुरू करने से पहले सीखें. विधानसभा भाषा मौलिक है, और यह दृढ़ता से सिफारिश की जाती है कि सीसी जैसे अन्य निम्न-स्तर की भाषा
2
आप अपने ऑपरेटिंग सिस्टम को लोड करना चाहते हैं, उसके बारे में फैसला लें। यह एक फ्लॉपी, एक सीडी, एक डीवीडी, फ्लैश मेमोरी, हार्ड डिस्क या अन्य पीसी हो सकती है।
3
निर्णय लें कि आपके ऑपरेटिंग सिस्टम को क्या करना होगा आपको शुरुआत से अपने लक्ष्य को जानने की आवश्यकता होगी, चाहे वह ऑपरेटिंग सिस्टम जीयूआई (ग्राफिकल यूजर इंटरफेस) या अधिक आवश्यक सिस्टम के साथ पूरा हो।
4
प्लेटफ़ॉर्म चुनें जो आपके ऑपरेटिंग सिस्टम को चलाने में सक्षम होंगे। यदि आप अनिश्चित हैं, तो एक्स 86 (32 बिट) प्लेटफ़ॉर्म चुनें, क्योंकि अधिकांश कंप्यूटर एक्स 86 प्रोसेसर का उपयोग करते हैं
5
तय करें कि आप अपने सिस्टम को खरोंच से बनाना चाहते हैं, या किसी मौजूदा कर्नेल पर निर्भर हैं। स्क्रैच से लिनक्स उदाहरण के लिए, यह उन लोगों के लिए एक परियोजना है जो लिनक्स के अपने स्वयं के संस्करण का निर्माण करना चाहते हैं। परियोजना के लिंक को खोजने के लिए युक्तियां पढ़ें
6
तय करें कि आप अपने बूटलोडर का प्रयोग करेंगे या एक मौजूदा ग्रांड यूनिफाइड बूटलोडर (GRUB) के रूप में। यहां तक कि अगर अपना खुद का बूटलोडर लेखन आप खुद को BIOS और हार्डवेयर के बारे में बहुत सारी जानकारी देंगे, यह आपको कर्नेल प्रोग्रामिंग में धीमा कर सकता है। अनुभाग पढ़ें " टिप्स"।
7
तय करना है कि किस प्रोग्रामिंग भाषा का उपयोग करना है। यद्यपि बेसिक या पास्कल में एक ऑपरेटिंग सिस्टम लिखना संभव है, सी या विधानसभा का उपयोग करने की सिफारिश की गई है विधानसभा आवश्यक है, क्योंकि ऑपरेटिंग सिस्टम के कुछ महत्वपूर्ण हिस्सों को इसकी आवश्यकता होती है इसके बजाय, ऐसे कीवर्ड शामिल होते हैं जिन्हें चलाने के लिए एक पूर्ण ऑपरेटिंग सिस्टम की आवश्यकता होती है।
8
यह तय करें कि किस API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस या एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) का उपयोग करना है। एक अच्छा एपीआई है POSIX, जो अच्छी तरह से प्रलेखित है सभी यूनिक्स सिस्टम कम से कम आंशिक रूप से POSIX का समर्थन करते हैं, इसलिए यूनिक्स प्रोग्राम को आपके ऑपरेटिंग सिस्टम में आयात करना बहुत आसान होगा।
9
अपने डिजाइन का फैसला वहाँ अखंड कार्नेल और माइक्रो कर्नेल हैं मोनोलीथिक कर्नेल कर्नेल में सभी सेवाओं को लागू करते हैं, जबकि सूक्ष्मों के पास उपयोगकर्ता के डेमन (पृष्ठभूमि प्रक्रिया) के साथ एक संयोजन है जो सेवाओं को लागू करता है आम तौर पर, अखंड कर्नेल तेजी से होते हैं, लेकिन माइक्रोकैनल अधिक विश्वसनीय होते हैं और त्रुटियां बेहतर पृथक होती हैं।
10
मूल्यांकन करें कि समूह में काम कर रहे ऑपरेटिंग सिस्टम को विकसित करना है या नहीं। इस तरह से प्रक्रिया तेज हो जाएगी और आप त्रुटियों को कम कर देंगे।
11
पूरी तरह से अपनी हार्ड ड्राइव मिटा नहीं है याद रखें, अपनी डिस्क को प्रारूपित करें, सभी डेटा हटाएं और यह एक अपरिवर्तनीय प्रक्रिया है! अपने कंप्यूटर को दोहरी ऑपरेटिंग सिस्टम के साथ बूट करने के लिए GRUB या किसी अन्य स्टार्टअप प्रबंधक का उपयोग करें, कम से कम जब तक आपका कंप्यूटर पूरी तरह कार्यात्मक नहीं हो।
12
नीचे से शुरू करें स्मृति प्रबंधन और मल्टीटास्किंग जैसी पहलुओं से निपटने से पहले छोटी चीज़ों के साथ शुरू करें, पाठ और ब्रेक दिखाना।
13
अंतिम कार्य स्रोत कोड का बैकअप लें। यदि आप एक भयानक गलती करते हैं या यदि आपके द्वारा सिस्टम विकसित करने वाला कंप्यूटर विफल हो जाता है, तो हमेशा एक बैकअप रखने का अच्छा विचार है
14
वर्चुअल मशीन के साथ अपने नए ऑपरेटिंग सिस्टम का परीक्षण करें इसके बजाय लगातार अपने कंप्यूटर हर बार जब आप एक परिवर्तन करना या अपने परीक्षण कंप्यूटर के लिए अपने विकास के कंप्यूटर से फाइलों को स्थानांतरित करना चाहते हैं रिबूट, आप अपने कंप्यूटर को सीधे अपने ऑपरेटिंग सिस्टम को चलाने के लिए एक आभासी मशीन का उपयोग कर सकते हैं। आभासी मशीनों के कुछ उदाहरण: VMWare (जो मुक्त सर्वर प्रदान करता है), खुला स्रोत विकल्प Bochs, माइक्रोसॉफ्ट वर्चुअल पीसी (लिनक्स के साथ संगत नहीं), और XVM VirtualBox। मुझे पढ़ें "टिप्स" अधिक जानकारी के लिए
15
एक रिलीज "परीक्षण संस्करण"। यह उपयोगकर्ताओं को आपको आपके ऑपरेटिंग सिस्टम की समस्याओं को बताने की अनुमति देगा।
16
याद रखें, किसी भी उपयोगकर्ता के लिए एक ऑपरेटिंग सिस्टम का उपयोग करना आसान होना चाहिए।
टिप्स
- शुरू न करें कार्यक्रम के बारे में जानने के लिए एक ऑपरेटिंग सिस्टम आप पहले से ही नहीं है सी, सी ++, पास्कल, या पूर्णता के लिए एक और प्रोग्रामिंग भाषा, सूचक के हेरफेर सहित पता है, निम्न स्तर के बिट से निपटने के लिए, स्थानांतरण बिट, विधानसभा, आदि, आप एक ऑपरेटिंग सिस्टम बनाने के लिए तैयार नहीं हैं।
- आप चीजों को आसान बनाने में इस तरह के लिनक्स फेडोरा Revisor, कस्टम फुर्तीला एक्स पिल्ला Remaster, PCLinuxOS mklivecd, या SUSE स्टूडियो और SUSE किवी के रूप में मॉडल के उपयोग के लिए कि क्या आकलन करने के लिए चाहते हैं। ऑपरेटिंग सिस्टम, हालांकि, कंपनी द्वारा स्वामित्व की जाएगी जो सेवा की पेशकश (भले ही आपको इसे वितरित करने, इसे संशोधित करने और इसे जीपीएल के तहत चलाने का अधिकार है)।
- विकास पूरा करने के बाद, तय करें कि आपका सिस्टम ओपन सोर्स होगा या आपके स्वामित्व पर होगा।
- OSDev और OSDever जैसी वेबसाइटों का उपयोग करके आपको विकसित करने में सहायता करें ध्यान दें कि अधिकांश भाग के लिए, OSDev.org समुदाय यह पसंद करेंगे कि आप अपने विकी का उपयोग करने के लिए खुद को सीमित करें, और मंचों पर सवाल न पूछें। यदि आप फ़ोरम में शामिल होने का निर्णय लेते हैं, तो किसी और चीज की आवश्यकता है: आपको सी या सी ++ और विधानसभा x86 को जानना होगा। आपको प्रोग्रामिंग के सामान्य और जटिल अवधारणाओं को भी समझना होगा, जैसे लिंक्ड सूचियां, कोड आदि। OSDev समुदाय, अपने विनियमन में, स्पष्ट रूप से बताता है कि यह अनुभवहीन प्रोग्रामर के लिए एक बच्चा बैठनेवाला नहीं होगा। यदि आप अपना स्वयं का ऑपरेटिंग सिस्टम बनाने का प्रयास कर रहे हैं, तो आपको एक वास्तविक प्रोग्रामिंग विशेषज्ञ होना चाहिए। प्रोसेसर आर्किटेक्चर के बारे में जानने के लिए आपको प्रोसेसर मैनुअल भी पढ़ने की आवश्यकता होगी जो आपका सिस्टम होस्ट करेगा, जैसे x86 (इंटेल), एआरएम, एमआईपीएस, पीपीसी आदि। आप आसानी से Google पर उन्हें ढूंढ सकते हैं रजिस्टर न करें तुच्छ सवालों के पूछने के लिए OSDev.org के मंचों पर। आपको कठोर जवाब मिलेंगे और कोई आपकी सहायता करेगा नहीं।
- इसके लिए एक नया विभाजन बनाने का एक अच्छा विचार हो सकता है विकसित करना ऑपरेटिंग सिस्टम
- समस्याओं और त्रुटियों की पहचान करने का प्रयास करें
- अधिक जानकारी के लिए, इन स्रोतों पर जाएं
- नियमावली: लिनक्स स्क्रैच से
- बूटलोडर: GRUB
- आभासी मशीन: Bochs, वीएम वेयर, एक्सएम वर्चुअल बॉक्स.
- प्रोसेसर मैनुअल: इंटेल से मैनुअल
- ऑपरेटिंग सिस्टम के विकास पर साइटें: OSDev, OSDever
चेतावनी
- आप दो सप्ताह में एक पूर्ण और कार्यप्रणाली प्रणाली नहीं बना पाएंगे। एक प्रणाली बनाने का प्रयास करें जो पहले शुरू होता है, फिर अधिक उन्नत पहलुओं पर आगे बढ़ता है
- यदि आप बेवकूफ कुछ कर रहे हैं, यादृच्छिक I O बंदरगाहों पर यादृच्छिक बाइट लिखने की तरह, आप अपने ऑपरेटिंग सिस्टम को क्रैश करेंगे, और आप (सिद्धांत में) अपने हार्डवेयर को नष्ट कर सकते हैं एक प्रदर्शन के लिए, लिनक्स पर रूट के रूप में `cat / dev / port` चलाएं। आपका कंप्यूटर दुर्घटना होगा.
- यदि आप अपने ऑपरेटिंग सिस्टम का उपयोग करना चाहते हैं तो सुरक्षा उपायों को लागू करना सुनिश्चित करें
- एक बुरी तरह से लिखा ऑपरेटिंग सिस्टम चलाना आपके हार्ड ड्राइव को पूरी तरह से भ्रष्ट कर सकता है। ध्यान दें
- विश्वास न करें कि एक ऑपरेटिंग सिस्टम प्रोग्रामिंग आसान है। अक्सर जटिल अंतर-निर्भरताएं होती हैं। उदाहरण के लिए, एक ऑपरेटिंग सिस्टम बनाने के लिए जो कई प्रोसेसर को संभाल सकता है, आपके मेमोरी प्रबंधन प्रोग्राम की आवश्यकता होगी खंड एक प्रोसेसर द्वारा उपयोग किए गए संसाधन ताकि वे एक ही समय में दो प्रोसेसर तक नहीं पहुंच सकें। इन को बनाने के लिए ब्लॉक आपको प्रोसेसर गतिविधि को प्रबंधित करने के लिए एक शेड्यूलर की आवश्यकता होगी। बदले में अनुसूचक स्मृति प्रबंधन कार्यक्रम की उपस्थिति पर निर्भर करता है। यह लत का मामला है इस तरह की समस्याओं को सुलझाने के लिए कोई मानक प्रक्रिया नहीं है - हर ऑपरेटिंग सिस्टम प्रोग्रामर को इस प्रकार की समस्या का व्यक्तिगत समाधान ढूंढने में सक्षम होना चाहिए।
आप की आवश्यकता होगी चीजें
- एक अच्छा कंप्यूटर
- आर्किटेक्चर के लिए एक सीपीयू आप विकसित करेंगे।
- वर्चुअल मशीन को चलाने के लिए पर्याप्त रैम
- आपके नए ऑपरेटिंग सिस्टम के पहले चरण के विकास के लिए एक `होस्ट` ऑपरेटिंग सिस्टम
- विभिन्न सिंटैक्स के लिए रंगों वाला एक कोड संपादक।
- एक कंपाइलर
- एक फ्लॉपी डिस्क ड्राइव (वैकल्पिक)
सामाजिक नेटवर्क पर साझा करें:
संबद्ध
- कैसे ओएस एक्स माउंटेन शेर को अपडेट करने के लिए
- एक एचटीसी एंड्रॉइड फोन कैसे अपडेट करें
- कैसे खोलें Regedit
- सीडी से विंडोज़ लैपटॉप कैसे शुरू करें
- कैसे एक बाहरी हार्ड ड्राइव से एक कंप्यूटर शुरू करने के लिए
- लिनक्स में अपना उपयोगकर्ता प्रोफाइल का पासवर्ड कैसे बदला जाए
- कैसे उबंटू को स्थायी रूप से हटाएं
- मैक ओएस एक्स शेर फाइंडर में टाइप करके फाइल्स कैसे खोजें
- पीसी के ऑपरेटिंग सिस्टम की जांच कैसे करें
- सिस्टम सूचना की जांच कैसे करें
- विंडोज 7 में सिस्टम रजिस्ट्री में त्रुटियों को ठीक कैसे करें
- कैसे एक Ntfs फाइल सिस्टम त्रुटि को ठीक करने के लिए
- एक यूएसबी फ्लैश ड्राइव से विंडोज कैसे स्थापित करें
- उसी कंप्यूटर पर दो ऑपरेटिंग सिस्टम कैसे स्थापित करें I
- Ubuntu 12.04 कैसे स्थापित करें
- विंडोज 8 के साथ एक सिस्टम पर विंडोज 7 कैसे स्थापित करें
- नए कंप्यूटर पर एक ऑपरेटिंग सिस्टम कैसे स्थापित करें
- एप्पल बूटकैम्प और समानताएं के बीच कैसे चुनें
- डेल इंस्पेरॉन 15 कैसे बंद करें
- एक यूएसबी फ्लैश ड्राइव से एक ऑपरेटिंग सिस्टम का उपयोग कैसे करें
- हार्ड ड्राइव के रूप में यूएसबी फ्लैश ड्राइव का उपयोग कैसे करें