MacOS का इतिहास थोड़ा अधिक दृढ़ है। मुझे 90 के दशक के उत्तरार्ध में बहुत दिलचस्पी थी क्योंकि मक्स को यूनिक्स प्रणाली के निर्माण के एक तेज तरीके के रूप में दुनिया भर में पिच किया गया था।
कर्नेल की उत्पत्ति थोड़ी अधिक जटिल है।
यह सब एटी एंड टी के साथ शुरू होता है जो कुछ विश्वविद्यालयों में अपने ऑपरेटिंग सिस्टम को मुफ्त में वितरित करता है। यह यूनिक्स बर्कले में बड़े पैमाने पर सुधार किया गया था और यूनिक्स के बीएसडी विविधताओं के लिए नींव बन गया और "फास्ट फाइल सिस्टम" (यूएफएस) जैसे कई नए नवाचारों को शामिल किया, सीमलिंक और सॉकेट्स एपीआई की शुरुआत की। एटी एंड टी ने अपने तरीके से काम किया और उसी समय सिस्टम वी का निर्माण किया।
इस बीच, अनुसंधान जारी रहा और कुछ लोगों ने नींव के रूप में बीएसडी से काम को अपनाया। सीएमयू में, बीएसडी कर्नेल को कुछ नए विचारों के प्रोटोटाइप के लिए नींव के रूप में इस्तेमाल किया गया था: थ्रेड्स, वर्चुअल मेमोरी सिस्टम को नियंत्रित करने के लिए एक एपीआई (प्लगलेबल "पेजर्स" के माध्यम से - उपयोगकर्ता स्तर एमएमएपी), एक कर्नेल-स्तरीय रिमोट कंट्रोल कॉल सिस्टम और सबसे अधिक महत्वपूर्ण रूप से उपयोगकर्ता अंतरिक्ष में कुछ कर्नेल स्तर के संचालन को स्थानांतरित करने का विचार है। यह मच कर्नेल बन गया।
मुझे 100% यकीन नहीं है कि अगर ममप मच से आया था, और बाद में बीएसडी द्वारा अपनाया गया था, या अगर मच ने केवल विचार का बीड़ा उठाया और बीएसडी ने मच के विचारों के आधार पर अपने स्वयं के चमांग को जोड़ा।
हालांकि मच कर्नेल को माइक्रो-कर्नेल के रूप में वर्णित किया गया था, लेकिन संस्करण 2.5 तक यह केवल एक प्रणाली थी जो थ्रेड, एमएमएपी, संदेश पास करने की सुविधा प्रदान करती थी लेकिन एक अखंड कर्नेल बनी रही, सभी सेवाएँ कर्नेल मोड पर चल रही थीं।
इस समय रिक रशीद (अब माइक्रोसॉफ्ट में) और एवी टेवियन (अब एप्पल में) एक उपन्यास विचार के साथ आए थे जो यूनिक्स को गति दे सकता है। यह विचार था कि यूजर स्पेस से कॉपी किए जाने वाले डेटा को "सर्वर" में फाइल सिस्टम को लागू करने के लिए एमएमएपी सिस्टम कॉल का उपयोग किया जाए। यह विचार अनिवार्य रूप से एक ही डेटा की प्रतियों को बनाने से बचने की कोशिश करने का एक रूपांतर था, लेकिन इसे माइक्रो कर्नेल के लाभ के रूप में पिच किया गया था, भले ही फीचर को माइक्रो कर्नेल से अलग किया जा सकता हो।
इस वीएम समर्थित तेजी से यूनिक्स प्रणाली के बेंचमार्क ने नेक्स्ट और एफएसएफ में माच को अपनी गुठली की नींव के रूप में चुनने के लिए लोगों को आकर्षित किया।
NeXT मच 2.5 कर्नेल के साथ गया (जो कि बीएसडी 4.2 या 4.3 पर आधारित था) और जीएनयू वास्तव में वर्षों तक काम पर शुरू नहीं होगा। यह वही है जो NeXTSTEP ऑपरेटिंग सिस्टम का उपयोग कर रहा था।
इस बीच, सीएमयू में, मच पर काम जारी रहा और उन्हें अंत में संस्करण 3.0 के साथ एक माइक्रो कर्नेल के शीर्ष पर चलने वाले कई सर्वर होने की दृष्टि का एहसास हुआ। मुझे जंगली 3.0 में मच को चलाने में सक्षम किसी के बारे में पता नहीं है क्योंकि सभी दिलचस्प उपयोगकर्ता-स्तरीय सर्वर एटी एंड टी कोड का इस्तेमाल करते थे, इसलिए उन्हें एनकम्बर माना जाता था, इसलिए यह एक शोध उत्पाद बना रहा।
इस समय के आसपास जोलिट्ज टीम ने 38+ आर्किटेक्चर के लिए 4.3+ बीएसडी का एक पोर्ट किया और ड्रोबोब पर अपने पोर्टिंग प्रयासों को प्रकाशित किया। 386BSD को सक्रिय रूप से बनाए नहीं रखा गया था और एक समूह 386BSD को बनाए रखने और आगे बढ़ने के लिए उभरा, NetBSD टीम। NetBSD समूह के भीतर आंतरिक झगड़े के कारण पहला विभाजन हुआ और इसमें से FreeBSD का गठन हुआ। नेटबीएसडी उस समय एक क्रॉस-प्लेटफॉर्म बीएसडी होने पर ध्यान केंद्रित करना चाहता था, और फ्रीबीएसडी एक यूनिक्स होने पर ध्यान केंद्रित करना चाहता था जो x86 प्लेटफार्मों पर बहुत अच्छा करता था। थोड़े समय बाद, नेटबीएसडी कुछ अन्य विवादों के कारण फिर से विभाजित हो गया और इससे ओपनबीएसडी का निर्माण हुआ।
X86 प्लेटफार्मों के लिए बीएसडी 4.3 का एक कांटा बीएसडी नामक कंपनी के साथ वाणिज्यिक हो गया, और मूल बर्कले टीम के विभिन्न सदस्यों ने वहां काम किया और विश्वविद्यालय में बीएसडी टीम के साथ अच्छे संबंध बनाए रखे।
AT & T का उपयोग नहीं किया गया और AT & T बनाम BSDi मुकदमा शुरू किया, जिसे बाद में विश्वविद्यालय पर मुकदमा चलाने के लिए विस्तारित किया गया। मुकदमा एटी एंड टी के स्वामित्व कोड का उपयोग करते हुए बीएसडी के बारे में था जिसे बर्कले द्वारा फिर से नहीं लिखा गया था। यह अप और आने वाले लिनक्स ऑपरेटिंग सिस्टम की तुलना में BSD को वापस सेट करता है।
हालाँकि चीजें प्रतिवादियों के लिए अच्छी नहीं लग रही थीं, कुछ बिंदु पर किसी को एहसास हुआ कि सिस्टमवी ने बीएसडी कोड के तहत बीएसडी कोड के बड़े हिस्से को शामिल किया था और एटी एंड टी ने लाइसेंस में अपने दायित्वों को पूरा नहीं किया था। एक समझौता किया गया था जिसमें एटी एंड टी को अपने उत्पाद को बाजार से नहीं खींचना होगा, और विश्वविद्यालय किसी भी कोड को चीरने के लिए सहमत हो गया जो अभी भी एटी एंड टी कोड पर आधारित हो सकता है।
विश्वविद्यालय ने इसके बाद बीएसडी के दो संस्करणों को 4.4 और एनरेटेड और 4.4 लाइट जारी किया। एन्कर किए गए संस्करण को बूट किया जाएगा और चलाया जाएगा, लेकिन इसमें एटी एंड टी कोड शामिल होगा। लाइट संस्करण में AT & T का कोई कोड नहीं था लेकिन काम नहीं किया।
बीएसडी के विभिन्न प्रयासों ने नई 4.4 लाइट रिलीज के शीर्ष पर अपना काम फिर से किया और महीनों के भीतर बूटिंग सिस्टम था।
इस बीच, मच 3.0 माइक्रो कर्नेल उपयोगकर्ता-भूमि सर्वरों के बिना बहुत उपयोगी नहीं रहा।
स्कैंडिनेवियाई विश्वविद्यालय के एक छात्र (मेरा मानना है, मेरे पास यह गलत हो सकता है) 4.4 माच रिलीज के आधार पर पूर्ण ओएस 3.0 के साथ एक पूर्ण मच बनाने के लिए पहला था, मेरा मानना है कि इसे "लाइट्स" कहा जाता था। सिस्टम ने काम किया, लेकिन धीमा था।
1992-1996 के दौरान और अब तक BSD में पहले से ही एक mmap () सिस्टम कॉल के साथ-साथ अधिकांश अन्य यूनिक्स सिस्टम थे। "सूक्ष्म कर्नेल लाभ" जो वहां नहीं था, वास्तव में कभी नहीं आया। NeXT में अभी भी एक अखंड कर्नेल था। एफएसएफ अभी भी माक को बनाने की कोशिश कर रहा था, और बीएसडी कोड को नहीं छूना चाहता था या किसी भी खुले स्रोत बीएसडी प्रयासों में योगदान नहीं करना चाहता था, वे खराब निर्दिष्ट गिरी दृष्टि से दूर चार्ज करते रहे और वे अपने स्वयं के आरपीसी प्रोटोकॉल पर डूब रहे थे। गिरी। माइक्रो कर्नेल कागज पर बहुत अच्छा लग रहा था, लेकिन इंजीनियर से अधिक निकला और बस सब कुछ धीमा कर दिया।
इस बिंदु पर हमारे पास सूक्ष्म बनाम गुठली बनाम अखंड गुठली पर लाइनस बनाम एंडी बहस भी थी और दुनिया को यह महसूस करना शुरू हुआ कि उन सभी अतिरिक्त चक्रों को एक सूक्ष्म कर्नेल में जोड़ना असंभव था और अभी भी एक अच्छी तरह से डिज़ाइन किए गए अखंड कर्नेल के आगे आते हैं ।
Apple ने अभी तक NeXTSTEP का अधिग्रहण नहीं किया था, लेकिन अपने भविष्य के ऑपरेटिंग सिस्टम के लिए संभावित कर्नेल के रूप में मच में देखना शुरू कर रहा था। उन्होंने मच कर्नेल में लिनक्स को पोर्ट करने के लिए ओपन सॉफ्टवेयर फाउंडेशन को काम पर रखा है और यह उनके ग्रेनोबल कार्यालयों से बाहर किया गया था, मेरा मानना है कि इसे "mklinux" कहा जाता था।
जब Apple ने NeXT को खरीदा था तो उनके हाथों में एक अपेक्षाकृत पुरानी यूनिक्स नींव थी, एक 4.2 या 4.3 आधारित यूनिक्स और अब तक, उन सिस्टमों पर मुफ्त सॉफ्टवेयर भी नहीं चला। उन्होंने जॉर्डन हबर्ड को अपने यूनिक्स स्टैक को अपग्रेड करने के लिए फ्रीबीएसडी से दूर रखा। उनकी टीम उपयोगकर्ता भूमि को अपग्रेड करने के लिए जिम्मेदार थी, और यह आश्चर्य की बात नहीं है कि बीएसडी पर उपलब्ध नवीनतम संस्करणों में मैकओएस उपयोगकर्ता को उन्नत किया गया था।
Apple ने कुछ बिंदु पर अपने मच को 2.5 से 3.0 तक स्विच किया, लेकिन माइक्रो-कर्नेल दृष्टिकोण के साथ नहीं जाने का फैसला किया और इसके बजाय सब कुछ प्रक्रिया में रखा। मैं कभी पुष्टि नहीं कर पाया कि क्या Apple ने लाइट्स का इस्तेमाल किया, स्कैंडिनेवियाई हैकर को काम पर रखा, या अगर उन्होंने 4.4 लाइट को अपने ओएस के रूप में अपनाया। मुझे संदेह है कि उन्होंने किया था, लेकिन मैं पहले से ही लिनक्स पर चला गया था और बीएसडी / मच दुनिया पर नज़र रखना बंद कर दिया था।
90 के दशक के उत्तरार्ध में एक अफवाह थी कि एवी ने एप्पल में अपने बच्चे पर काम करने के लिए लिनुस (जो पहले से ही इस बिंदु पर प्रसिद्ध था) को काम पर रखने की कोशिश की, लेकिन लिनस ने लिनक्स पर काम करना जारी रखा।
एक तरफ इतिहास, इस पृष्ठ का वर्णन उपयोगकर्ताभूमि और मच / यूनिक्स कर्नेल:
http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html#//apple_ref/doc/uid/TP30000905-CH1g-CACDAEDC
मुझे OSX के इतिहास का यह ग्राफिक मिला: