小さくても強力な9Frontの「Humanbiologics」は、本当に好奇心旺盛な人のためにあります

Table of Contents

小さくても強力な9Frontの「Humanbiologics」は、本当に好奇心旺盛な人のためにあります

ベル研究所の Plan 9 の開発を継続する主要プロジェクトである 9Front が、これまで同様に謎めいているが重要な新たなバージョンを発表しました。

「Humanbiologics」は9Frontプロジェクトの最新リリースで、昨年6月にリリースされたコードネーム「Don't touch the artwork」の後継となる。プロジェクトのホームページ同様、このタイトルは意図的に謎めいている。これは歓迎的なプロジェクトでも、初心者を奨励するプロジェクトでもない。これはペルシャ語で「ターロフ」と呼ばれる礼儀正しさに少し似ている。何かを誰かに差し出すとき、通常は3回は断られることを覚悟している。決意は報われるのだ。

Reg FOSSデスクが約1年前に9Frontを視察した際、このプロジェクトがこれほど活発に活動しているとは認識していませんでした。しかし、これは2023年の2回目のリリースです。Humanbiologicsには、Arm64の処理能力の向上、Raspberry PiのWi-FiおよびI²Cインターフェースのサポート、透過的なEthernet/Wi-Fi切り替え、オーディオデバイスドライバーの追加、BIOSおよびEFIブートローダーの改良など、多数の新機能と改良点が含まれています。しかし、重要なのは機能ではありません。

9Frontは、Plan 9の開発を継続した複数のプロジェクトの中で、群を抜いて最も活発なプロジェクトです。他にもいくつかありますが、それほど活発ではありません。9legacyは時折活動が見られますが、Jehanne OSはGitHubから撤退して以来、開発が停滞しているようです。Harvey OSは既に廃止されています。Harvey OSはr9に置き換えられました。r9は現在も開発が活発に行われていますが、これは全く異なるものです。Plan 9をRustで再実装しようとする取り組みです。

プラン9のバニー、グレンダ

プラン9のバニー、グレンダ

探索を始める前に、歴史について少し知っておく価値はあります。そうでないと、プロジェクトの姿勢が非常に不快に感じられるからです。

Plan 9は、Unixの創始者であるケン・トンプソンと故デニス・リッチーが、Go言語の創始者であるロブ・パイクの協力を得て次に着手したプロジェクトです。Plan 9はUnixとC言語を基盤としていますが、両者を新たな方向に拡張しています。Unixは当初、8KBのメモリとGraphic IIディスプレイを搭載したPDP-7ミニコンピュータ上でアセンブリ言語で記述されていましたが、後に12KBという巨大なRAMを搭載したPDP-11向けにC言語で書き直されました(RAMの半分はRAMディスクに使用されていました)。

一般的にPlan 9として知られるこのOSは、1992年にベル研究所から初めて登場しました。Unixは1960年代のプレーンテキスト端末を搭載したミニコンピュータ上で構築されましたが、Plan 9はネットワーク接続されたグラフィカルワークステーション向けに設計されており、その両方がPlan 9の設計に深く組み込まれています。開発者たちはUnixの「すべてはファイルである」というモットーを生み出しましたが、今回はそれをさらに推し進めました。Plan 9のファイルシステムには、UnixやLinuxでは何らかの特別な意味を持つ、あるいはファイルではないプレーンテキストファイルが多数存在します。難解なテキストエディタやキー入力の代わりに、Plan 9のはるかにシンプルなシェルは、マウスでコピー&ペーストできることを前提としています(もっとも、Plan 9自体が非常に難解な点も否めませんが)。

ここではディスプレイサーバーやウィンドウマネージャーの選択肢はありません。なぜなら、Rioと呼ばれるウィンドウインターフェースはOSの中核部分であり、ウィンドウはファイルシステムの一部だからです。各ウィンドウは名前空間であり、テキストをファイルとやり取りすることでGUIで入出力を行うことができますcat。また、ファイルシステムがネットワーク透過的であるため、ウィンドウシステムも同様です。Waylandは、一部の人にとって非常に重要な点においてX.orgよりも劣っていますが、9frontとRioははるかに多くの機能を備えており、さらに重要なのは、はるかに小型でシンプルな構成でありながらそれを実現している点です。

