ऑपरेटिंग सिस्टम के विकास में आरंभ करने के लिए कुछ संसाधन क्या हैं? [बन्द है]


589

एक चीज जो मैं हमेशा से करना चाहता हूं वह है मेरा अपना ऑपरेटिंग सिस्टम विकसित करना (जरूरी नहीं कि लिनक्स या विंडोज जैसे फैंसी हों, लेकिन एक साधारण बूट लोडर से बेहतर है जो मैंने पहले ही किया है)।

मैं एक कठिन समय पा रहा हूँ संसाधन / मार्गदर्शिकाएँ जो आपको एक सरल "हैलो वर्ल्ड" ओएस लिखने में ले जाती हैं।

मुझे पता है कि बहुत से लोग शायद लिनक्स या बीएसडी को देखने की सलाह देंगे; लेकिन उस तरह के सिस्टम के लिए कोड आधार (संभवतः) इतना बड़ा है कि मुझे नहीं पता होगा कि कहां से शुरू करना है।

कोई सुझाव?

अपडेट: Google के माध्यम से इस पोस्ट पर आने वाले लोगों के लिए इसे आसान बनाने के लिए कुछ OS डेवलपमेंट संसाधन हैं:

अन्य संसाधन:

मुझे माइकोस नाम का एक अच्छा संसाधन मिला , "माइकोस यह प्रदर्शित करने के लिए एक सरल टूल है कि ओएस कैसे काम करता है। यह BIOS एक्सेस के लिए 16-बिट वास्तविक मोड का उपयोग करता है, ताकि इसे जटिल ड्राइवरों की आवश्यकता न हो"

अपडेट किया गया 11/14/08

मुझे फ्रीबाइट्स गाइड टू ... फ्री और नॉन-फ़्री ऑपरेटिंग सिस्टम्स में कुछ संसाधन मिले जो कि किट जैसे OSKit और ExOS लाइब्रेरी से जुड़े थे। ये OS के विकास में शुरू होने में सुपर उपयोगी लगते हैं।

अपडेट किया गया 2/23/09

रिक टोक्यो ने इस सवाल में नैनो की सिफारिश की । Nanoos C ++ में लिखा गया एक OS है।

3/9/09 अपडेट किया गया

दीना ने ओएस डेवलपर्स की आकांक्षा के लिए कुछ उपयोगी स्टैक ओवरफ्लो चर्चा प्रदान की: एक कस्टम ऑपरेटिंग सिस्टम बनाने में रोडब्लॉक चर्चा करता है कि ओएस और ओएस डेवलपमेंट को विकसित करते समय आपको क्या नुकसान हो सकते हैं ।

अपडेट किया गया 7/9/09

एलबी ने पिंटोस प्रोजेक्ट के लिए एक लिंक प्रदान किया , एक ओएस जिसे ओएस विकास सीखने वाले छात्रों के लिए डिज़ाइन किया गया है।

अपडेट किया गया 7/27/09 (अभी भी मजबूत हो रहा है!)

मैं 23 व्याख्यान की विशेषता वाले बर्कले से एक ऑनलाइन ओएस पाठ्यक्रम पर ठोकर खाई ।

TOMOS का एक कांटा है MikeOS कि एक छोटे स्मृति प्रबंधक और माउस समर्थन शामिल है। माइकोस के रूप में, इसे एक शैक्षिक परियोजना के रूप में तैयार किया गया है। इसे NASM असेम्बलर में लिखा गया है।

अपडेट किया गया 8/4/09

मुझे ऊपर सूचीबद्ध बर्कले व्याख्यान के साथ जाने के लिए स्लाइड और अन्य सामग्री मिली ।

अपडेट किया गया 8/23/09

सभी प्रश्नों में ऑसदेव को स्टैकओवरफ्लो पर टैग किया गया

OS / 161 एक अकादमिक OS है जो c में लिखा गया है जो एक नकली हार्डवेयर पर चलता है। यह ओएस नाचोस में समान है। धन्यवाद Novelocrat!

Tangurena http://en.wikipedia.org/wiki/MicroC/OS-II , एक OS एम्बेडेड सिस्टम के लिए डिज़ाइन करने की सलाह देता है। साथ में एक साथी पुस्तक भी है।

