Linuxは,オープンソースのUNIX互換OSです。Linuxが開発された経緯をひも解きながら,その特徴を説明します。

 Linuxは,PC AT互換機(以下,PCとする)をはじめとするさまざまなプラットフォーム(ハードウエア)で動作するOS(Operating System)の一種です。OSとは,コンピュータのハードウエアを制御し,アプリケーション・プログラムの動作環境を整える働きをするソフトウエアのことです。Linuxのほかにも,「Windows Vista」や「Mac OS X」など多数のOSがあります。

 Linuxの特徴には主に次のようなものが挙げられます。

  • UNIX互換OSである
  • オープンソース・ライセンスを採用
  • アプリケーションが多い
  • 比較的低スペックの環境でも稼働
  • 多数のプラットフォームで稼働
  • 対応デバイスが豊富

 これらの特徴には一部に因果関係があります。例えば,「アプリケーションが多い」ことと「比較的低スペックの環境でも稼働する」ことは「UNIX互換OSである」ことに主に由来します。また,「多数のプラットフォームで稼働する」ことと「対応デバイスが豊富である」ことは主に,「オープンソース・ライセンスを採用する」ことに関係があります。そこで本講座では,この2つに焦点を当てて,Linuxを紹介していくことにします。

UNIX互換OSを新規に開発

 Linuxの開発が始まったのは1991年のことです(表1)。開発に着手したのは当時ヘルシンキ大学(フィンランド)の学生だったLinus Torvalds氏です。同年1月に米Intel社の「Intel386プロセッサ」を搭載したPCを手に入れたのがきっかけでした。

表1●Linuxが普及するまでの主な出来事
表1●Linuxが普及するまでの主な出来事

 Intel386は,x86系プロセッサとしては初めての32ビット・プロセッサです。それと同時に「ページング」と呼ばれるメモリー管理機能など,現代的なOSの実装に必要な機能を備えた,初めてのx86系プロセッサでもありました。Torvalds氏は,このIntel386プロセッサの機能に興味を持ち,その機能を使うテスト・プログラム(端末システム)を作り始めます。そして同年6月ごとまでにはファイル・システムを備える端末システムが出来上がります。

 ここでTorvalds氏が考えたのが「これでUNIX互換OSが作れるのではないか」ということでした。

 UNIXとは,1969年に原型が作られてから現在まで利用され続けているOSです。早い段階から,複数のアプリケーションを同時に稼働させる「マルチタスク機能」や,複数のユーザーの処理を同時にサポートする「マルチユーザー機能」を装備するなど,先進的な機能を備えていました。

 しかもUNIXは,開発から10年近く,ほぼ無償に近い形で配布されました。というのも,開発元のベル研究所の親会社である米AT&T社は,当時,独占禁止法によってコンピュータ産業への進出が禁止されていたからです。単に無償配布されるだけでなく,ソース・コードも配布されました。そのため,構造の理解や改良,移植なども容易でした。

 これらの要因により,UNIXは学術機関などを中心に急速に普及します。研究対象や研究基盤として利用されることでUNIXのOS機能やソフトウエアは充実し,プログラマにとって魅力的な環境が作られていきます。

 しかし,個人のPCユーザーにとってUNIXは長い間「高嶺(たかね)の花」でした。PCの能力が十分でなかった上,1980年代に入って米AT&T社がUNIXのライセンス・ビジネスを始め,ライセンス料を支払わなければ入手できなくなったからです。米Microsoft社の「XENIX」など,PCで稼働するUNIXは販売されていましたが,個人が気軽に購入できるような価格ではありませんでした。

 入手しやすいものとしては唯一,1987年にコンピュータ科学者のAndrew Tanenbaum氏が公開した「MINIX」がありました。MINIXは教育用に開発されたUNIX互換OSです。AT&T社のライセンスを気にせずにソース・コードに基づいた授業ができるよう,Tanenbaum氏がオリジナルに作成したものです。

 しかしMINIXは教育用のため,性能よりも分かりやすさを重視して作成されていました。また8086プロセッサでも稼働できるように,仮想記憶も実装されていないなど低機能でもありました。そこで公開当初から,これらの点を改良するための提案が多数寄せられます。しかし,Tanenbaum氏はMINIXをあくまで教育用であるとし,これらの提案の多くを採用しませんでした。しかも教育や研究用途以外には制限があるライセンスを採用しており,勝手に改良版MINIXを配布することもできませんでした。

 Torvalds氏もこのMINIXを使っており,やはり上記のような点に不満を持っていました。そもそも端末システムの開発を始めたのも,MINIXの端末機能が十分でなかったことが原因です。

 1991年7月3日に同氏は,POSIX規格書の入手についてネット・ニュースで質問します。POSIXは,UNIXの共通仕様について定めたIEEE(米国電気電子学会)のAPI規格です。この規格に沿ってOSを作成すれば,UNIX向けのアプリケーションが動作します。つまりこのころまでには,(POSIX準拠の)UNIX互換OSを作るという意志が固まったようです。

 そして同年8月25日には,新しいOSを作成中であることをアナウンスし,機能についての要望を集める投稿をします。この投稿では,

  • PC AT互換機で稼働するフリーなOSを作成中である
  • シェル(bash)とCコンパイラ(gcc)が移植済みである
  • MINIXのコードは一切使っていない
  • マルチスレッド対応のファイル・システムを持つ
  • 移植性は低い

ということが述べられていました。この日が「Linuxの誕生日」とされています。

 同年9月17日にはバージョン0.01を公開し,この段階でOSの名前が「Linux」に決まりました。以後,次々に開発が進み,1991年末にはメモリー・スワッピング機能などもサポートするようになりました。