📘
GNUとLinuxの話
Linuxについて調べていたら、「GNU/Linux」という表記を見かけたので、調べてみると殊の外面白かったのでメモ。
- Unixが有償だったので、Unixのようでかつ、著作権フリーなOSを作る目的でGNUプロジェクトが始まった。
- GNUプロジェクトでは、OSのために必要なツールセットがたくさん開発された。C言語のコンパイラや、各種コマンドなどのユーザーランド部分のツールである。一方で、OSの主要コンポーネントであるカーネルの部分の実装が欠落していた。
- LinusがLinuxというOSのカーネルを実装した。そこに、OSのために必要なGNUのツールチェーンを取り込むことで、OSが完成した。GNUプロジェクト自体は以前としてカーネルの実装をもたないままだったが、Linuxカーネルの登場により、Unix-likeなOSが完成した。
- Linusの開発はカーネルの部分だけだが、今はGNUの実装を含むOSもLinuxと呼ばれている。
- 自由なソフトウェアを目指すGNUの立ち上げメンバーとしては、GNUのプロジェクト自体が著作権フリーを目指したマニフェストを出し、活動を開始したことがLinuxのようなOSの完成へと繋がったと考えているので、GNUの名前を含めた「GNU/Linux」がOSの名称としてふさわしいと考えている。
その他
- POSIX標準に準拠したOS(POSIX標準が定める仕様を実装した)として、Unix, FreeBSDやLinuxなどがある。
- カーネルは、OSのハードウェアとインターフェイスを繋げるもの。カーネルとユーザーランド環境をもつことでOSとなる。
Discussion