रॉबर्ट प्यार द्वारा लिनक्स कर्नेल विकास एंडर्स द्वारा सुझाया गया है। यह लिनक्स कर्नेल पर एक "व्यापक रूप से प्रशंसित अंदरूनी सूत्र का रूप है।"

अपडेट किया गया 9/18/2009

धन्यवाद टिम एस। वन हरेन ने हमें कॉस्मॉस के बारे में बताने के लिए , एक OS जिसे पूरी तरह से c # लिखा गया है।

tgiphil हमें प्रबंधित ऑपरेटिंग सिस्टम एलायंस (MOSA) फ्रेमवर्क के बारे में बताता है , "सामान्य मध्यवर्ती भाषा के आधार पर प्रबंधित ऑपरेटिंग सिस्टम के विकास को बढ़ावा देने के लिए उपकरण, विनिर्देशों और स्रोत कोड का एक सेट।"

अपडेट 9/24/2009

स्टीव ने विजुअल स्टूडियो का उपयोग करते हुए खिड़कियों पर विकास के लिए कुछ संसाधन पाए, वीएस 2005 या ओएसडीवी के वीएस सेक्शन के साथ ब्रोकनहॉर्न के गाइड सेटअप की जांच करें ।

नवीनीकृत 9/5/2012

kerneltrap.org अब उपलब्ध नहीं है। लिनक्स कर्नेल v0.01 kernel.org से उपलब्ध है

अपडेट किया गया 12/21/2012 एक सेमेस्टर प्रोजेक्ट के लिए डिज़ाइन किया गया एक बेसिक ओएस डेवलपमेंट ट्यूटोरियल । यह आपको मूल घटकों के साथ एक ओएस बनाने के लिए मार्गदर्शन करता है। शुरुआती लोगों के लिए बहुत अच्छी शुरुआत। संबंधित कागज । धन्यवाद सुरजन!

अपडेट किया गया 11/15/2013

स्क्रैच से एक सरल ऑपरेटिंग सिस्टम लिखना । धन्यवाद जेम्स मूर!

अपडेट किया गया 12/8/2013

कंप्यूटर ऑपरेटिंग सिस्टम कैसे बनाये धन्यवाद ddtoni!

अपडेट किया गया 3/18/2014

ToAruOS एक OS जिसमें ज्यादातर GUI सहित स्क्रैच से बनाया गया है

अपडेटेड सेप्ट 12 2016

अपना खुद का खिलौना ऑपरेटिंग सिस्टम लिखना

अपडेट किया गया 10 दिसंबर 2016

एक साधारण ऑपरेटिंग सिस्टम लिखना - स्क्रैच (साभार @ टायलर सी)


5
मत भूलना forums.osdever.net
Brenden

15
इस प्रकार के अच्छे सामान्य उद्देश्य प्रश्न हमेशा SO पर बंद क्यों होते हैं?
प्रतिक सिंघल

30
इस सवाल में 370 अपवोट्स हैं, 422 बार अपवोट किया गया है और स्टैकऑवरफ्लो पहली बार लॉन्च होने के बाद से आसपास है। ऐसा लगता है कि समुदाय ने इसे पसंद किया है, लेकिन किसी कारण से मुट्ठी भर लोगों को इसे हर किसी के लिए बर्बाद करना पड़ता है। यही कारण है कि मैं वास्तव में SO
Giovanni Galbo

1
Unikernels के साथ एक बहुत ही दिलचस्प प्रवृत्ति है (बस एक काम करें और इसे अच्छी तरह से करें) जहां ये प्रयास बहुत प्रासंगिक हैं। आप आमतौर पर एक वर्चुअल मशीन में एक अनिकर्ब को कोल्ड बूट कर सकते हैं और उपयोगकर्ता कोड एक सेकंड से भी कम समय में चल सकता है। मैंने एक समाधान देखा है जहां ऐसी सेवा के लिए बस डीएनएस लुकअप होता है, डीएनएस सर्वर को "बूट वर्चुअल मशीन" ट्रिगर करता है, इसलिए यह तब तैयार होता है जब सेवा के लिए वास्तविक अनुरोध आता है।
थोरबजर्न रावन एंडरसन सेप

4
मैंने इसके साथ शुरू किया, cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
टायलर C

