前世紀のLinux:黎明編
 〜 Googleがあまり知らないLinuxの歴史 〜

今でこそ無視できない存在に成長したLinuxですが、そこに至るまでにはLinusだけでなくさまざまな人の関わりがありました。Linuxカーネルがこの世に生まれた1990年代初頭を振り返ります。(編集部)

WASP株式会社
生越 昌己
2008/9/29

 ある日、@IT編集部から、「Linuxの昔話を誰か書いてくれないか」という話がやって来ました。まぁ古い話なら私に振られてもしょうがないかと引き受けた次第です。

 打ち合わせのときに「最近の話ならググればいくらでも出てくるのだけど、Linux初期のころの話は意外に出てこない」という話になりました。確かに、古い時代の人々の動向や背景といったものは、意外なほど情報がありません。

 試しに「Linux 歴史」でググってみると、有効な情報があまり出てこないことが分かると思います。多くは語り継がれていなかったり、新しい情報で上書きされていて、なかなか一次情報に近いものには当たれません。そこで「Googleがあまり知らない前世紀のLinuxの話」をお話ししたいと思います。

Linux誕生前夜のパソコン業界

 Linuxのコードが書かれ始めたのは、1991年の春ごろのことのようです。このあたりの細かいタイムラインについては、表1に示します。

表示項目 表示内容
1991年4月ごろ Linusがi386の勉強を始める
1991年6月ごろ カーネルらしい動作をするプログラムができる
1991年7月3日 Linus、comp.os.minix(ニュースグループ)にPOSIXについての質問をpostする
1991年8月25日 Linus、comp.os.minixに新しいOSの機能についてのpostをする
1991年9月中旬 Ver.0.01リリース
1991年10月下旬 Ver.0.03。gccのセルフコンパイルが可能になった
1991年12月25日 仮想記憶のサポート
1992年1月12日 タネンバウムとflame warが始まる
1992年2月10日 flame war終わる。comp.os.linuxができる
1992年10月13日 kon公開
1992年12月3日 「Linuxメーリングリスト」始まる
1992年12月 comp.os.linux.announceができる
1993年5月1日 JE公開
1993年8月25日 fj.os.linuxができる
1993年9月16日 JF MLができる
1993年11月 「日本語 Linux + JE」CD-ROM発売(日本最古のLinux CD-ROM商品)
1994年3月 「Linux Journal」創刊(最古のLinux専門誌)
1994年3月14日 Ver.1.0
1994年4月 Super ASCII上でLinuxの連載開始(最初のLinux連載)
1996年 最初のLinux商標問題が起きる
1996年2月14日 linux.or.jpを取得
1997年 日本で多くのLinux SIerが誕生した年
1998年2月3日 「オープンソース」という言葉が誕生する
1999年4月1日 日本Linux協会発足
1999年8月 Red Hat株式公開(この年にはほかのいくつかのLinux会社が上場)
表1 初期のLinux年表

 Linux以外の歴史的な背景から説明すると、このころはPC/ATのCPUがそろそろ386や486に、つまり32ビットが普通になろうとしている時期でした。日本ではまだPC-9801シリーズが幅を利かせていて、そろそろDOS/Vが一部マニアに使われるようになり始めたころでもあります。

 CPUは32ビットになっていましたが、OSの方はまだまだで、Windowsではやっと3.0が出ようとしていました。どうしても32ビット環境を使いたい人は、お金があればSCO UNIXを買い、お金がない人は386DOS Extenderをはじめとする「DOSの上に32ビット環境を作るソフト」を使っていました。私は、DJGCCを使ってgcc(1.3.6辺り)を使ってGNUのソフトを動かしたり、そのころ公開されたMach 3.0のビルドに挑戦したりしていました。

 またその当時、「Dr. Dobbs Journal」では、BSDコードのうちフリーになったものだけをベースにして不足している部分を書き足すということに取り組み、BSDをPC上で動かすという記事をジョリッツ夫妻(William JolitzおよびLynne Jolitz)が執筆していました。これがLinuxとほぼ同じころに公開された「386BSD」です。

 当時のPCの平均的なスペックは、メモリは8Mbytes、CPUは486、HDDは200Mbytesくらいというものでした。ハードウェアは32ビット時代。商用OSではいまだ16ビットが主流で、それでは飽き足らない人が32ビットを摸索し始めたという時代です。このような時代背景があって、Linuxは最初から32ビットでスタートしています。

