PR
図1 Linuxディストリビューションの概要。Linuxは本来,図中の「Linuxカーネル」を意味する。
図1 Linuxディストリビューションの概要。Linuxは本来,図中の「Linuxカーネル」を意味する。
[画像のクリックで拡大表示]

 「Linux」(リナックス,リヌクスなどと読みます)は,コンピュータやデジタル機器のオペレーティング・システム(以下,OS)として,幅広く普及しています。組み込み機器や携帯電話機,ゲーム機などからパソコン,PCサーバー,大型汎用機(メインフレーム),スーパーコンピュータなどまで,さまざまなシステムでLinuxが使われています。

 1991年春,当時フィンランドのヘルシンキ大学の学生だったLinus Torvalds(リーナス・トーバルズ)氏はたった一人でLinuxの開発を始めました。新しいパソコンを手に入れたTorvalds氏は,UNIX互換OSであるMINIXに触発されて,Linuxの開発を始めました。MINIXとLinuxのお手本になったUNIXは,1960年代末から1970年代前半にかけて米AT&T(当時)のベル研究所で開発されたものです。その当時は汎用コンピュータ全盛でしたが,UNIXは汎用コンピュータのOSとは全く異なる思想に基づいて開発され,移植性が高かったことなどから,各種システムで使われるようになりました。

 UNIXを見習って開発されたLinuxは,UNIXの特徴および機能を引き継いでいます。その上Linuxは,個人でも入手しやすいパソコン上で動作したことや,オープンソース・ソフトウエアとしてインターネット上で公開され,だれもが使用したり改良したりできたことから,多くの技術者の賛同を得ました。Torvalds氏を中心に多くの技術者がLinuxの開発に携わることで,Linuxの機能・性能は急速に向上し,今日のように幅広いコンピュータおよびデジタル機器で採用されるまでに至っています。

 ちなみにTorvalds氏は現在,Linuxの普及促進を目的に2000年末に設立された非営利団体Open Source Development Labs(OSDL)のフェロー(特別研究員)として,Linuxの開発を率いています。

 OSとしてのLinuxの役割を少し細かく見てみましょう。OSは一般に,プログラムが動作するときのプロセス管理やメモリー管理,ファイル管理,入出力管理などを行います。また,特にパソコンの場合はグラフィカルなユーザー・インタフェースの機能もOSの役割と言えます。コンピュータが人間にとって使いやすくなればなるほどOSの役割が拡大する傾向にあり,ファイル操作やWebブラウジングで使うアプリケーション(例えば,Windowsに付属する「Internet Explorer」)もOSの一部とみなすこともあります(これについては異論もあります)。

 これまではOSを指す言葉として「Linux」を使ってきましたが,実は正しくありません。Linuxは,厳密には,OSが提供するさまざまな機能の中で最も基本的かつ重要な機能を提供するプログラムを指します。このプログラムは,OSの中核を成す重要な機能を提供していることから「kernel」(カーネル)と呼ばれます。

 kernelはOSの中核部分ではあるものの,それだけではアプリケーションを動かすことはできません。アプリケーションを動かすためには,カーネルにさまざまなプログラム(ライブラリやコマンド,デバイス・ドライバなど)を組み合わせる必要があります。

 kernelにさまざまなプログラムを組み合わせてOSに仕立て上げる作業はかなり大変です。相当の手間とスキルが必要になるので,だれでも手軽にできるわけではありません。そこで登場したのが,インストールするだけですぐに使えるOSとして提供されるLinuxディストリビューション(図1)です。

 kernelおよびさまざまなプログラムで構成されるLinuxディストリビューションは,OSとしてすぐに使える上,例えばWebサーバー・ソフト(Apache HTTP Server)やファイル・サーバー・ソフト(Samba),Webブラウザや電子メール・クライアントといったアプリケーションが多数付属しています。一般にLinuxというときには,kernelとしてではなく,すぐに使えるOSとして仕立てられたLinuxディストリビューションを指すことが多くなっています。

 また,OSとしてのLinuxを「Linux OS」と呼ぶこともあります。ちょっと話が脱線しますが,UNIX互換OSの開発を目的にRichard Stallman(リチャード・ストールマン)氏が1984年に設立したGNU Projectは,OSとしてのLinuxを「GNU/Linux」と呼んでいます。なぜならLinuxは,GNU Projectが開発してフリーで公開しているライブラリやコマンドを用いてOSとして成り立っているためです。