जवाबों:


95

X86 प्लेटफ़ॉर्म के लिए OS लिखने में जो शामिल है उसके इस संक्षिप्त अवलोकन के बाद बहुत सारे लिंक हैं ।

जो लिंक सबसे अधिक आशाजनक प्रतीत होता है (www.nondot.org/sabre/os/articles) अब उपलब्ध नहीं है, इसलिए आपको इसे पढ़ने के लिए Archive.org संस्करण के माध्यम से प्रहार करना होगा।

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

कर्नेल तब सभी भारी उठाने करता है, और मुझे संदेह है कि यह उदाहरण कर्नेल है जो आप चाहते हैं। लेकिन एक कर्नेल होने के बीच एक लंबा रास्ता तय करना है जो कहता है, "हैलो वर्ल्ड" एक कर्नेल होने के लिए जो कमांड इंटरप्रेटर लोड करता है, डिस्क सेवाएं प्रदान करता है, और प्रोग्राम लोड करता है और प्रबंधित करता है।

आप ACM की सदस्यता लेने पर विचार कर सकते हैं ताकि उनके पुराने साहित्य तक पहुँच प्राप्त की जा सके - 80 के दशक के उत्तरार्ध में बहुत सारे लेख हैं और 90 के दशक के शुरुआती कंप्यूटिंग पत्रिकाओं में वैकल्पिक ओएस बनाने के बारे में बताया गया है । ऐसी किताबें हैं जो इस युग से भी प्रिंट आउट हैं। आप उन पत्रिकाओं की अनुक्रमणिका (जो उस साइट पर उपलब्ध हैं - पत्रिका के नाम के पास "सूचकांक" पर क्लिक करके) और फिर प्रतिलिपि के साथ लोगों के लिए आसपास की जानकारी प्राप्त कर सकते हैं।

अंत में, मुझे पता है कि usenet मर चुका है (इसलिए इंटरनेट कयामत के भविष्यवक्ताओं के लिए) लेकिन आप पाएंगे कि उस युग के कई पुराने पुराने विशेषज्ञ अभी भी वहां रहते हैं। आपको Google समूह खोजना चाहिए (उनके पास डीजन्यूज़ की पुरानी रिपॉजिटरी है) और मुझे उम्मीद है कि आप कई लोगों को एक या डेढ़ दशक पहले वही सवाल पूछेंगे जो आप अब पूछ रहे हैं। तुम भी लाइनस Torvalds 'मदद के लिए कई प्रश्नों के माध्यम से चला सकते हैं क्योंकि वह मूल रूप से लिनक्स विकसित कर रहा था। यदि खोज कुछ भी नहीं लाती है, तो उचित समाचार समूह में पूछें (संभवतः comp.arch से शुरू होता है, लेकिन नाम में ओएस वाले लोगों के लिए खोज करें)।


अरे साहब, ऑपरेटिंग सिस्टम विकसित करने के लिए COSMOS अच्छा उपकरण है?
विकास वर्मा

@VikasVerma मैंने इसका उपयोग नहीं किया है, इसलिए मुझे नहीं पता।
एडम डेविस

@AdamDavis पहला लिंक टूटा हुआ है (और अन्य को भी लगता है)। कृपया, उन्हें ठीक करें!
21

35

मिनिक्स बहुत छोटा है, और सीखने के उद्देश्यों के लिए डिज़ाइन किया गया है, और इसके साथ जाने के लिए पुस्तक भी एक अच्छी है।

अद्यतन: मुझे लगता है कि Minix 3 एक अलग लक्ष्य है, लेकिन Minix 2 (और निश्चित रूप से पहला संस्करण) शिक्षण उद्देश्यों के लिए था।


मुझे लेटेस्ट टैनबैनम बुक मिल गई है लेकिन मिनिक्स 3 सोर्स कोड बहुत बड़ा लग रहा है! मेरे पास ओपी के समान लक्ष्य है, जबकि मैं खरोंच से एक कर्नेल नहीं बनाना चाहता हूं मैं वास्तव में समझना चाहता हूं कि कर्नेल कैसे काम करता है और यह क्या करता है। Tanenbaum book and minix3Minix3 में परिवर्तन करने के लिए पर्याप्त रूप से अनुसरण करने से क्या मुझे अंततः लिनक्स कर्नेल में योगदान करने में मदद मिलेगी?
गिदोन

