Linuxカーネル

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)
ARM (arm/arm64)
AMD64 (x86)
 (c6x)
H8 (h8300)
 (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まで
i386
バージョン4.11まで

バージョン4.16まで
Blackfin

FR-V
M32R

POWER4

バージョン5.9まで

出典

関連項目
Linux-libre - Linuxカーネルからバイナリ・ブロブを取り除いたカーネル。
Native POSIX Thread Library
Cooperative Linux - coLinuxとも呼ばれる。Windows上でLinuxカーネルが動作するようにしたもの。
ローダブル・カーネル・モジュール (LKM)
vmlinux - カーネル本体のコードを含む「カーネルイメージ」と呼ばれる特殊なファイル（その特殊性により、単なる実行ファイルではない）の慣習的な名前

外部リンク
The Linux Kernel Archives
GitHub tovalds/linux Linux kernel source tree
Interactive map of Linux kernel
LKML.ORG the Linux Kernel Mailing List Archive

Linux
オープンソースソフトウェア
OSのカーネル
1991年のソフトウェア
リーナス・トーバルズ