📘

GNUとLinuxの話

2021/01/17に公開

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