Linuxの名前は,本来カーネルに付けられたものだが広い意味でコンパイラ,エ ディタ等のプログラムを含めたシステム全体を指す。しかし,カーネル単体では システムとしては動作することができない。そこでシステムとして動作出来るよ うに環境を整え,インストールできるようにパッケージングしたものをディスト りビューションという。以下にLinuxの特徴をあげる。
LinuxのコードはUNIXのコードはまったく使っていない。この ためLinuxはGPLにしたがって配布され,誰でも 自由にしかも無料で入手することができる。もちろん使用に関し ても自由である。
このことから勝手に売ってもかまわないことがわかる。もちろん,商品として売 られたLinuxに関しても配布や使用に関して制限はない。
故にLinuxそのものの販売で商売を行うことは難しい。
実際,Linuxを販売している企業の多くは,その他のアプリケーションと一緒に することで付加価値を高めたり,購入してからのアフターサービスによって収入 を得ている。
Linuxは,POSIX相当の仕様を満たしてい るためUNIXで書かれたソフトウェアのほとんどを簡単に移植し, 実行することができる。
PC互換機の他にもCompaq Alpha,Sun SPARC,Power PCのマシンでもどうさする。
Linuxでは、カーネルを中心に多数のソフトウェアから1つの Linux環境を構成する配布パッケージが公開されている。
LinuxにはJRPM(Linux Japanese RPM Project)と呼ばれるプロジェクトにより日本語拡張キットが開発 されている。このプロジェクトで作成されたパッケージはTurbo Linux,Caldera Open Linux,日本語 Red Hat 5.2等で使用されている。
Linuxは各種のネットワークのインターフェースとプロトコル に対応している。
Linuxの動作は安定している。数ヵ月の連続運用でもOSが落ち ることはほとんどない。
Linuxが必要とするマシンスペックは他のOSに比べて低い。
以下にいくつかの機能を紹介する。
バイナリの標準フォーマット。共有ライブラリの作成 と動的ロード機能の実現が簡単である。
実行時にライブラリを探し出してリンクする機能。
実行時に必要とされるモジュールをロードする機能。
Linuxでは各種ハードウェアに対応したドライバが用 意されている。
ドライバはカーネルの再構築時にカーネル内部に組み込むこともできるが,ドラ イバ野多くはローダブルモジュールにできる。こうすることによって,カーネルが動いている状態でもド ライバを動的に組み込んだり,取り外したりできるようになる。
たまにしか使わないドライバはローダブルモジュールにし,必要なときだけ利用 する等といった使い方ができる。
Linuxは多くのファイルシステムに対応している。 MNIX,Xenix,DOS,HFS(Macintosh)には読み書きで, ISO 9660(CD-ROM),HPFS(OS/2),AFFS(Amiga),UFS(BSD UNIX)には読み込みだけで対応している。
Linux独自のファイルシステムext2では,ファイル名は255文 字,4TBまでのディスクを扱うことができる。
コンソール画面を複数持ち,これらをキーボードから 選択して使うことができる。
PC 互換機のLinuxでは,iBCSモジュールによって, SCO UNIX,PC互換機のSVR4 UNIX(UnixWare ,Dell UNIX, Interactive UNIX等),WyseV/386 UNIX,XenixV/386, Xenix 286等のUNIX用のソフトウェアのバイナリコード をLinuxで動かすことができる。
DEC AlphaのLinuxはDigital UNIXのバイナリコードを実行でき,Sun SPARCの LinuxはSolaris 1 (SunOS 4)バイナリコードできる。
pcmcia-csというパッケージを利用すれば,PCカード を抜き挿しするだけで自動的に必要なドライバが組み込 まれる活線挿抜機能が使える。
ノートPCに組み込まれている節電用のAPM BIOSのデー タを読みとって,現在のバッテリの状況や予想される 待ち時間を表示することが可能である。
ノートPCのサスペンド,レジューム機能にも対応している。
Linuxではフリーのソフトウェアが多く存在するが,商用のソ フトウェアもある。
DOS,Windowsの同種のソフトウェアと同程度の値段で売られている。
例をあげると,HDの管理はDOSと同じパーティションテーブルを利用している。
Linuxの開発過程はインターネット上で公開されている。 誰でも最新のカーネルを入手することができる。
Linuxのカーネルには安定版と開発版の2種類ある。