32

के रूप में कोई है जो खरोंच से एक वास्तविक समय बहु काम ऑपरेटिंग सिस्टम लिखा है ...

कीबोर्ड डिसाइड रूटीन, कीबोर्ड ड्राइवर, डिस्क ड्राइवर, वीडियो ड्राइवर, फाइल सिस्टम, और अंत में एक बूट-लोडर - और यह सिर्फ पहली बार लॉन्च करने के लिए कुछ भी नहीं करने के लिए है!

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

याद रखें कि हार्डवेयर यह सब संभव बनाता है। हार्डवेयर का अध्ययन करें। आप इसे पछतावा नहीं करेंगे।


18

एक माइक्रोकंट्रोलर ओएस लिखें। मैं एक x86 आधारित माइक्रोकंट्रोलर की सलाह देता हूं। एक आधुनिक ओएस बस विशाल है । मूल बातें पहले जानें।


2
किसी भी विचार जहां यह एक के साथ शुरू करने के लिए? मुझे बहुत दिलचस्पी है? क्या किट खरीदने के लिए .. आप आदि को शुरू करने के लिए पुस्तकें
जूलियो

@Uncle: मैंने आज तक एक शीर्ष-स्तरीय एम्बेडेड सिस्टम बुक का सामना नहीं किया है। या तो वे बहुत उच्च-स्तर के हैं और एक ओएस मानते हैं, या वे एक इलेक्ट्रिकल इंजीनियर के लिए तैयार हैं और कोड को अनदेखा करते हैं। किट के लिए, एक Google " bifferos.bizhat.com " पाता है । वहाँ भी एआरएम किट हैं। मैं हार्वर्ड आर्किटेक्चर की तरह नहीं व्यक्तिगत रूप से करते हैं, तो मैं arduino में रुचि नहीं कर रहा हूँ, लेकिन यह है सबसे लोकप्रिय। अधिक विदेशी काम के लिए, XC-1A भी अच्छा है।
पॉल नाथन

@Paul की सराहना करेंगे यदि आप अपने जवाब पर विस्तार कर सकते हैं। मैंने AVR और Arduino में देखा , लेकिन हाल ही में .NET माइक्रो देखा। मैं बहुत अधिक अमूर्त LOB आदमी हूं, लेकिन मैं स्टैक नीचे चलना शुरू करना चाहता हूं। आप कहां से शुरू करने की सलाह देते हैं?
गिदोन

@ गड्डी: AVRs वर्तमान सनक हैं। वे छोटे और सस्ते हैं, लेकिन मुझे वास्तव में वास्तुकला पसंद नहीं है। मैं एक एआरएम देव किट (प्रति लागत ~ 100) प्राप्त करने की सलाह दूंगा। वे वाणिज्यिक अनुप्रयोगों में लोकप्रिय हैं।
पॉल नाथन

@ पाओल धन्यवाद! एआरएम के बारे में ज्यादा नहीं सुना। .Net माइक्रो के बारे में क्या? मैं कुछ जलाने के बारे में थोड़ा चिंतित हूं। अधिकांश किट सही तरह के निर्देशों के साथ आएंगे? एक बार फिर धन्यवाद।
गिदोन

16

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

इसके अलावा BoneFide में कुछ महान ट्यूटोरियल हैं , मैंने ब्रान द्वारा शुरू किए गए ट्यूटोरियल का उपयोग किया है , और अब मैं अपने खुद के खिलौने UNIX- क्लोन ओएस नामक अपने रोल के आधार पर एक और हाल ही में देख रहा हूं ।

मैं दूसरी जाँच कर रहा हूँ: "ऑपरेटिंग सिस्टम: डिज़ाइन और कार्यान्वयन"

और अगर आप विंडोज पर विकसित करना चाहते हैं, तो जॉल्सन के ब्लॉग पोस्ट को देखें

संपादित करें: विज़ुअल स्टूडियो का उपयोग करते हुए विंडोज़ पर विकास के लिए, ब्रोकनहॉर्न के मार्गदर्शिका या ओएसडीव की विकि की जाँच करें ।


