ELKSとFuzix: LinuxとUnixを非常に小さく

Table of Contents

ELKSとFuzix: LinuxとUnixを非常に小さく

ELKS OS のバージョン 0.7.0 と、その開発者の次なる作品である Fuzix のバージョン 0.4.0 がリリースされました。できるだけ小型の 'nix システムがお好みなら、ぜひお試しください。

どちらのOSもLinuxディストリビューションではなく、そもそもLinuxの一種でもありませんが、ELKSはLinuxカーネルに関連しています。ELKSはEmbedded Linux Kernel Subsetの略称で、メモリ管理ユニットを必要としない、最小限のLinuxライクなカーネルです。

Linuxは元々、ページベースのMMUをはじめとする様々な機能を備えたIntelの32ビット80386プロセッサフ​​ァミリー向けに開発されました。ELKSはそのようなレベルのメモリ管理を必要としないため、x86-32よりも古い2つのx86チップファミリー、8086と80286でも動作可能です。プロジェクト開始から1995年という初期の頃、ELKSはLinux-8086と呼ばれていました。

ELKSは、Linuxカーネルのコアハッカーであるアラン・コックス氏によって設立されました。彼はLinux黎明期には、しばしばリーナス・トーバルズの副官と呼ばれていました。彼は10年前にLinuxの役職を辞任しましたが、それはELKSの開発をほぼやめてからのことでした。

これが、私たちにとってこのプロジェクトを興味深いものにしている理由の一つです。インターネットアーカイブにある元のプロジェクトページのコピーを見ると、初期の大きな進歩が見て取れます。その後、プロジェクトは元のプロジェクトページに移り、Sourceforgeのページを見ると、15年経った今でもバージョン0.2.0にしか達していないことがわかります。

現在、MicrosoftのGitHubでホストされており、リリース履歴を見るとここ数年でペースが変化していることがわかります。現在のリード開発者であるGregory Haerrが引き継いでからは、2020年以降4回のリリースがあり、現在は0.7.0となっています。

ELKS はハードディスクから実行され、32 MB のハードディスク イメージのうち 2 ¼ MB という膨大なサイズを使用します。

ELKS はハードディスクから実行され、32 MB のドライブ イメージのうち 2 ¼ MB という膨大なサイズを使用します。

7月にUNIXバージョン6と7の後継となるいくつかの最新版について記事を書きましたが、ELKSはさらに小型で、360KBのフロッピーディスクに収まり、そこから起動できます。ELKSを製品に採用することは想像に難くありませんが、先日記事を書いたように、今世紀には8088を搭載した新しいPCが次々と開発されています。ELKS 0.7.0では、記事で紹介したNuXTマザーボードと、非常に人気の高い3Com Etherlink III ISAネットワークカードのサポートが追加されました。小型ながらも機能的なOSであるELKSは、オペレーティングシステムの設計を学ぶのに最適な方法です。

  • OctoXはRISC-V用の非常に古いOSのRustによる根本的な実装です。
  • 最近では古い技術にたくさんの新しい技術を教えることができる
  • 危険な生き方をしたい?2023年にWindows XPを試してみよう
  • Slackwareは最初のLinuxディストリビューションではないが、現在も生き残り、活躍している最古のディストリビューションである。

ELKS でどんなことができるのか試してみたい方は、すぐに実行できる様々なイメージをダウンロードできます。オリジナルの40トラック5.25インチフロッピーディスクから、VM用のプリインストール済みハードディスクイメージまで、様々なイメージが用意されています。ドキュメント付きのGitHub Wikiもご利用いただけます。VMのセットアップが面倒な場合は、ブラウザでエミュレーターを実行することもできます。

ELKSはグラフィックも表示できます。こちらは美しいVGA解像度の「nxworld」アプリです。

ELKSはグラフィックも表示できます。こちらは美しいVGA解像度の「nxworld」アプリです。

ELKSは、現在開発が活発に行われている、超ローエンドシステム向けの小型UnixライクOSの1つに過ぎません。ELKS 0.7.0のリリースのわずか1か月前には、Alan Cox氏が次に移ったプロジェクトであるFuzixもバージョン0.4.0にアップデートされました。

以前、Raspberry Pi Pico用のUnixライクOSとしてEl RegでFuzixについて紹介しました。しかし、FuzixはRC2014やAmstrad NC200といったCP/Mクラスのハードウェアなど、さらに小型のシステムでも動作可能です。

Fuzixは、1980年代にDoug Braun氏によって開発されたZ80マシン向けの古いUnixライクOS「Uzi」を拡張した複数のフォークを統合したものです。コードの古いスナップショットと、簡潔な歴史は、別のGitHubリポジトリにあります。

これらのプロジェクトはどちらも、フリーソフトウェアとオープンソースの力を示す素晴らしい例です。アラン・コックス氏自身が2001年の初めにELKSは事実上終焉を迎えたと宣言していたにもかかわらず、約20年後に復活を遂げたことは心温まるものです。一方、Fuzixはほぼ2倍も古いコードに基づいています。

多くの印象的で価値のあるソフトウェアが歴史の中に埋もれてしまいましたが、Perihelion の Helios クラスター OS など、注目すべきプロジェクトは GitHub 上に存在し、誰かが眠りから覚めるのを待っています。

こうしたプロジェクトの教育的価値も重要です。ソフトウェアが肥大化し、USBメモリにディスクイメージを書き込むツールが225MBも占有する時代において、そしてハゲタカがこの記事を書いているテキストエディタは、使い心地は良いものの、なんと400MBものディスク容量を消費します。それなのに、その1000分の1の容量しか必要としないオペレーティングシステムに出会う​​のは、実に新鮮な感覚です。®

Discover More