يبلغ عمر نواة Linux 30 عامًا

في 25 أغسطس 1991 ، بعد خمسة أشهر من التطوير ، أعلن الطالب لينوس تورفالدس البالغ من العمر 21 عامًا في مؤتمر عبر الهاتف comp.os.minix أن نموذجًا أوليًا يعمل لنظام التشغيل Linux الجديد قد اكتمل ، ونقل bash 1.08 و GCC 1.40 تم الانتهاء. تم تقديم أول إصدار عام من Linux kernel في 17 سبتمبر. نواة 0.0.1 كانت مضغوطة بـ 62 كيلو بايت وتحتوي على حوالي 10 سطر من التعليمات البرمجية المصدر. تحتوي نواة Linux الحديثة على أكثر من 28 مليون سطر من التعليمات البرمجية. وفقًا لدراسة أجراها الاتحاد الأوروبي في عام 2010 ، فإن التكلفة التقريبية لتطوير مشروع مشابه لنواة Linux الحديثة من الصفر ستكون أكثر من مليار دولار أمريكي (تم الحساب عندما كان للنواة 13 مليون سطر من التعليمات البرمجية) ، وفقا لتقديرات أخرى - أكثر من 3 مليارات.

نواة Linux مستوحاة من نظام التشغيل MINIX ، والذي لا يناسب Linus بترخيصه المحدود. بعد ذلك ، عندما أصبح Linux مشروعًا مشهورًا ، حاول المنتقدون اتهام Linus بنسخ رمز بعض أنظمة MINIX الفرعية مباشرةً. تم صد الهجوم من قبل Andrew Tanenbaum ، مؤلف MINIX ، الذي كلف طالبًا بإجراء مقارنة مفصلة بين كود Minix والإصدارات العامة الأولى من Linux. أظهرت نتائج الدراسة وجود أربع مطابقات ثانوية فقط لكتل ​​الكود ، بسبب متطلبات POSIX و ANSI C.

فكر لينوس في الأصل في تسمية kernel Freax ، من الكلمات "free" و "freak" و X (Unix). لكن الاسم "Linux" تم إعطاؤه للنواة بواسطة Ari Lemmke ، الذي قام ، بناءً على طلب Linus ، بوضع النواة على خادم FTP بالجامعة ، مع تسمية الدليل بالأرشيف وليس "freax" ، كما طلب Torvalds ، ولكن "linux ". من الجدير بالذكر أن رجل الأعمال المغامر ويليام ديلا كروس (William Della Croce) تمكن من تسجيل علامة Linux التجارية وأراد تحصيل الإتاوات بمرور الوقت ، لكنه غير رأيه لاحقًا ونقل جميع حقوق العلامة التجارية إلى Linus. تم اختيار التميمة الرسمية لنواة Linux ، Tux penguin ، كنتيجة لمسابقة أقيمت في عام 1996. اسم تكس يرمز إلى Torvalds UniX.

ديناميات نمو قاعدة الكود (عدد سطور الكود المصدري) للنواة:

  • 0.0.1 - سبتمبر 1991 ، 10 آلاف سطر من الكود ؛
  • 1.0.0 - مارس 1994 ، 176 ألف سطر من الكود ؛
  • 1.2.0 - مارس 1995 ، 311 ألف سطر من الكود ؛
  • 2.0.0 - يونيو 1996 ، 778 ألف سطر من الكود ؛
  • 2.2.0 - يناير 1999 ، 1.8 مليون سطر من التعليمات البرمجية ؛
  • 2.4.0 - يناير 2001 ، 3.4 مليون سطر من التعليمات البرمجية ؛
  • 2.6.0 - ديسمبر 2003 ، 5.9 مليون سطر من التعليمات البرمجية ؛
  • 2.6.28 - ديسمبر 2008 ، 10.2 مليون سطر من التعليمات البرمجية ؛
  • 2.6.35 - أغسطس 2010 ، 13.4 مليون سطر من التعليمات البرمجية ؛
  • 3.0 - أغسطس 2011 ، 14.6 مليون سطر من التعليمات البرمجية.
  • 3.5 - يوليو 2012 ، 15.5 مليون سطر من التعليمات البرمجية.
  • 3.10 - يوليو 2013 ، 15.8 مليون سطر من التعليمات البرمجية ؛
  • 3.16 - أغسطس 2014 ، 17.5 مليون سطر من التعليمات البرمجية ؛
  • 4.1 - يونيو 2015 ، 19.5 مليون سطر من التعليمات البرمجية ؛
  • 4.7 - يوليو 2016 ، 21.7 مليون سطر من التعليمات البرمجية ؛
  • 4.12 - يوليو 2017 ، 24.1 مليون سطر من التعليمات البرمجية ؛
  • 4.18 - أغسطس 2018 ، 25.3 مليون سطر من التعليمات البرمجية.
  • 5.2 - يوليو 2019 ، 26.55 مليون سطر من التعليمات البرمجية.
  • 5.8 - أغسطس 2020 ، 28.4 مليون سطر من التعليمات البرمجية.
  • 5.13 - يونيو 2021 ، 29.2 مليون سطر من التعليمات البرمجية.