1
संबंधित: SO के x86 टैग विकी के इंटेल / एएमडी मैनुअल के लिंक हैं, और बहुत सारे अच्छे सामान हैं।
पीटर कॉर्डेस

15

एक उत्कृष्ट संसाधन एमआईटी पाठ्यक्रम 6.828 की सामग्री है: ऑपरेटिंग सिस्टम इंजीनियरिंग।

XV6 - x86 http://pdos.csail.mit.edu/6.828/2012/xv6.html के लिए ANSI C में लिखा गया सरल यूनिक्स जैसा शिक्षण OS

XV6 स्रोत - लाइन नंबर http://pdos.csail.mit.edu/6.828/2012/xv6/xv6-rev7.pdf के साथ एक मुद्रित पुस्तिका के रूप में

XV6 पुस्तक - ओएस डिजाइन के मुख्य विचारों की व्याख्या करती है http://pdos.csail.mit.edu/6.828/2012/xv6/book-rev7.pdf

सामग्री कॉम्पैक्ट है: 92 पृष्ठों का स्रोत और 96 पृष्ठों की टिप्पणी।

मुझे यह मिनिक्स बुक से ज्यादा पसंद है! यह एक सच्चा रत्न है!


11

आप भी SharpOS पर एक नज़र रखना चाहते हैं जो एक ऑपरेटिंग सिस्टम है जिसे वे c # में लिख रहे हैं।


9

पुस्तकों में ऑपरेटिंग सिस्टम की बुनियादी बातों के लिए अच्छे संसाधन हैं। चूंकि नए OS को बनाने के लिए बहुत ज्यादा कॉल नहीं है, इसलिए आपको इंटरनेट पर एक टन की हॉबीस्ट टाइप जानकारी नहीं मिलेगी।

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

यदि आपकी वास्तविक समय प्रणालियों में कोई दिलचस्पी है (और आपको कम से कम वास्तविक समय OS के अंतर और कारणों को समझना चाहिए) तो मैं Labrosse द्वारा "MicroC / OS-II" भी सुझाऊंगा।

संपादित करें:

क्या आप निर्दिष्ट कर सकते हैं कि "अधिक तकनीकी" से आपका क्या मतलब है? ये पुस्तकें छद्म कोड कार्यान्वयन विवरण देती हैं, लेकिन क्या आप किसी विशेष मशीन / भाषा के लिए एक उदाहरण OS, या कोड स्निपेट की तलाश कर रहे हैं?

-Adam


7

बस एक और सवाल आ रहा है। मैं पिंटोस का उल्लेख करना चाहूंगा ... मुझे नाचोस के साथ अपना ओएस कोर्स याद आया और पिंटोस उसी तरह का लगता है जो x86 पर चल सकता है।


7

मुझे रॉबर्ट लव का लिनक्स कर्नेल डेवलपमेंट काफी दिलचस्प लगा। यह आपको बताता है कि लिनक्स कर्नेल में अलग-अलग सबसिस्टम बहुत डाउन-टू-अर्थ तरीके से कैसे काम करते हैं। चूंकि स्रोत उपलब्ध है, किसी चीज़ को हैक करने के लिए लिनक्स एक प्रमुख उम्मीदवार है।



6

अंडरग्रेड में मेरे ऑपरेटिंग सिस्टम कोर्स ने हमें ओएस / 161 के लिए कई उप-प्रणालियों का निर्माण किया था , एक सरल, बीएसडी-जैसे कर्नेल जो उच्च-स्तरीय सेवाओं को लागू करने में विभिन्न डिजाइन अंतरिक्ष निर्णयों का पता लगाने के लिए स्वतंत्रता छोड़ते समय कुछ मूल बातें प्रदान करता है।


6

Minix पर हैकिंग शुरू करें। यह लिनक्स (जाहिर है) की तुलना में बहुत छोटा है और इसे शिक्षण उद्देश्यों (कुछ, कम से कम) को ध्यान में रखकर बनाया गया है। हालांकि मिनिक्स 3 नहीं, यह पूरी तरह से अलग कहानी है।


5

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

http://kerneltrap.org/node/14002 http://kerneltrap.org/files/linux-0.01.tar.bb2


4

आप linuxfromscratch को देखना चाह सकते हैं ।

