Linuxカーネル
出典: フリー百科事典『ウィキペディア(Wikipedia)』
開発元: | リーナス・トーバルズ他数名 |
---|---|
最新版: | 2.6.19.1 / 2006年12月11日 |
種別: | カーネル |
ライセンス: | GPL |
公式サイト: | www.kernel.org |
LinuxカーネルはGNU/Linuxオペレーティングシステムを構成する基本要素となるカーネルを取り上げて言うときに使われる語である。Linuxカーネルは、BSD系のUNIXなどと異なり、元のUNIXのソースコードを一切利用せずにゼロから開発された。
コピーレフトのライセンスGPLに従って配布されており、ライセンスを変更せずソースコードの公開とコピーの自由を保証すれば、自由にコピー/配付/改変して構わない。配付に際して料金を要求することも自由である。その事がLinuxを共有の物として開発することを推進させた。Linuxの開発とインターネットの発展が時期的に一致したことも、Linux の回りに開発コミュニティを形成するのに幸いした。
また、開発に際してよりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing ListへのBug報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナス・トーバルズと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。通常、Linuxカーネルと呼んだとき、リーナスが公開している公式版のカーネルを指す。Linuxディストリビューションで使用されているカーネルは、リーナスの公開したカーネルを元にベンダーが独自の修正や、変更を加えているため、基本的にはその変更を加えたベンダーがサポートするものとして、Linux Kernel Mailing List などでは扱われない。
Linuxは初めはPC/AT互換機上で動いていたが、対応ハードウェアは次々追加され、Intel386以上のパソコン(NEC PC-9800シリーズ、富士通FM TOWNSなど)の他、PowerPCや68000、Sun SPARC、さらにはIBMのメインフレーム等でも動くようになっている。なお、PC-9800シリーズの非公式ソースは一時期公式版のソースに取り込まれつつあったが、メンテナンスされていないと言う理由により、バージョン2.6からPC-9800依存部分は全て外された。
[編集] 動作しているCPUアーキテクチャ
CPUアーキテクチャとは、機械語などを共通とするコンピュータの基礎的な種類であり、各種のCPUアーキテクチャ上で Linuxカーネルは動作している。カーネルはC言語やアセンブリ言語で書かれており、それらのソースコードをコンパイル(翻訳)するためのコンパイラにはGCC(Gnu Compiler Collection)を使用している。このため、GCCがそのCPUアーキテクチャをサポートしていることがほとんどの場合前提となる。
Linuxカーネルは、CPUアーキテクチャから独立していて各アーキテクチャで共有されている部分は多いので、CPUアーキテクチャに依存した部分(比較的まとめられている)を変更すれば良いようになっている。Linuxカーネルが新しいCPUアーキテクチャで動作すると、その他のソフトウェアを移植してGNU/Linuxオペレーティングシステムとして動作させるのは比較的たやすくなる。
- i386 (IA-32)
- x86-64 (Intel 64/AMD64)
- IA-64
- SPARC
- Alpha
- MC68000
- PowerPC
- PowerPC (64bit)
- ARM
- MIPS
- PA-RISC
- S370
- SuperH
- その他
[編集] 関連項目
- GNU/Linuxオペレーティングシステム - Linuxカーネルにそのほかのソフトウェアを追加して、UNIXと同等のオペレーティングシステムと呼べる機能を持たせたもの。オペレーティングシステムとしての全ての機能が一枚のフロッピーディスク (1.44MB) に入るものから、1GB(フロッピーディスクの約千倍の規模)を超える容量を持つものなど各種ある。基本はLinuxカーネルを中心に使っていること。単にLinuxオペレーティングシステムと呼ぶ場合もある。
- Linuxマシン - GNU/Linuxオペレーティング・システムを搭載しているコンピュータを、一般にLinuxマシン、Linuxボックスと呼ぶ。(英語では Linux box と呼ぶことが多い)
- Linuxディストリビューション - GNU/Linuxオペレーティングシステムを誰でもが使える形でまとめ、インストールなどが容易にできるようになっている配付。CDROMやネットワークなどで配付。ディストリビューションは、「配付」の意味。
- Linuxクラスター - 複数のLinuxで動作するコンピュータをひとつのコンピュータの用に使う手法(コンピュータ・クラスター、並列コンピュータ)。大規模なものは数千のLinuxマシンにより構成されスーパーコンピュータの性能を持つ。Linuxカーネルを中心に特殊なソフトウェアを適用し、GNU/Linuxオペレーティングシステムとして実現する。