Linuxカーネル

Unix系オペレーティングシステムであるLinuxのカーネル

Linuxカーネルは、Unix系オペレーティングシステムであるLinuxカーネルリーナス・トーバルズによって開発が開始された。ライセンスにGPL(バージョン2)を採用する自由なソフトウェアである。

Linux
Tux
Linuxカーネルの起動画面(バージョン 3.0.0)
作者 リーナス・トーバルズ
開発元 リーナス・トーバルズ, および多数のコミュニティーメンバー
初版 1991年9月17日 (33年前) (1991-09-17)
最新版 6.12.1[1] ウィキデータを編集 - 2024年11月22日 (11日前) [±]
リポジトリ ウィキデータを編集
プログラミング
言語
C言語アセンブリ言語[2]Rust[3]
対応OS Linux
種別 カーネル (モノリシックカーネル)
ライセンス GNU General Public License v2
公式サイト www.kernel.org
テンプレートを表示

通常、Linuxカーネルと言えばリーナスが管理・公開している公式版(メインライン・カーネル)を指すが、Linuxディストリビューションで使用されているカーネルは、バージョンが古かったり、ベンダーが独自の改造を施してあることが多い。例えば、Androidで使用されているカーネルもそのひとつである。このような非公式のカーネルは、ベンダー側が対応すべきとしているため、Linux Kernel Mailing Listなどでは基本的に対応対象外となっている。

開発の初期には、MINIXを参考としており、影響を受けてもいるが、MINIXのコードは使用せず、ゼロから書かれた(IBM PC端末エミュレータとして動かすためのコードから成長させたものと言われている)。

GPLを採用したことがLinuxを共有の物として開発することを推進させた、とされている。[要出典]また、Linuxの開発とインターネットの発展が時期的に一致したことも、Linuxの開発コミュニティ形成に寄与した。

また、開発に際して、よりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing Listへのバグ報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナスと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。

対応アーキテクチャ

編集
 
Ubiquity of the Linux kernel

Linuxカーネルは各種命令セット (ISA) に対応している。各アーキテクチャで共有されているコードが多いため、CPUに依存した部分を変更すれば移植できるようになっている。

公式サポート

編集

バージョン5.11.11(2021年3月30日)時点。括弧書きはarchディレクトリ内の名称。

サポート終了

編集
バージョン2.6.26まで
  • Sun-4
バージョン3.4まで
  • SPARCstation/SPARCserver series
バージョン3.7まで
バージョン4.11まで
バージョン4.16まで
バージョン5.9まで
バージョン6.6まで

出典

編集
  1. ^ グレッグ・クロー=ハートマン; "Linux 6.12.1"; 出版日: 2024年11月22日; 閲覧日: 2024年11月22日.
  2. ^ The linux-kernel mailing list FAQ - Why is the Linux kernel written in C/assembly?”. tux.org. 2007年3月7日時点のオリジナルよりアーカイブ。2013年6月20日閲覧。
  3. ^ Linuxカーネルのバージョン6.1が公開、カーネル記述にRust言語を一部採用した最初のバージョン”. CodeZine. 2023年6月10日閲覧。
  4. ^ 株式会社インプレス (2023年11月6日). “次期LinuxがItaniumのサポートを廃止”. PC Watch. 2024年8月18日閲覧。

学習参考書

編集
  • 冨永和人、権藤克彦:「例解 UNIX/Linuxプログラミング教室」、オーム社、ISBN 978-4-274-22210-8 (2018年4月25日).
  • 末安泰三:「動かしながらゼロから学ぶ Linuxカーネルの教科書」、日経BP、ISBN 978-4-296-10695-0 (2020年9月14日).
  • 武内覚:「試して理解 Linuxのしくみ [増補改訂版]」、技術評論社、ISBN 978-4-297-13148-7 (2022年10月29日).

関連項目

編集

外部リンク

編集
  NODES
iOS 2
OOP 1
os 5
server 1