लिनक्स फ्रैच से स्क्रैच (एलएफएस) एक ऐसी परियोजना है जो आपको पूरी तरह से स्रोत कोड के साथ अपने स्वयं के कस्टम लिनक्स सिस्टम के निर्माण के लिए चरण-दर-चरण निर्देश प्रदान करती है।


32
ऑपरेटिंग सिस्टम को संकलित करना एक लिखने से बहुत दूर है।
डस्कवफ-एक्टिव-

7
@duskwuff आप सही हैं लेकिन आप इससे बहुत कुछ सीखेंगे। तब आप आगे बढ़ सकते हैं और अपना लिख ​​सकते हैं।
jfs

4

एक सरल और बुनियादी ओएस विकास ट्यूटोरियल जिसे एक सेमेस्टर की परियोजना के लिए डिज़ाइन किया गया है। यह आपको मूल घटकों के साथ एक ओएस बनाने के लिए मार्गदर्शन करता है। शुरुआती लोगों के लिए बहुत अच्छी शुरुआत। संबंधित कागज यहाँ है


महान संसाधन। पेपर में नाचोस (कोड की 2500 लाइनें), ओएस / 161 (11000), MINIX (30000), GeekOS को संदर्भित किया गया है। प्रत्येक विश्वविद्यालय के आधिकारिक पृष्ठ पर जाएं और आपको स्रोत कोड, सिम्युलेटर और उपकरण और साथ ही प्रति वर्ष असाइनमेंट मिलेंगे।
सीमा पारा

4

मैं इस रेमी-टू-मेक-ए-मेक-ए-कंप्यूटर-ऑपरेटिंग-सिस्टम को सैमी पेस द्वारा शामिल करना चाहूंगा । एक कार्य-प्रगति है। बहुत ही रोचक।


धन्यवाद, मुझे इस सूची में जोड़ने का मतलब था जब मैं रेडिट पर उसमें भाग गया, लेकिन पूरी तरह से भूल गया।
जियोवानी गैल्बो


3

Www.mosa-project.org पर प्रबंधित ऑपरेटिंग सिस्टम एलायंस ( MOSA ) प्रोजेक्ट देखें । वे AOT / JIT कंपाइलर डिज़ाइन कर रहे हैं और C # में पूरी तरह से प्रबंधित ऑपरेटिंग सिस्टम। कुछ डेवलपर्स निष्क्रिय शार्प प्रोजेक्ट से हैं।


3

मैंने कॉसमॉस के साथ खिलवाड़ किया है , जो "एक ऑपरेटिंग सिस्टम प्रोजेक्ट है जो पूरी तरह से CIL के अनुरूप भाषाओं में लागू किया गया है।" यह C # में लिखा गया है, इसलिए यह मेरी गली तक सही था। अपने जैसे किसी व्यक्ति के लिए जिसने कभी भी एक ऑपरेटिंग सिस्टम बनाने का प्रयास नहीं किया है, यह वास्तव में कुछ समय में चलने वाली "हैलो वर्ल्ड" ऑपरेटिंग सिस्टम पाने में सक्षम होने के लिए बहुत अच्छा था।



3

जैसा कि ऊपर उल्लेख किया गया है, ओएसडीवी विकी ओएस विकास के लिए सबसे अच्छा स्रोत है (अब तक)। आपमें से जो जर्मन बोलते हैं, उनके लिए lowlevel.eu Wiki भी बढ़िया है। कुछ अपेक्षाकृत अनजान इनटिटस ओएस , एक सरल कर्नेल जिसमें यूजर्स एप्स का एक छोटा सा सेट है। ओएस विकास के जटिल विषय में उपयोग करने के लिए यह बहुत अच्छा है।


2

Movitz आम लिस्प में लिखा और "धातु पर" चल रहा एक लिस्प वातावरण है। दुर्भाग्य से, Movitz मुख्य पृष्ठ पर कुछ लिंक पहुंच से इनकार करते हैं, लेकिन आप स्रोत से स्रोत कोड को डाउनलोड करने और संकलित करने के तरीके के बारे में निर्देश पा सकते हैं। ट्रैक पृष्ठ । साथ ही, इस पृष्ठ के संग्रह पर एक तैयार छवि पाई जा सकती है ।

