スポンサーリンク

Linux kernel の歴史を振り返る

emperor penguin on snow
記事内に広告が含まれています。

学生時代に PC-9801DS で FreeBSD(98)、IBM-PC 互換機 (Dual Celeron機) で Linux に接するようになってから凡そ30年。そういえば継続して Linux に触れつつも Linux の歴史についてちゃんと調べた事がありませんでした。はてなブログの過去の下書きを探すと書きかけの記事がありましたので、折角ですので Linux の歴史について新たに調べ直して記事にしました。

だいぶ昔の話なので、この記事を作成した時点ではリンク切れはない事は確認していますが、もしリンクが切れていたらご指摘下さればと思います。

2024年1月23日 追記 : スラドと OSDN 閉鎖に伴い、リンク削除・リンク先変更

スポンサーリンク

linux が生まれる前〜2000年まで

Linux が生まれる前から Linux が普及するまでの軌跡をまとめた記事です。昔の記事ですので文字コードが Shift-JIS です。最近のブラウザでは問題ないかと思いますが (少なくとも chrome では大丈夫でした)、文字化けする場合には Shift-JIS 指定で読めるようになります。

1946年~2000年までを、Linux を軸に Multix / Unix / BSD系 / Minix の関係についてまとめられた年表です。

1991年が Linux の生まれた年、上の年表では 1991年9月17日と記載されています。この当時に今の状況を予想していた人はいなかったでしょう。Minix 上で独自の OS を作って Intel 386 環境のみとはいえ boot 出来て GNU tool を使用して bash が起動する環境を PC で実現する、当時の環境としては画期的だったと感じます。

Linux の 0.01 が公開された2年後の1993年には XFree86 とか JF とか Mosaic とか Netscape とか懐かしい単語が並んでいます(説明は省略します)。Minix vs. Linux 論争とか、当時はリアルタイムで雑誌で読んでいました。

参考文献の Software Design や 日経 Linux は当時はよく購入していました。今ほど Internet の速度が潤沢ではない時代でしたので CD-ROM / DVD-ROM 目当てでした。Linux の kernel patch が付属していたので、変更点を確認して patch を当てて再コンパイル、なんて事を毎日のようにやっていました。研究室配属後の学部4年次・修士2年間の計3年間は、個人 PC を研究室に持ち込んで、Internet 回線を使わせてもらえる良い時代でした (とはいっても Mbps クラスの回線でしたが、自宅のテレホーダイ ISDN 64kbps と比較すれば高速)。NetNews (今の若い人たちは知らないと思いますが、回線速度節約の為にリレー形式で記事を転送する仕組みが昔はあったのです) の fj.os.linux を読み漁っていた時代でした。

スポンサーリンク

Linux-0.0.1 のリリースノートの翻訳

linux-0.0.1 RELNOTES 0.01 (の前半部分) を翻訳した方がスラド (/.jp) に寄稿されていました(AC ですが)。

20240123 追記 : スラド閉鎖に伴いリンク削除。

文章は保管しましたが、転載して良いか判断つきませんのでリンクの削除のみで対処します。

'Notes for linux release 0.01' の 0〜3 までの和訳です。4〜8 の和訳はスラド (/.jp) 以外でもみつかりませんでした。英語の全文は以下のページにあります。

親ディレクトリには、0.12 ~ 0.97 までの RELNOTES もありました。

Linux version 0.01 ~ 1.0 (1991年9月〜)

Linux の初期に雑誌や Netnews に寄稿・投稿されていた生越 昌己さんが @IT で 2008年に書かれた記事です。黎明編と飛翔編、それぞれ前後編。

(4番目は 1/2 となっていますが元記事タイトルがそうなっています。内容は 2/2)

linux-0.01 のリリースは 1991年9月頃と書かれています。何時をもって linux のリリースとするかについては判断が難しいと思いますが、

  • Netnews の comp.os.minix へ POSIX についての質問を投稿したのは1991年7月3日
  • Linux を作っていますと投稿したのが8月25日
  • ftp で linux-0.02 の source を公開した事を投稿したのが10月5日

