هسته لینوکس 30 ساله می شود

در 25 آگوست 1991، پس از پنج ماه توسعه، لینوس توروالدز دانشجوی 21 ساله در گروه خبری comp.os.minix ایجاد یک نمونه اولیه از یک سیستم عامل جدید لینوکس را اعلام کرد که برای آن پورت های bash تکمیل شده است. 1.08 و gcc 1.40 ذکر شد. اولین انتشار عمومی هسته لینوکس در 17 سپتامبر اعلام شد. کرنل 0.0.1 به صورت فشرده 62 کیلوبایت حجم داشت و شامل حدود 10 هزار خط کد منبع بود. هسته لینوکس مدرن بیش از 28 میلیون خط کد دارد. طبق یک مطالعه در سال 2010 که توسط اتحادیه اروپا انجام شد، هزینه تقریبی توسعه پروژه ای مشابه هسته لینوکس مدرن از ابتدا بیش از یک میلیارد دلار آمریکا خواهد بود (محاسبه زمانی انجام شد که هسته دارای 13 میلیون خط کد بود). طبق برآوردهای دیگر - بیش از 3 میلیارد

هسته لینوکس از سیستم عامل MINIX الهام گرفته شده بود که لینوس به دلیل مجوز محدود آن را دوست نداشت. متعاقباً، زمانی که لینوکس به یک پروژه مشهور تبدیل شد، بدخواهان سعی کردند لینوس را به کپی مستقیم کد برخی از زیرسیستم‌های MINIX متهم کنند. این حمله توسط اندرو تاننباوم، نویسنده MINIX دفع شد و یکی از شاگردانش را به انجام مقایسه دقیق کد Minix و اولین نسخه های عمومی لینوکس محول کرد. نتایج مطالعه وجود تنها چهار تطابق ناچیز از بلوک‌های کد را به دلیل الزامات POSIX و ANSI C نشان داد.

لینوس در ابتدا به این فکر می‌کرد که هسته را Freax، از کلمات "رایگان"، "freak" و X (یونیکس) بنامد. اما نام "لینوکس" به لطف Ari Lemmke به هسته داده شد، که به درخواست لینوس، هسته را در سرور FTP دانشگاه پست کرد، و نام دایرکتوری با آرشیو را نه "freax"، که Torvalds درخواست کرد، بلکه "linux" نامید. ” قابل ذکر است که تاجر کارآفرین ویلیام دلا کروچه موفق به ثبت علامت تجاری لینوکس شد و قصد داشت به مرور زمان حق امتیاز دریافت کند، اما بعداً نظر خود را تغییر داد و کلیه حقوق این علامت تجاری را به لینوس منتقل کرد. طلسم رسمی هسته لینوکس، پنگوئن Tux، در نتیجه مسابقه ای که در سال 1996 برگزار شد انتخاب شد. نام Tux مخفف 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 میلیون خط کد.

پیشرفت توسعه هسته:

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

68 درصد از کل تغییرات در هسته توسط 20 شرکت فعال انجام شده است. به عنوان مثال، هنگام توسعه هسته 5.13، 10٪ از کل تغییرات توسط اینتل، 6.5٪ توسط Huawei، 5.9٪ توسط Red Hat، 5.7٪ توسط Linaro، 4.9٪ توسط گوگل، 4.8٪ توسط AMD، 3.1٪ توسط NVIDIA، 2.8 تهیه شده است. ٪ توسط Facebook، 2.3٪ - SUSE، 2.1٪ - IBM، 1.9٪ - Oracle، 1.5٪ - ARM، 1.4٪ - Canonical. 13.2٪ از تغییرات توسط مشارکت کنندگان یا توسعه دهندگان مستقل تهیه شده است که به صراحت اعلام نکرده اند که برای شرکت های خاصی کار می کنند. 1.3 درصد تغییرات توسط دانشجویان، دانشجویان تحصیلات تکمیلی و نمایندگان مؤسسات آموزشی تهیه شده است. از نظر تعداد 5.13 خط کد اضافه شده به هسته، AMD رهبر است که سهم آن 20.2٪ بود (درایور amdgpu حدود 3 میلیون خط کد دارد که تقریباً 10٪ از کل اندازه هسته - 2.4 میلیون است. خطوط توسط فایل‌های هدر به‌طور خودکار تولید شده با داده‌های ثبت‌های GPU محاسبه می‌شوند.

منبع: opennet.ru

اضافه کردن نظر