نواة Linux عمرها 31 سنة

في 25 أغسطس 1991 ، بعد خمسة أشهر من التطوير ، أعلن الطالب لينوس تورفالدس البالغ من العمر 21 عامًا في مؤتمر عبر الهاتف comp.os.minix أن نموذجًا أوليًا يعمل لنظام التشغيل Linux الجديد قد اكتمل ، ونقل bash 1.08 و GCC 1.40 تم الانتهاء. تم تقديم أول إصدار عام من Linux kernel في 17 سبتمبر. نواة 0.0.1 كانت مضغوطة بـ 62 كيلو بايت وتحتوي على حوالي 10 سطر من التعليمات البرمجية المصدر. تحتوي نواة Linux الحديثة على أكثر من 30 مليون سطر من التعليمات البرمجية. وفقًا لدراسة أجراها الاتحاد الأوروبي في عام 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 مليون سطر من التعليمات البرمجية.
  • 5.19 - أغسطس 2022 ، 30.5 مليون سطر من التعليمات البرمجية.

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

  • 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. يجري العمل لتضمين مكونات لدعم الصدأ في الجزء الرئيسي من القلب.
  • في أغسطس 2022 ، تم تشكيل فرع Linux 6.0 kernel ، حيث كانت هناك إصدارات كافية في فرع 5.x لتغيير الرقم الأول في رقم الإصدار.

تم إجراء 68٪ من جميع التغييرات الأساسية بواسطة أكبر 20 شركة. على سبيل المثال ، عند تطوير kernel 5.19 ، تم إعداد 10.9٪ من جميع التغييرات بواسطة Intel ، و 5.7٪ بواسطة Linaro ، و 5.5٪ بواسطة AMD ، و 5.2٪ بواسطة Red Hat ، و 4.1٪ بواسطة Google ، و 3.5٪ بواسطة Meta ، و 3.1٪ بواسطة SUSE ، و 2.9 ٪ من هواوي ، 2.8٪ - إنفيديا ، 2.7٪ - أوراكل. تم إعداد 11.8٪ من التغييرات بواسطة مساهمين مستقلين أو مطورين لم يعلنوا صراحة عن عملهم لشركات معينة. مع إضافة 5.19 سطرًا من التعليمات البرمجية إلى النواة ، تعد AMD هي الرائدة ، بحصة تبلغ 37.9٪ (يحتوي برنامج تشغيل amdgpu على أكثر من 4 ملايين سطر من التعليمات البرمجية ، يتم إنشاء معظمها تلقائيًا بملفات رأس مع بيانات لسجلات وحدة معالجة الرسومات).

المصدر: opennet.ru

إضافة تعليق