Linux 2.6 (2003年)(リナックスニーロク)
Linux 2.6は2003年12月Linus Torvalds公式リリースのLinuxカーネルでO(1) スケジューラ・udev・SELinux・NPTL Threading・preempt 採用しクラウド/モバイル時代の基盤となった最重要バージョンで2003-2011年8年間メジャーバージョンとして君臨した。
Linux 2.6 (2003年)
概要
Linux 2.6は2003年12月17日Linus Torvalds公式リリースのLinuxカーネルでO(1) スケジューラ (Ingo Molnar 開発・スケーラブル) ・udev (Greg Kroah-Hartman・動的デバイスノード) ・SELinux (NSA 寄贈セキュリティ拡張) ・NPTL (Native POSIX Threading Library・1:1 スレッディング) ・preemptive カーネル (リアルタイム性能向上) ・ext4 開発 (2.6.28 2008年12月マージ) ・KVM 統合 (2.6.20 2007年2月) ・Btrfs (2.6.29 2009年3月) ・Android (2008年Linux 2.6.25 ベース) 採用しクラウド/モバイル時代の基盤となった最重要バージョン。2003-2011年8年間メジャーバージョンとして君臨し2.6.0-2.6.39 までリリースされた。
主な特徴・仕組み
- リリース日: 2003年12月17日Linus Torvalds
- ソースコード行数: 約7M 行 (2.4 の4M から1.75倍・最終2.6.39 は約15M 行)
- メジャー期間: 2003-2011年 (8年間・最も長期にメジャーバージョン保持)
- マイナーリリース: 2.6.0-2.6.39 (40 リリース) ・以降3.0 (2011年) へ
- O(1) スケジューラ: Ingo Molnar 開発・タスク数によらず一定時間スケジューリング
- CFS (Completely Fair Scheduler): 2.6.23 (2007年10月) でO(1) から置換 (Ingo Molnar)
- udev: 動的デバイスノード作成 (Greg Kroah-Hartman 2003年・/dev 自動管理)
- SELinux: NSA 寄贈・Mandatory Access Control (MAC) ・きめ細やかアクセス制御
- NPTL: 1:1 スレッディングモデル (LinuxThreads から大幅高速化)
- preemptive カーネル: 2.6 で本格対応・リアルタイム性能向上
- 対応ディストリ: Red Hat Enterprise Linux 4/5/6 (RHEL)・SUSE Linux Enterprise Server 9/10/11・Ubuntu 6.06-11.04 LTS・Debian 4.0 (Etch 2007) /5.0 (Lenny 2009) /6.0 (Squeeze 2011)
Linux 2.6 主要マイルストーン (2003-2011年)
| バージョン | 年月 | 主な追加機能 |
|---|---|---|
| 2.6.0 | 2003年12月 | 初期リリース・O(1) スケジューラ |
| 2.6.1 | 2004年1月 | バグフィックス |
| 2.6.12 | 2005年6月 | git 採用開始 (Bitkeeper 撤退) |
| 2.6.17 | 2006年6月 | Sun ZFS は採用せず |
| 2.6.20 | 2007年2月 | **KVM 仮想化統合 (Avi Kivity 開発) ** |
| 2.6.23 | 2007年10月 | **CFS (Completely Fair Scheduler) ** |
| 2.6.25 | 2008年4月 | Android Linux 2.6.25 ベース選定 |
| 2.6.28 | 2008年12月 | ext4 ファイルシステム標準 |
| 2.6.29 | 2009年3月 | Btrfs (Chris Mason) ・Squashfs |
| 2.6.31 | 2009年9月 | USB 3.0 (xHCI) 初対応 |
| 2.6.33 | 2010年2月 | **GPU TTM (Translation Table Manager) ** |
| 2.6.36 | 2010年10月 | AppArmor 統合 |
| 2.6.39 | 2011年5月 | 2.6 系最終 |
O(1) スケジューラ → CFS 進化
2003年Ingo Molnar 開発の革新的スケジューラ:
- O(1) (2003年2.6.0): タスク数によらず一定時間でスケジューリング・前2.4 の O(N) から大幅改善
- CFS (2007年2.6.23): Completely Fair Scheduler・赤黒木ベース・公平性重視
- メリット: スケーラブル・1万タスクでも一定性能
- 採用: 全現代Linux 標準スケジューラ・Android/Ubuntu/RHEL/SUSE 等
udev (動的デバイスノード)
2003年Greg Kroah-Hartman 開発・現代Linux 標準:
- 動作: ハードウェア接続/切断を検知・/dev/* デバイスノード動的管理
- 競合: devfs (古い静的方式) ・mdev (busybox 軽量版)
- 採用: 全現代Linux 標準・systemd-udevd (2012年Lennart Poettering 統合)
- 後継: 2026年現代でも継続・全Linux で必須機能
SELinux 統合
2003年NSA 寄贈・米国政府機密データ保護:
- 動作: Mandatory Access Control (MAC)・通常Linux DAC (Discretionary AC) より厳格
- 対象: ファイル/ディレクトリ/プロセス/ネットワーク全リソース
- 採用: Red Hat Enterprise Linux 4 (2005年) 標準・米国政府・国防総省・金融機関
- 競合: AppArmor (SUSE/Ubuntu 採用・2.6.36 2010年マージ)
- 業界影響: Android (2014年Android 5.0 SELinux 強制 enforcing モード)
NPTL (Native POSIX Threading Library)
2003年スレッディング革命:
- 旧 LinuxThreads (1996年): M:N モデル・問題多 (signal/PID 管理)
- NPTL (Ulrich Drepper・2003年): 1:1 モデル・カーネルスレッド直接マッピング
- 性能向上: 100倍スレッド生成高速・スレッド数1万+対応
- 採用: glibc 2.3.2 (2003年) 以降標準・全現代Linux
Android Linux 2.6.25 採用 (2008年)
モバイルLinux 革命:
- 2008年9月: Android 1.0 (Linux 2.6.25 ベース) 初リリース・HTC Dream/G1 搭載
- Linus 反応: 「Android は Linux」と公式承認 (2011年Linux 3.0 で Android Driver Staging 統合)
- 影響: 2026年現在Android (Linux カーネル) 世界スマホシェア70%+・累計出荷30億+ ・Linux カーネルの最大ユーザー
- 後継: Chrome OS (2009年Google・Linux 2.6 ベース) ・Tizen (2012年Samsung・Linux 3.x)
KVM 仮想化統合 (2007年2.6.20)
クラウド時代の基盤:
- 開発者: Avi Kivity・Qumranet (後Red Hat 2008年買収)
- 動作: Linux カーネル内で完全仮想化 (Intel VT-x/AMD-V 必須)
- 採用: Red Hat Enterprise Virtualization (RHEV) ・OpenStack・Google Cloud (KVM ベース)・AWS EC2 (一部KVM)
- 後継: 2026年現代でも標準仮想化技術
ext4 ファイルシステム (2008年2.6.28)
ジャーナリングFS の主流:
- 開発: Theodore Ts'o・Linux 2.6.19 (2006年) でファイル拡張テスト→2.6.28 (2008年12月) 標準化
- メリット: 16TB→1EB ボリューム・大量小ファイル対応・遅延割当
- 採用: 2008年Ubuntu/Fedora 標準・現代RHEL 6/7/8/9・Debian Wheezy 以降
- 後継: Btrfs (2009年) ・XFS (RHEL 7 デフォルト復活) ・F2FS (2013年Samsung・Android 採用)
採用システム (2003-2011年)
- エンタープライズサーバ: RHEL 4/5/6・SLES 9/10/11・Ubuntu Server LTS
- クラウド: Google・Amazon AWS (2006年Linux 2.6 ベース)・Microsoft Azure (2010年)
- デスクトップ: Ubuntu 6.06 LTS (2006年) /8.04 LTS/10.04 LTS・GNOME 2/KDE 3/Unity
- モバイル: Android 1.0-4.0 (2008-2011年Linux 2.6.25-32) ・Maemo (Nokia) ・MeeGo
- 組込み: TiVo・Linksys WRT54G/DD-WRT/OpenWrt・テレビ・ルーター
- 総Linux ユーザー数 (2011年): 推定6,000万人 (デスクトップ) +Android 1億超
関連技術との違い
| 項目 | 2.4 (2001) | 2.6 (2003-2011) | 3.0 (2011) |
|---|---|---|---|
| メジャー期間 | 5年 | **8年 (最長) ** | 3年 |
| ソースコード | 4M 行 | 7M-15M 行 | 約14.6M 行 |
| スケジューラ | 単純 | O(1)→CFS | CFS (改良) |
| udev | なし | **あり (2003年) ** | あり (systemd 統合) |
| SELinux | なし | **あり (NSA 寄贈) ** | あり (改良) |
| KVM | なし | **あり (2007年2.6.20) ** | あり |
| Android | なし | **あり (2008年2.6.25) ** | あり (Mainline 統合) |
| ext4 | なし | **あり (2008年2.6.28) ** | あり (標準) |
よくある質問 (FAQ)
Q1: なぜ 2.6 が8年間も主要バージョンだったか? A: (1) 2003年Linus が「2.6 は機能ベースバージョニングでなくマイナーリリースで継続改良」方針宣言・ (2) 2.6.0-2.6.39 で40 マイナーリリース・徐々に機能追加・ (3) 大規模ABI/ABI 変更回避でディストリ移行コスト低減・ (4) RHEL/SLES 等の長期サポート (10年) に最適・全要因で「Linux 2.6 黄金期」確立。
Q2: なぜ 2.6.39 から 3.0 になったか? A: 2011年7月Linus が「2.6.40 でなく 3.0 にする・記念バージョン変更だが機能的には連続」と宣言・2.6 系を区切りLinux 20周年 (1991-2011年) 記念。3.0 はSandy Bridge 対応・Xen 統合等・大きく変わらず2.6 路線継続。
Q3: 現代でLinux 2.6 動作可能? A: kernel.org アーカイブからソース入手可能・GCC 3.x/4.x で再現コンパイル可能・2003-2011年RHEL 4/5/6・Ubuntu 6.06-11.04・Debian Etch/Lenny ISO 入手可能・QEMU 等仮想環境で動作・古い PC (Pentium 4・Core 2 Duo) 実機動作可能。
まとめ
- 2003年12月Linus Torvalds公式リリース
- O(1) スケジューラ・udev・SELinux・NPTL
- ext4 (2008年) /KVM (2007年) /Btrfs (2009年) 統合
- Android (2008年) Linux 2.6.25 ベース
- 2003-2011年8年間メジャーバージョン君臨