Linuxカーネル
| |
Linuxカーネルの起動画面(バージョン 3.0.0) | |
作者 | リーナス・トーバルズ |
---|---|
開発元 | リーナス・トーバルズ, および多数のコミュニティーメンバー |
初版 | 1991年9月17日 |
最新版 |
6.10.5[1] |
リポジトリ | |
プログラミング 言語 | C言語、アセンブリ言語[2]、Rust[3] |
対応OS | Linux |
種別 | カーネル (モノリシックカーネル) |
ライセンス | GNU General Public License v2 |
公式サイト |
www |
Linuxカーネルは、Unix系オペレーティングシステムであるLinuxのカーネル。リーナス・トーバルズによって開発が開始された。ライセンスにGPL(バージョン2)を採用する自由なソフトウェアである。
通常、Linuxカーネルと言えばリーナスが管理・公開している公式版(メインライン・カーネル)を指すが、Linuxディストリビューションで使用されているカーネルは、バージョンが古かったり、ベンダーが独自の改造を施してあることが多い。例えば、Androidで使用されているカーネルもそのひとつである。このような非公式のカーネルは、ベンダー側が対応すべきとしているため、Linux Kernel Mailing Listなどでは基本的に対応対象外となっている。
開発の初期には、MINIXを参考としており、影響を受けてもいるが、MINIXのコードは使用せず、ゼロから書かれた(IBM PCを端末エミュレータとして動かすためのコードから成長させたものと言われている)。
GPLを採用したことがLinuxを共有の物として開発することを推進させた、とされている。[要出典]また、Linuxの開発とインターネットの発展が時期的に一致したことも、Linuxの開発コミュニティ形成に寄与した。
また、開発に際して、よりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing Listへのバグ報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナスと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。
対応アーキテクチャ
[編集]Linuxカーネルは各種命令セット (ISA) に対応している。各アーキテクチャで共有されているコードが多いため、CPUに依存した部分を変更すれば移植できるようになっている。
公式サポート
[編集]バージョン5.11.11(2021年3月30日)時点。括弧書きはarchディレクトリ内の名称。
- DEC Alpha (
alpha
) - ARC (
arc
) - ARM (
arm
/arm64
) - AMD64 (
x86
) - C6x (
c6x
) - H8 (
h8300
) - Qualcomm Hexagon (
hexagon
) - IA-64 (
ia64
) - MC68000 (
m68k
) - MicroBlaze (
microblaze
) - MIPS (
mips
) - Nios II (
nios2
) - Andes NDS32 (
nds32
) - OpenRISC (
openrisc
) - PA-RISC (
parisc
) - PowerPC (
powerpc
) - RISC-V (
riscv
) - SuperH (
sh
) - SPARC (
sparc
) - x86(
x86
、i486以降) - Xtensa (
xtensa
) - z/Architecture (
s390x
)
サポート終了
[編集]- バージョン2.6.26まで
- Sun-4
- バージョン3.4まで
- SPARCstation/SPARCserver series
- バージョン3.7まで
- バージョン4.11まで
- バージョン4.16まで
- バージョン5.9まで
出典
[編集]- ^ グレッグ・クロー=ハートマン; "Linux 6.10.5"; 出版日: 2024年8月14日; 閲覧日: 2024年8月15日.
- ^ “The linux-kernel mailing list FAQ - Why is the Linux kernel written in C/assembly?”. tux.org. 2013年6月20日閲覧。
- ^ “Linuxカーネルのバージョン6.1が公開、カーネル記述にRust言語を一部採用した最初のバージョン”. CodeZine. 2023年6月10日閲覧。
関連項目
[編集]- Linux-libre - Linuxカーネルからバイナリ・ブロブを取り除いたカーネル。
- Native POSIX Thread Library
- Cooperative Linux - coLinuxとも呼ばれる。Windows上でLinuxカーネルが動作するようにしたもの。
- ローダブル・カーネル・モジュール (LKM)
- vmlinux - カーネル本体のコードを含む「カーネルイメージ」と呼ばれる特殊なファイル(その特殊性により、単なる実行ファイルではない)の慣習的な名前