Linuxカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Linux
Tux
Linux 3.0.0 boot.png
Linuxカーネルの起動画面(バージョン 3.0.0)
作者 リーナス・トーバルズ
開発元 リーナス・トーバルズ, および多数のコミュニティーメンバー
初版 1991年09月17日(22年前) (1991-09-17
最新版 3.15.6 - 2014年07月17日(14日前) (2014-07-17[1][±]
最新評価版 3.16-rc7 - 2014年07月27日(4日前) (2014-07-27[1][±]
プログラミング言語 C言語アセンブリ言語[2]
対応OS Linux
種別 カーネル (モノリシックカーネル)
ライセンス GNU General Public License v2
公式サイト http://kernel.org/
テンプレートを表示

Linuxカーネルは、リーナス・トーバルズによって開発された、UnixライクオペレーティングシステムであるLinuxカーネルMinixを参考にしており影響を受けた点もあるが、ゼロから書かれた(IBM PC端末エミュレータとして動かすためのコードから成長させたものと言われている)ものである。

ライセンスにGPL(ただしバージョン2だ、とリーナスは主張している)を採用した、自由なソフトウェアである。このことがLinuxを共有の物として開発することを推進させた、とされている。Linuxの開発とインターネットの発展が時期的に一致したことも、Linuxの回りに開発コミュニティを形成するのに幸いした。

また、開発に際してよりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing Listへのバグ報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナス・トーバルズと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。通常、Linuxカーネルと呼んだとき、リーナスが公開している公式版のカーネルを指す。Linuxディストリビューションで使用されているカーネルは、リーナスの公開したカーネルを元にベンダーが独自の修正や変更を加えていることが多い。変更がある場合はそれを加えたベンダーがサポートするものとして、Linux Kernel Mailing List などでは基本的に対象外となる。

対応ハードウェア[編集]

LinuxはPC/AT互換機上で動作するが、オープンソースのメリットで、80386以上のパーソナルコンピュータの他、PowerPC68000Sun SPARC、さらにはIBMメインフレーム、ゲーム機のPlayStation 2PlayStation 3等にも移植版が存在する。ハッカーがゲーム機や家電などに移植することもある。現在ではサポートされていないが、以前はNECPC-9800シリーズ富士通FM TOWNSなどでも稼動した。なお、PC-9800シリーズの非公式ソースは一時期公式版のソースに取り込まれつつあったが、メンテナンスされていないという理由により、バージョン2.6からPC-9800シリーズ依存部分は全て外された。

動作しているアーキテクチャ[編集]

各種アーキテクチャプロセッサでLinuxカーネルは動作している。カーネルはC言語アセンブリ言語で書かれており、それらのソースコードコンパイルにはGCCを使用している。このため、GCCがそのCPUアーキテクチャをサポートしていることがほとんどの場合前提となる。

Ubiquity of the Linux kernel

Linuxカーネルは、CPUアーキテクチャから独立していて各アーキテクチャで共有されている部分は多いので、CPUアーキテクチャに依存した部分を変更すれば良いようになっている。Linuxカーネルが新しいCPUアーキテクチャで動作すると、その他のソフトウェアを移植してGNU/Linuxシステムとして動作させるのは比較的容易となる。


関連項目[編集]

  • GNU/Linuxシステム - Linuxカーネルに、GCCをはじめとするGNUプロジェクトによるUNIX代替のプロダクトを中心に、そのほかのソフトウェアを追加して、一般的なUNIXと同程度のシステムとしたもの。
  • Linuxディストリビューション - GNU/Linuxシステムを誰もが使える形でまとめ、インストールなどが容易にできるようになっている配付物。CD-ROMやネットワークなどで配付される。ディストリビューションは「配付」の意味。
  • Native POSIX Thread Library
  • Cooperative Linux - coLinuxとも呼ばれる。Windows上でLinuxカーネルが動作するようにしたもの。
  • ローダブル・カーネル・モジュール (LKM)
  • vmlinux - カーネル本体を含む実行ファイル

出典・脚注[編集]

  1. ^ a b The Linux Kernel Archives”. 2014年7月20日閲覧。
  2. ^ The linux-kernel mailing list FAQ - Why is the Linux kernel written in C/assembly?”. tux.org. 2013年6月20日閲覧。

外部リンク[編集]