その先駆者、minix

 Linuxの歴史や背景はUNIXのそれと無関係ではありません。しかし、本稿でUNIXの歴史や背景を詳しく書く余裕はありませんので、Linuxの歴史と関係の深い部分だけ、ちょっとだけ触れておきます。

 UNIXは、ごく初期にはほぼオープンソース()なOSでした。実際にUNIX Version 6のソースコードを解説した「Lions' Commentary on UNIX」という本が出版されています。これは生きたOSの教科書として使われたものです。

注:当然、「オープンソース」という言葉ができる以前のことですから、厳密にいえばオープンソースではありません。

 ところがその後は、UNIXのソースを入手するには、AT&Tのライセンスを受けなければいけなくなったうえ、それはかなり高価でした。

 この後、やはり「OSの教科書」のためのソースコードの必要から、アンドリュー S. タネンバウム(Andrew S. Tanenbaum)によって「minix」が作られました。このminixは外見はほとんどUNIXですが、まったく独自に作られたものです。

 特にカーネルの構造はUNIXとは全く異なり、マイクロカーネルの上にOSの機能が実装されるようになっていて、「現代的」なOSでした。また、ハードウェア環境は当時の諸外国での一般的なパソコン環境であったIBM/PCを想定して作られていました。つまり、学生が実際に自分の机の上にあるPCで動かすことのできるOSが、ソースコードとその解説とともに入手できたわけです。

 minixはOSの実装の教科書である「Operating Systems: Design and Implementation」とともに配布されていました。いわゆる完全なフリーソフトウェアではありませんでしたが、あまり厳しい制約のあるライセンスでもありませんでしたから、当時の「UNIXのようなもの」に飢えている人々の支持を受けていました。

 日本では1989年に、Operating Systems: Design and Implementationの和訳が発刊されました。当時の日本では「パソコン」といえばPC-9800シリーズでしたから、当然そのままでは動きません。そこで和訳本の出版元であるアスキーがPC-9800に移植したものを配布していました。これは主にJUNETを中心に、アカデミック方面で情報交換が活発に行われていました。

 これとは別に、ほぼ同じころ、まったく別のコミュニティから、やはりmimixをPC-9800シリーズに移植した版が発表されました。これは正式な配布契約の下で配布されるものではなかったため、「原書を買った人に限り配布してもよい」という形式で配布されていました。このコミュニティはパソコン通信の「日経MIX」が基でしたので、「アスキー版」に対して「MIX版」と呼ばれていました。

 2つの版は、基になったminixは同じですが、移植の仕方が異なるため、互換性があまりありませんでした。また、当時はいまのインターネットの上のコミュニティのように、コミュニティ間でのつながりもあまりなかったため、ちょっとした意見の相違や「口の利き方を知らない人たち」のせいで、磨擦が起きていました。

 MIX版の方には、しばらくしてDOS/Vと同じ原理の「グラフィックを使って日本語を表示する」という機能が実装されます。DOS/Vと同じ原理なので「minix/V」と呼ばれていました。Linux上でも、同じような考え方と同じフォントデータを使って、日本語コンソールである「kon」が作られました。

 
1/2

Index
前世紀のLinux:黎明編
 Googleがあまり知らないLinuxの歴史
Page 1
 Linux誕生前夜のパソコン業界
 その先駆者、minix
  Page 2
 Linux、登場
 JE誕生と日本での認知度向上

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間