लिनक्स कर्नेल लगभग 25 साल पुराना है । अगर मुझे 1991 से (इसकी स्थापना की तारीख) के बाद से लिनक्स कर्नेल के विकास के इतिहास पर लघु संस्करण के साथ आना था, और 1994 (आज) तक आंशिक रूप से, अच्छी तरह से मैं नहीं कर सका। सबसे अच्छा मैं हर एक कर्नेल रिलीज नोट्स को पढ़ने में कमी कर सकता हूं, यह निम्नलिखित प्रदान करने के लिए होगा जो कि सामान्य रिलीज़ फीचर्स हैं । कर्नेल को संस्करण 3.11 तक जोड़ा गया है (नोट्स और लिंक छोड़ा गया):
- लिनक्स कर्नेल का संस्करण 1.0 14 मार्च 1994 को जारी किया गया था। लिनक्स कर्नेल की यह रिलीज़ केवल सिंगल-प्रोसेसर i386- आधारित कंप्यूटर सिस्टम का समर्थन करती है। पोर्टेबिलिटी एक चिंता का विषय बन गया, और इसलिए संस्करण 1.2 (7 मार्च 1995 को जारी किया गया) ने अल्फा, SPARC और MIPS आर्किटेक्चर के आधार पर प्रोसेसर का उपयोग करते हुए कंप्यूटर सिस्टम के लिए समर्थन प्राप्त किया।
- संस्करण 2.0 को 9 जून 1996 को रिलीज़ किया गया था। श्रृंखला में 41 रिलीज़ हुए थे। 2.0 की प्रमुख विशेषता थी एसएमपी सपोर्ट (यानी एक सिस्टम में कई प्रोसेसर के लिए सपोर्ट) और अधिक प्रकार के प्रोसेसर के लिए सपोर्ट।
- संस्करण 2.2 (26 जनवरी 1999 को जारी) ने वैश्विक स्पिनलॉक को हटा दिया और बेहतर एसएमपी समर्थन प्रदान किया, और एम 68k और पावरपीसी आर्किटेक्चर के साथ-साथ नई फाइल सिस्टम (माइक्रोसॉफ्ट के एनटीएफएस के लिए केवल पढ़ने के लिए समर्थन सहित) के लिए समर्थन जोड़ा।
- संस्करण 2.4.0 , 4 जनवरी 2001 को जारी किया गया, जिसमें आईएसए प्लग एंड प्ले, यूएसबी और पीसी कार्ड का समर्थन था। इसमें हेवलेट-पैकार्ड से पीए-आरआईएससी प्रोसेसर के लिए समर्थन भी शामिल था। 2.4.x के लिए विकास में थोड़ा बदलाव आया कि श्रृंखला की पूरी अवधि में और अधिक सुविधाएँ उपलब्ध कराई गईं, जिनमें शामिल हैं: ब्लूटूथ, लॉजिकल वॉल्यूम मैनेजर (LVM) संस्करण 1, RAID सपोर्ट, इंटरमेज़ो और ext3 फ़ाइल सिस्टम के लिए समर्थन।
- संस्करण 2.6.0 18 दिसंबर 2003 को जारी किया गया था। 2.6.x के लिए विकास श्रृंखला की अवधि के दौरान नई विशेषताओं को शामिल करते हुए और बदल गया। 2.6 श्रृंखला में किए गए परिवर्तनों में से हैं: मेनलाइन कर्नेल स्रोतों में into क्लिनक्स का एकीकरण, पीएई समर्थन, सीपीयू की कई नई लाइनों के लिए समर्थन, मेनलाइन कर्नेल स्रोतों में एएलएसए का एकीकरण, 2 32 उपयोगकर्ताओं के लिए समर्थन ( 2 16 से ऊपर ), 2 29 प्रक्रिया आईडी तक का समर्थन (64-बिट केवल, 32-बिट मेहराब अभी भी 2 से 15 तक सीमित है)), काफी हद तक डिवाइस प्रकार और प्रत्येक प्रकार के उपकरणों की संख्या में वृद्धि हुई, 64-बिट समर्थन में सुधार हुआ, फ़ाइल सिस्टम के लिए समर्थन जो 16 टेराबाइट्स तक फ़ाइल आकार का समर्थन करता है, इन-कर्नेल प्रीमेशन, मूल निवासी पॉज़िशन थ्रेड लाइब्रेरी के लिए समर्थन (NPTL), मेनलाइन कर्नेल स्रोतों में उपयोगकर्ता-मोड लिनक्स एकीकरण, मेनलाइन कर्नेल स्रोतों में SELinux एकीकरण, InfiniBand समर्थन और काफी अधिक। 2.6.x रिलीज़ के दौरान कई फ़ाइल सिस्टम के अलावा उल्लेखनीय भी हैं: FUSE, JFS, XFS, ext4 और अधिक। 2.6 कर्नेल श्रृंखला के इतिहास पर विवरण 2.6 कर्नेल श्रृंखला स्रोत कोड k रिलीज़ के क्षेत्र में ChangeLog फ़ाइलों में पाया जा सकता है।
- संस्करण 3.0 22 जुलाई 2011 को जारी किया गया था। टॉर्वाल्ड्स ने घोषणा की कि बड़ा बदलाव था, "कुछ भी नहीं। बिल्कुल कुछ भी नहीं।" 30 मई 2011 ने टोर्वाल्ड्स की घोषणा करते हुए कहा, "... आइए हम सुनिश्चित करें कि हम वास्तव में अगली रिलीज को न केवल एक नया चमकदार नंबर बनाएं, बल्कि एक अच्छा कर्नेल भी बनाएं।" अपेक्षित 6-7 सप्ताह की विकास प्रक्रिया के बाद, इसे लिनक्स की 20 वीं वर्षगांठ के पास जारी किया जाएगा।
- दिसंबर 2012 में, Torvalds ने i386 प्रोसेसर के लिए समर्थन को हटाकर कर्नेल जटिलता को कम करने का निर्णय लिया, जिससे 3.7 कर्नेल श्रृंखला अभी भी मूल प्रोसेसर का समर्थन कर रही है। उसी श्रृंखला ने एआरएम प्रोसेसर के लिए एकीकृत समर्थन किया।
- 2 सितंबर 2013 को जारी किया गया संस्करण 3.11 , अस्थायी फ़ाइल कमजोरियों को कम करने के लिए ओपन (2) के लिए नए O_TMPFILE फ्लैग जैसे कई नए फीचर्स जोड़ता है, प्रायोगिक AMD Radeon डायनेमिक पॉवर मैनेजमेंट, लो-लेटेंसी नेटवर्क पोलिंग, और zswap (कंप्रेस्ड लैप कैश)।
मैं यह भी जोड़ सकता हूं कि कई वर्षों से अब लिनक्स फाउंडेशन कर्नेल विकास पर रिपोर्टिंग कर रहा है । ये हैं 2012-2013 कर्नेल डेवलपमेंट हाइलाइट्स:
- 536 निगमों का प्रतिनिधित्व करने वाले 3,738 व्यक्तिगत डेवलपर्स से लगभग 92,000 परिवर्तन किए गए हैं (जो हम जानते हैं)।
- महत्वपूर्ण नई सुविधाओं की एक विशाल सरणी को मेनलाइन में मिला दिया गया है। इनमें एआरएम के लिए फुल टिक्लेस ऑपरेशन, यूजर नेमस्पेस, KVM और Xen वर्चुअलाइजेशन, शेड्यूलर में प्रति-यूनिट लोड ट्रैकिंग, यूजर-स्पेस चेकपॉइंट / रिस्टार्ट, 64-बिट ARM आर्किटेक्चर सपोर्ट, F2FS फ्लैश-ओरिएंटेड फाइलसिस्टम, कई नेटवर्किंग सुधार के उद्देश्य से शामिल हैं विलंबता और बफरब्लोट की समस्याओं पर, दो स्वतंत्र सबसिस्टम, ब्लॉक स्टोरेज डिवाइस के लिए तेजी से कैशिंग प्रदान करते हैं, और बहुत कुछ।
- एंड्रॉइड-विशिष्ट कर्नेल सुविधाओं पर लंबे समय तक स्क्वैबल बैकग्राउंड में पूरी तरह से फीका पड़ गया है। बहु-चर्चित "वैकलॉक्स" फीचर को चुपचाप एक अलग मेनलाइन समाधान द्वारा बदल दिया गया है जो नवीनतम एंड्रॉइड डिवाइसों में उपयोग किया जाता है।
- विकास गुठली में कीड़े खोजने के लिए स्वचालित उपकरणों का उपयोग इस अवधि के दौरान काफी बढ़ गया है। "ट्रिनिटी" फ़ज़ टेस्टर और शून्य-दिन बिल्ड-एंड-बूट सिस्टम जैसे उपकरण प्री-रिलीज़ कर्नेल में बड़ी संख्या में बग ढूंढ रहे हैं, विकास चक्र को छोटा कर रहे हैं और समुदाय को उच्च-गुणवत्ता वाले रिलीज़ वितरित करने में सक्षम कर रहे हैं।
- मोबाइल और एम्बेडेड उद्योगों से योगदान में वृद्धि जारी है। उदाहरण के लिए, लिनोरो, सैमसंग और टीआई ने मिलकर इस पेपर के पिछले संस्करण में 4.4% परिवर्तन किए; 3.10 तक की अवधि के लिए, उन्होंने सभी परिवर्तनों में लगभग 11% का योगदान दिया।
- कर्नेल परियोजना ने पहली बार महिलाओं के लिए आउटरीच कार्यक्रम में भाग लिया, जिसमें 7 उपलब्ध पदों के लिए 41 आवेदन थे। आवेदन प्रक्रिया के दौरान, 374 पैच कर्नेल को जमा किए गए थे, और उन पैच में से 1/3 को 3.10 कर्नेल रिलीज में स्वीकार किया गया था। अब इंटर्न प्रक्रिया चल रही है, लेकिन इसके परिणाम भविष्य के कर्नेल जारी होने तक दिखाई नहीं देंगे।
इसके अलावा, कर्नेल को क्या हो रहा है , यह निर्धारित करना बहुत कठिन नहीं है क्योंकि हमारे पास व्यक्तिगत कमिट से परे मैट्रिक्स हैं । उदाहरण के लिए, हम जानते हैं कि 1994 में 1.0.0 कर्नेल में कोड की 176 250 लाइनें थीं; और हम जानते हैं कि एक समकालीन कर्नेल जैसे 3.10 में कोड की 15 803 499 लाइनें हैं। बहुत अधिक। कर्नेल रिलीज़ आवृत्ति बढ़ी है (3.10 के लिए 63 दिन), साथ ही साथ परिवर्तन की दर (9 घंटे या उससे अधिक जो हम बोलते हैं)। लिनक्स फाउंडेशन को उद्धृत करने के लिए:
वर्षों से परिवर्तन की इस दर को बनाए रखने की क्षमता किसी भी पिछले सार्वजनिक सॉफ्टवेयर परियोजना में अभूतपूर्व है।
लेकिन यह सब मेरी राय में थोड़ा अंतर्दृष्टि लाता है। इसलिए, मैं पूछूंगा:
- क्या एक सदी के विकास की यह तिमाही सभी सूचीबद्ध विशेषताओं के रैखिक जोड़ से परे योग्य हो सकती है जो समय के साथ इस कर्नेल को बनाते हैं?
- और क्या यह कोई अंतर्दृष्टि लाता है कि लिनक्स कर्नेल क्या है, या यह कहाँ जा रहा है? 25 वर्षों के विकास के बाद निश्चित रूप से कुछ निष्कर्ष निकाले जा सकते हैं?
आम आदमी के शब्दों में एक अमूर्त उत्तर की तलाश में जो सब कुछ कहने का सहारा लिए बिना कहता है।