تقدم التنمية الأساسية:

  • Linux 0.0.1 - سبتمبر 1991 ، أول إصدار عام يدعم i386 CPU فقط والتمهيد من القرص المرن ؛
  • Linux 0.12 - يناير 1992 ، بدأ توزيع الكود بموجب ترخيص GPLv2 ؛
  • Linux 0.95 - مارس 1992 ، أضاف القدرة على تشغيل X Window System ، ودعم تنفيذ الذاكرة الافتراضية وقسم المبادلة.
  • Linux 0.96-0.99 - 1992-1993 ، بدأ العمل على مكدس الشبكات. تم تقديم نظام الملفات Ext2 ، وتم إضافة دعم لتنسيق ملف ELF ، وتم تقديم برامج تشغيل لبطاقات الصوت ووحدات تحكم SCSI ، وتم تحميل وحدات kernel وتم تنفيذ نظام الملفات / proc.
  • في عام 1992 ، ظهرت التوزيعات الأولى لـ SLS و Yggdrasil. في صيف عام 1993 ، تم تأسيس مشروعي Slackware و Debian.
  • Linux 1.0 - مارس 1994 ، أول إصدار مستقر رسميًا ؛
  • Linux 1.2 - March 1995 ، زيادة كبيرة في عدد برامج التشغيل ، ودعم منصات Alpha و MIPS و SPARC ، وقدرات مكدس الشبكة الموسعة ، وظهور مرشح الحزمة ، ودعم NFS ؛
  • Linux 2.0 - يونيو 1996 ، دعم الأنظمة متعددة المعالجات ؛
  • مارس 1997: تأسيس قائمة بريدية لمطوري نواة لينوكس LKML ؛
  • 1998: تم إطلاق أول مجموعة قائمة على Linux Top500 ، والتي تتكون من 68 عقدة مع وحدات المعالجة المركزية Alpha ؛
  • Linux 2.2 - يناير 1999 ، تحسين كفاءة نظام إدارة الذاكرة ، دعم إضافي لـ IPv6 ، تنفيذ جدار حماية جديد ، إدخال نظام صوتي فرعي جديد ؛
  • Linux 2.4 - فبراير 2001 ، دعم أنظمة 8 معالجات و 64 جيجابايت من ذاكرة الوصول العشوائي ونظام الملفات Ext3 ودعم USB و ACPI ؛
  • Linux 2.6 - ديسمبر 2003 ، دعم SELinux ، أدوات ضبط معلمات kernel التلقائية ، sysfs ، نظام إدارة الذاكرة المعاد تصميمه ؛
  • في عام 2005 ، تم تقديم برنامج Xen hypervisor ، والذي بشر في عصر الافتراضية ؛
  • في سبتمبر 2008 ، تم تشكيل الإصدار الأول من نظام Android الأساسي المستند إلى Linux kernel ؛
  • في يوليو 2011 ، بعد 10 سنوات من تطوير الفرع 2.6.x ، تم الانتقال إلى ترقيم 3.x. وصل عدد العناصر في مستودع Git إلى 2 مليون ؛
  • في عام 2015 ، تم إصدار Linux 4.0 kernel. وصل عدد عناصر git في المستودع إلى 4 ملايين ؛
  • في أبريل 2018 ، تم التغلب على المعلم الأساسي البالغ 6 ملايين عنصر git في المستودع الأساسي.
  • في يناير 2019 ، تم تشكيل فرع Linux 5.0 kernel. وصل المستودع إلى مستوى 6.5 مليون عنصر git.
  • نُشر 2020 kernel في أغسطس 5.8 ، وهو الأكبر من حيث عدد التغييرات في جميع النوى على مدار عمر المشروع بالكامل.
  • في نواة 5.13 ، تم تعيين رقم قياسي لعدد المطورين (2150) ، الذين تم تضمين تغييراتهم في النواة.
  • في عام 2021 ، تمت إضافة رمز تطوير برامج التشغيل في Rust إلى فرع Linux-next kernel. يجري العمل لتضمين مكونات لدعم الصدأ في الجزء الرئيسي من القلب.

68% من جميع التغييرات الأساسية تم إجراؤها من قبل الشركات العشرين الأكثر نشاطًا. على سبيل المثال، عند تطوير النواة 20، تم إعداد 5.13% من جميع التغييرات بواسطة Intel، و10% بواسطة Huawei، و6.5% بواسطة Red Hat، و5.9% بواسطة Linaro، و5.7% بواسطة Google، و4.9% بواسطة AMD، و4.8% بواسطة NVIDIA، و3.1% % بواسطة Facebook، 2.8% - SUSE، 2.3% - IBM، 2.1% - Oracle، 1.9% - ARM، 1.5% - Canonical. تم إعداد 1.4% من التغييرات بواسطة مساهمين أو مطورين مستقلين لم يعلنوا صراحة أنهم يعملون لدى شركات معينة. تم إعداد 13.2% من التغييرات من قبل الطلاب وطلاب الدراسات العليا وممثلي المؤسسات التعليمية. من حيث عدد 1.3 سطر من التعليمات البرمجية المضافة إلى النواة، فإن AMD هي الرائدة، حيث بلغت حصتها 5.13% (يحتوي برنامج تشغيل amdgpu على حوالي 20.2 ملايين سطر من التعليمات البرمجية، وهو ما يقرب من 3% من إجمالي حجم النواة - 10 مليون يتم حساب الخطوط من خلال ملفات الرأس التي يتم إنشاؤها تلقائيًا مع بيانات سجلات GPU).

المصدر: opennet.ru

إضافة تعليق