(Plan 9 の技術の一部、たとえば/procファイルシステムは後に Linux に再採用されましたが、これは車を防水加工してプロペラを後ろにボルトで固定するようなものです。沈まないかもしれませんが、だからといって良い船になるわけではありません。)

9frontコミュニティの冷淡な態度の一部は、Unix界隈がそのアイデアに反応したことに起因しているのではないかと我々は考えています。Plan 9は非常に成熟したOSであり、LinuxやWindows NTと同時期にリリースされています。2000年にオープンソース化され、2014年にGPLに移行し、数年前には独自の財団も設立されました。

最も重要な点において、これはUnixよりも優れたUnixです。はるかに小型です。9FrontチームのDave Woodman氏は次のように述べています。

サイズが小さく、比較的シンプルなので、すぐに作業できます。

カーネルには合計38個のシステムコールがあります。比較のために言うと、2017年時点でLinuxのシステムコールは約341個で、2016年の335個から増加しています。例えば、今年は新しいファイルシステムマウントAPIが追加されました。

LinuxやBSDを含む現代のFOSS Unixは、驚異的な成果であり、非常に優れた性能を備え、大規模で強力なシステムを構築しています。Linuxはもはや学生のおもちゃのOSではありません。世界中の多くの場所でLinuxが稼働しています。しかし、Linuxのコードを読んで動作原理を理解するのはもはや不可能です。カーネルは約3000万行のコードです。Smalltalkの共同開発者であるアラン・ケイがLinuxを「悪いアイデアの宝庫」と呼んだのは、まさにこのためです(ただし、後に彼はこの主張を改めて述べています)。「Linuxをいじくり回して一生を過ごし、コンピューティングについて何も学べないこともあるでしょう。」

今日、LinuxはUnixです。しかし、Unixを設計した天才たちはそこで止まることはありませんでした。世に送り出され、BSDやLinuxに影響を与えた比較的初期の実装は、Unixの終着点ではありませんでした。トンプソンとリッチーは開発を続け、コンセプトを洗練させ、磨きをかけ、実装を簡素化し、明確化しました。Plan 9は彼らが発表した最初の成果であり、だからこそ私はこれを「Unix 2.0」と呼んでいます。Plan 9はUnixよりも優れたものを世界に提供しました…しかし、Unixは十分に優れていました。商用Unixユーザーにとって、Plan 9は混乱を招くほどの価値がなかったため、彼らはそれを無視し、許容範囲内で動作しているものをそのまま使い続けました。

その結果、今では34の言語で15行ものコードを持つOSが存在します。これは、一人の人間が一生かけても理解するにはあまりにも膨大です。だからこそ、これらすべてを動かし続けるために、世界規模で9兆ドル規模の産業が存在しているのです。

  • Unixは死んだ。Unix万歳!
  • OctoXはRISC-V用の非常に古いOSのRustによる根本的な実装です。
  • Plan 9がオープンソース化
  • ベル研究所、影響力のある「プラン9」OSの著作権を新財団に譲渡

拒否されても諦めない人もいます。9Frontの開発は今も続いています。これは現代のハードウェア向けの最新のOSです。コードを読み解いて動作原理を学びたいなら、他にも小型のUnixシステムが存在します。9Frontは初期のUnixと比べると小型でシンプルです。1976年に史上初のUnix移植[PDF]を行ったプログラマー、リチャード・ミラーは、36年後にPlan 9をRaspberry Piに移植しました。これは素晴らしい献身です。

9Frontは、例えばXv6のような教育システムよりもはるかに多くの機能を備えています。かつてのPlan 9よりもずっと親しみやすい…ただし、それは学びたいと願うプログラマーという、適切な人材にのみ向けられたものです。9Frontは、ありきたりのLinuxディストリビューションではありません。だからこそ、彼らは歓迎の敷居を高く設定していないのでしょう。これまで何度も拒絶されてきたのですから。®

ブートノート

プロジェクトのマスコット、プラン9バニーのグレンダにちなんで、私たちは彼らを「ビジーバニー」と呼んでいます。グレンダを見てゴー・ゴーファーを思い出す人がいるとしたら、それは偶然ではありません。どちらもルネ・フレンチが描いたものです。

Discover More