IMHO यह बेहद दिलचस्प है, क्योंकि यह वापस लाता है वर्तमान में उपलब्ध हार्डवेयर पर लिस्प मशीन अवधारणा को । यह व्यावसायिक रूप से विफल रहा, लेकिन इससे मुझे यह साबित नहीं हुआ कि यह विचार बुरा था।

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


2

यहाँ " स्क्रैच से एक सरल ऑपरेटिंग सिस्टम लिखना " नामक एक पेपर है । इसमें एक बूटलोडर लिखना, x86-32 संरक्षित मोड में प्रवेश करना और सी में एक बुनियादी कर्नेल लिखना शामिल है। यह सब कुछ विस्तार से समझाने पर एक अच्छा काम करता है।


मैंने इस पुस्तक का अनुसरण किया और इसके कोड के आधार पर विकसित किया। इस तरह की किताब से शुरुआत करना बहुत बढ़िया है।
user3405291


1

प्रोग्रामर के लिए Intresting प्रश्न। देखें कि विंडोज या मैक जैसे ओएस के निर्माण में लंबा लंबा समय लगेगा लेकिन अगर आप एक साधारण निर्माण करना चाहते हैं तो आप अपना सर्वश्रेष्ठ प्रयास कर सकते हैं

  1. आपको असेंबली लैंग्वेज, C और C ++ पर ध्यान देने की जरूरत है। आपको इन भाषाओं में निपुण होना चाहिए।
  2. पहले एक अच्छी किताब पढ़ें कि OS कैसे काम करता है [Google it], फिर विकी OS की सारी जानकारी पढ़ें
  3. यूट्यूब में खोजें "असेंबली भाषा में अपना ओएस कैसे बनाएं" वीडियो देखें, जैसे। वीडियो
  4. Linux OS स्रोत कोड डाउनलोड करें और इसे स्वयं संकलित करें और कोड को स्वयं संशोधित करने का प्रयास करें
  5. अब आप एक अनुभवी ओएस संपादक हैं, अब मिनिक्स और क्यूएनएक्स डाउनलोड करें और उनके साथ विकास शुरू करें और यहां से अपने डॉक्स प्राप्त करें मिनिक्स डॉक्टर और क्यूएनएक्स डॉक्टर

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


संपादकों कृपया मेरे उत्तर को संपादित करें और स्पेस बिटवेर्न http: और www को हटा दें, क्योंकि मैं एक नया कामरेड हूं, इसलिए मेरे पास इतना उच्च
रिपु

1

जब आपने एक मूल ऑपरेटिंग सिस्टम बनाया है तो इसे जारी रखना वास्तव में कठिन है क्योंकि GUI बनाने या पुस्तकालयों को पोर्ट करने पर कई पुनरीक्षण नहीं हैं। लेकिन मुझे लगता है कि ToAruOS पर एक नज़र डालने से बहुत मदद मिलेगी!

उस OS की सतह के नीचे का कोड इतना सरल है! लेकिन एक ही समय में उन्होंने कैरो, अजगर, (अभी तक नहीं बल्कि जल्द ही) एसडीएल जैसी चीजों को चित्रित किया है, शेयर मेमोरी बनाई है और उन्होंने अपना विजेट टूलकिट भी बनाया है। यह सब C में लिखा है।

एक और दिलचस्प ओएस वंशावली होगा । यह जेम्सएम ( jamesM के कर्नेल ट्यूटोरियल के पीछे का आदमी) द्वारा बनाया गया है । जबकि इसमें ToaruOS की तुलना में अधिक विशेषताएं हैं यह बड़ा और अधिक भ्रमित करने वाला है।

लेकिन वैसे भी ये 2 OS आपको विशेष रूप से ToAruOS में बहुत मदद करेंगे।


1

जब मैंने अपने मूल ऑपरेटिंग सिस्टम पर काम करना शुरू किया तो मुझे एक बुनियादी ऑपरेटिंग सिस्टम के लिए स्टेपिंग स्टोन्स जैसे एक बुनियादी गाइड की आवश्यकता थी । इसने मुझे अपना सिर ढीला करने में मदद की।

यदि आप इसे पूरी तरह से कुछ भी नहीं बनाना चाहते (शुद्ध विधानसभा कोड)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.