なので、linux-0.01 の動作する version が出来ていたのは9月頃なのだろうと思います。Linus さん自身も明確ではなさそうです。(参考)

私が初めて Linux を知って IBM-PC互換機(Dual Celeron機だった)に入れたのは大学4年の頃ですので、1992年だと記憶しています。生越さんの記事の1番目の年表からしても、Version 1.0 になる前でした。最初の Distribution は Slackware + JE で kernel module が出る前だったので、新しい patch が出る度に CHANGE を見て make config 、make zImage で kernel を作り直していました。menuconfig が使える様になって楽になった事を覚えています。framebuffer console を使って高解像度で kon を使い、その後 X window で日本語を使えるようにしました。

Linux の誕生から 0.99 までについて、Linus さんのインタービューの翻訳が残っていました。こちらでも Birthday について書かれていますが、「何時」という結論は出ていません。(あまり気にしていないのかもしれません)

20240123 追記 : OSDN 閉鎖に伴いリンク先変更

JF (Japanese FAQ) と JM (Japanese Man page)

使い始めた初期に非常に参考にさせて頂いた JF (Japanese FAQ) と JM (Japanese Man page)は osdn に移動していました。

20240123 追記 : OSDN 閉鎖に伴いリンク先変更

JF (Japanese FAQ) には、kernel 2.2 〜 2.6 の kernel 付属文書、及び configure.help の和訳が残っています。JM (Japanese Man Page) は現在では各ディストリビューションに取り込まれていますが、当時は JE (Japanese Extension) で提供されていました。

Linux Kernel の Changelog

Linux kernel の Changelog は以下にまとめられています。

一番古いもので、kernel-2.5.1 December 17, 2001 なので、これより古い Changelog をまとめているサイトは見つかりませんでした。これより古い物については、kernel source から取り出すしかありません。

linux で module が使用できるようになったのは linux-1.2.0 からでした。こういう事は kernel source を展開して中身を確認しないとダメなようです。(途中で kernel module の形式が変更になったような記憶もあります)

そのうち、時間を見つけて linux の初期の kernel 探検もしてみたいと考えています。

linux kernel-0.01 を qemu で動かす事例

古い linux kernel を qemu で動作させるのも、面白そうなのでやってみたいと考えています。流石にそのままでは動作どころか compile が通らないようで、最近の gcc で compile が通るように直している方もいらっしゃるようです。linux-0.01-rm-3.5.tgz が最新の模様。compile を通すのも、起動させるのも手間がかかるようですが、そのうち私も試してみたいと考えています。

既に試している方がいるようで、次の記事が見つかりました。

なかなか起動までは辿り着けていないようです。ソフトウェアもそうですがハードウェアの環境が特殊な事もあるのでしょうね。

まとめ

Linux kernel の歴史を、現在入手できる資料で振り返ってみました。はてなブログで素案を作っていて、暫く放置されていた記事を再構成しました。

それぞれの資料を読むと、学生当時に Linux kernel をコンパイルしていた日々を思い出しました。Linux に関する雑誌もほぼ毎月購入し、CD-ROM / DVD-ROM で入手したパッケージやパッチを使用しながら環境を作っていたのも、様々な経験をする事が出来ましたので、良い思い出です。

当時と比べると、Linux を取り巻く環境は大きく変わりました。Debian や Ubuntu、RedHat 等のバイナリパッケージでインストールできるディストリビューションや、Arch や Gentoo、LFS のような特徴的なディストリビューションまで、用途や好みに応じて選択肢が広くなりました。GUI も素の X window や Motif から GNOME や KDE に変わり、Windows の様に便利に使えるようになりました。

その分、ブラックボックス化されていて「よく分からないけど使えている」状態になってきているのが、個人的にも気になっています。

CUI ベースでシンプルな構成で使いながら、もう少し基礎的な部分の理解を深めて行きたいと考えています。

今回のアイキャッチ画像

Linux の記事なので皇帝ペンギンの画像を生成しました。ペンギンは Linux のマスコットです。

コメント

タイトルとURLをコピーしました