Linux カーネルは 31 年前のものです

25 年 1991 月 21 日、1.08 か月の開発期間を経て、1.40 歳の学生 Linus Torvalds が comp.os.minix ニュースグループで、新しい Linux オペレーティング システムの実用的なプロトタイプの作成を発表しました。これには bash のポートが完成しました。 17 と gcc 0.0.1 が記録されました。 Linux カーネルの最初の公開リリースは 62 月 10 日に発表されました。 カーネル 30 のサイズは圧縮形式で 2010 KB で、約 13 行のソース コードが含まれていました。 最新の Linux カーネルには 3 万行を超えるコードがあります。 欧州連合が委託した XNUMX 年の調査によると、最新の Linux カーネルと同様のプロジェクトをゼロから開発する場合の概算コストは​​、XNUMX 億米ドル以上になります (カーネルのコード行数が XNUMX 万行の場合に計算されました)。他の推定によると - XNUMX億以上

Linux カーネルは MINIX オペレーティング システムからインスピレーションを得たものでしたが、Linus はライセンスが限られていたためこれを好みませんでした。 その後、Linux が有名なプロジェクトになると、悪意のある人々が Linus がいくつかの MINIX サブシステムのコードを直接コピーしたとして非難しようとしました。 この攻撃は、MINIX の作者である Andrew Tanenbaum によって撃退されました。彼は、彼の学生の XNUMX 人に、Minix コードと Linux の最初の公開バージョンの詳細な比較を依頼しました。 調査の結果、POSIX および ANSI C の要件により、コード ブロックの重要でない一致が XNUMX つだけ存在することがわかりました。

Linus は当初、「フリー」、「フリーク」、および X (Unix) という言葉から、カーネルを Freax と呼ぶことを考えていました。 しかし、「Linux」という名前がカーネルに付けられたのは、ライナスの要請に応じてカーネルを大学の FTP サーバーに投稿し、アーカイブのあるディレクトリに Torvalds が要求した「freax」ではなく「linux」という名前を付けた Ari Lemmke のおかげです。 」 進取的な実業家ウィリアム・デラ・クローチェがなんとかLinuxの商標を登録し、時間をかけて使用料を徴収したいと考えていたが、後に気が変わり、商標に対するすべての権利をライナスに譲渡したことは注目に値する。 Linux カーネルの公式マスコットであるペンギンの Tux は、1996 年に開催されたコンテストの結果として選ばれました。 Tux という名前は Torvalds UniX の略です。

カーネル コード ベースの成長ダイナミクス (ソース コードの行数):

  • 0.0.1 - 1991 年 10 月、コードは XNUMX 行。
  • 1.0.0 - 1994 年 176 月、コードは XNUMX 行。
  • 1.2.0 - 1995 年 311 月、コードは XNUMX 行。
  • 2.0.0 - 1996 年 778 月、コードは XNUMX 行。
  • 2.2.0 - 1999 年 1.8 月、XNUMX 万行のコード。
  • 2.4.0 - 2001 年 3.4 月、XNUMX 万行のコード。
  • 2.6.0 - 2003 年 5.9 月、XNUMX 万行のコード。
  • 2.6.28 - 2008 年 10.2 月、XNUMX 万行のコード。
  • 2.6.35 - 2010 年 13.4 月、XNUMX 万行のコード。
  • 3.0 - 2011 年 14.6 月、XNUMX 万行のコード。
  • 3.5 - 2012 年 15.5 月、XNUMX 万行のコード。
  • 3.10 - 2013 年 15.8 月、XNUMX 万行のコード。
  • 3.16 - 2014 年 17.5 月、XNUMX 万行のコード。
  • 4.1 - 2015 年 19.5 月、XNUMX 万行のコード。
  • 4.7 - 2016 年 21.7 月、XNUMX 万行のコード。
  • 4.12 - 2017 年 24.1 月、XNUMX 万行のコード。
  • 4.18 - 2018 年 25.3 月、XNUMX 万行のコード。
  • 5.2 - 2019 年 26.55 月、XNUMX 万行のコード。
  • 5.8 - 2020 年 28.4 月、XNUMX 万行のコード。
  • 5.13 ~ 2021 年 29.2 月、XNUMX 万行のコード。
  • 5.19 - 2022 年 30.5 月、XNUMX 万行のコード。

カーネル開発の進捗状況:

  • Linux 0.0.1 - 1991 年 386 月、最初の公開リリース。iXNUMX CPU のみをサポートし、フロッピー ディスクから起動します。
  • Linux 0.12 - 1992 年 2 月、コードは GPLvXNUMX ライセンスに基づいて配布され始めました。
  • Linux 0.95 - 1992 年 XNUMX 月、X Window System を実行する機能が提供され、仮想メモリとスワップ パーティションのサポートが実装されました。
  • Linux 0.96-0.99 - 1992-1993 年、ネットワーク スタックの作業が始まりました。 Ext2 ファイル システムが導入され、ELF ファイル形式のサポートが追加され、サウンド カードと SCSI コントローラ用のドライバが導入され、カーネル モジュールと /proc ファイル システムのロードが実装されました。
  • 1992 年に、最初のディストリビューション SLS と Yggdrasil が登場しました。 1993 年の夏に、Slackware プロジェクトと Debian プロジェクトが設立されました。
  • Linux 1.0 - 1994 年 XNUMX 月、最初の公式安定リリース。
  • Linux 1.2 - 1995 年 XNUMX 月、ドライバー数の大幅な増加、Alpha、MIPS、および SPARC プラットフォームのサポート、ネットワーク スタックの機能の拡張、パケット フィルターの登場、NFS サポート。
  • Linux 2.0 - 1996 年 XNUMX 月、マルチプロセッサ システムをサポート。
  • 1997 年 XNUMX 月: Linux カーネル開発者メーリング リストである LKML が設立されました。
  • 1998: Top500 リストに含まれる最初の Linux ベースのクラスターが発表されました。このクラスターは、Alpha CPU を搭載した 68 ノードで構成されていました。
  • Linux 2.2 - 1999 年 6 月、メモリ管理システムの効率が向上し、IPvXNUMX サポートが追加され、新しいファイアウォールが実装され、新しいサウンド サブシステムが導入されました。
  • Linux 2.4 - 2001 年 8 月、64 プロセッサ システムと 3 GB の RAM、ExtXNUMX ファイル システム、USB サポート、ACPI のサポートを提供します。
  • Linux 2.6 - 2003 年 XNUMX 月、SELinux サポート、カーネル パラメータの自動チューニング、sysfs、再設計されたメモリ管理システム。
  • 2005 年に Xen ハイパーバイザーが導入され、仮想化の時代が到来しました。
  • 2008 年 XNUMX 月に、Linux カーネルに基づいた Android プラットフォームの最初のリリースが形成されました。
  • 2011.x ブランチの 10 年間の開発を経て、2.6 年 3 月に 2.x 番号付けへの移行が行われました。 Git リポジトリ内のオブジェクトの数は XNUMX 万に達しました。
  • 2015 年に Linux カーネル 4.0 がリリースされました。 リポジトリ内の git オブジェクトの数が 4 万に達しました。
  • 2018 年 6 月に、カーネル リポジトリ内の Git オブジェクト数が XNUMX 万というマイルストーンを超えました。
  • 2019 年 5.0 月に、Linux 6.5 カーネル ブランチが設立されました。 リポジトリは XNUMX 万の git オブジェクトに達しました。
  • 2020 年 5.8 月に公開されたカーネル XNUMX は、プロジェクトの全存在期間におけるすべてのカーネルの変更数の点で最大となりました。
  • カーネル 5.13 は、カーネルに変更が含まれた開発者の数 (2150 人) の記録を樹立しました。
  • 2021 年に、Rust 言語でドライバーを開発するためのコードが Linux-next カーネル ブランチに追加されました。 Rustをサポートするコンポーネントをコアカーネルに組み込む作業が進行中です。
  • 2022.x ブランチにはバージョン番号の最初の番号を変更するのに十分なリリースが蓄積されていたため、6.0 年 5 月に Linux XNUMX カーネル ブランチが形成されました。

コアに対するすべての変更の 68% は、最も活発な 20 社によって行われました。 たとえば、カーネル 5.19 を開発する場合、すべての変更の 10.9% が Intel によって準備され、5.7% が Linaro によって、5.5% が AMD によって、5.2% が Red Hat によって、4.1% が Google によって、3.5% が Meta によって、3.1% が SUSE によって準備されました。 Huaweiによる%、NVIDIAによる2.9%、Oracleによる2.8%。 変更の 2.7% は、特定の企業で働いていることを明示的に宣言していない独立した貢献者または開発者によって作成されました。 カーネルに追加された 11.8 行のコードの数に関しては、リーダーは AMD で、そのシェアは 5.19% でした (amdgpu ドライバーには 37.9 万行を超えるコードがあり、そのほとんどは GPU 用のデータを含む自動生成されたヘッダー ファイルです)レジスタ)。

出所: オープンネット.ru

コメントを追加します