(2004.10.11ページを分離、新規作成。)
(2005.10.16更新、2006.6.15更新。)
PCで動くフリー (自由な) OSをいろいろ試してみる。PCで動く、ということで、多くの組込みOSは対象から除く。試せないし。
Haiku - BeOS互換OS BeOS風
AROS AmigaOS 3.1互換OS.
MINIX 3 マイクロカーネルUNIX.
Plan 9 UNIX の後継。2020.10にも新版のリリースあり。
関連しそうな記事。
FreeBSD FreeBSDの派生ディストリビューションや, ZFSについてもこちら。
目次:
いずれも、カリフォルニア大学バークレー校 (UCB) で開発された4.4BSD Lite をベースに開発されている。
jp.netbsd.org ドメインは Japan NetBSD Users' Group というユーザグループのもの。入手先ではない。
大変移植性に優れたUNIX OS。非常に多くのプラットフォームをサポートしている。Platforms Supported by NetBSD
Tier 1はそんなに多くない -- x86_64, arm, mips, powerpc, i386, sparc64, Xen VM -- が、Tier 2 でも最新バージョンに追従しているのが凄い。
NetBSD memo 雑多なメモ.
徹底してセキュリティにこだわったUNIX OS。2020年10月のOpenBSD 6.8 で, プロジェクト25周年。
(2008.3.10 追加。)
Sun Microsystems社のUNIX OS、Solarisをオープンソース化したもの。バイナリ版はSolaris Express。
[2011-08] Sun MicrosystemsはOracleに買収され,SolarisもOracleのプロダクトになりました。その後、Oracleは OpenSolaris のソース公開を終了しました。
[2020-11] Oracle Solaris も 11で止まっているように見える。2018年8月の v11.4 が最新か。
コミュニティベースの活動は illumos に引き継がれています。illumosはOSカーネル。
デスクトップ環境などを加えたディストリビューションとしては、例えば OmniOS や OpenIndiana があります。Linux と同じモデル。OmniOS はサーバ向け。OpenIndianaは Workstation, Server向け。
Redox is a Unix-like Operating System written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications.
[2020.7] バージョン0.5.0を試してみた。GUIも動く。これはすごい! まだGUIは未完成。
ライセンスは MIT, ウィンドマネジャはwayland, Orbital (Weston and Qt). パッケージマネジャは Nix.
マイクロカーネルOS, POSIXサポートを目指しているみたい。Wayland.
試してない.
プラハ・カレル大学で開発されている, マイクロカーネルOS.
何これすごい。何かのforkというわけでもなさそう?
Design differences from UN*X and POSIX systems:
かなりUNIXとは異なる.
(2005.10.16)
ユーザーモードOS。ホストOSの上で仮想的なOSとなる。位置づけとしてはJava VMに近い。ホストOSとしては、Windows, UNIX OS (Solaris, UnixWare, Linux, FreeBSD, HP-UX, Irix), MacOS X, Plan9が利用できる。
インストールCD-ROMイメージがダウンロードできる。ブータブルCDではない。ソースコード inferno-os / inferno-os 意外に、開発が継続している。
Windows XPにインストールしてみた。インストールは、CD-ROMをマウントして、install/setup.exe を実行する。インストール後の大きさは141Mバイト。
emuコマンド(<インストール先>/NT/386/binにある)にインストール先ディレクトリをオプションとして付けて実行する。
emu -rf:\inferno
シェルが起動する(プロンプトは';')。/dis/wm/wm でウィンドウが開く。
(2005.10.16)
(2005.6.11 この節を追加。)
L4は非常に小さなマイクロカーネル。システムコールは次のものしかない。APIとしては、これらを利用したサポート関数がいろいろ加わるが、それでも非常に少ない。
L4 eXperimental Kernel Version X.2 Revision 6 (June 8, 2005)
#include <l4/kip.h> void * KernelInterface (Word& ApiVersion, ApiFlags, KernelId)
#include <l4/thread.h> ThreadId ExchangeRegisters ( ThreadId dest, Word control, sp, ip, flags, UserDefinedHandle, ThreadId pager, Word& old_control, old_sp, old_ip, old_flags, old_UserDefinedHandle, ThreadId& old_pager) Word ThreadControl (ThreadId dest, SpaceSpecifier, Scheduler, Pager, void* UtcbLocation)
#include <l4/schedule.h> Clock SystemClock () void ThreadSwitch (ThreadId dest) Word Schedule (ThreadId dest, Word TimeControl, ProcessorControl, prio, PreemptionControl, Word& old_TimeControl)
#include <l4/ipc.h> MsgTag Ipc (ThreadId to, FromSpecifier, Word Timeouts, ThreadId& from) MsgTag Lipc (ThreadId to, FromSpecifier, Word Timeouts, ThreadId& from)
#include <l4/space.h> void Unmap (Word control) Word SpaceControl (ThreadId SpaceSpecifier, Word control, Fpage KernelInterfacePageArea, UtcbArea, ThreadId Redirector, Word& old_Control)
#include <l4/misc.h> Word ProcessorControl (Word ProcessorNo, InternalFrequency, ExternalFrequency, voltage) Word MemoryControl (Word control, Word& attributes[4])
L4カーネルだけだとあまりに小さいので、その上でファイルシステムサーバなど各種サーバ群を動かす。例えば、L4Linuxは、L4カーネル上でL4Envサーバを動かし、さらにその上にユーザモードLinuxを動かしている。
MS-DOS互換のフリーOS。
(2008.3.10 追加。)
Windowsのバイナリ互換を目指すフリーOS。アプリケーションとドライバの両方の互換性を確保しようとしている。
ユーザランドのほうはWineをそのまま利用しているみたい。
活発に開発が継続している。
http://web.syllable.org/ (2018-06) 長らくサーバがダウンしている。プロジェクト終了か? Syllable Desktop operating system [2020-11] 2012年の v0.6.7 から更新がない。終了のようだ。
AtheOS (開発終了) から派生したOS。ライセンスはGPL, ホーム向け、GUI付き。POSIX互換を目指しているから、UNIX OS + GUIという組み合わせ。
libcにglibcを採用し、UNIX (POSIX) との互換性は高い。
GUIは独自。Xウィンドウでもないかな?
ブートローダはGRUB。
独自のWebブラウザを持つ。
glibc 2.4を採用。
ひげぽん氏が中心となって開発している、C++で書かれたマイクロカーネルOS。標準のシェルは Scheme (Lisp) ベース。
2018年6月現在, 最新は 2011年8月のバージョン 0.3.4. もはや開発終了。
(2007.10.24追加、2007.11.29更新。)
任天堂が研究用に開発しているOS。
(2018-06) 2018年6月現在, OS としての開発は、すでに終息したように見える。
スライドなどを見ると、
Squeak が es 上で動く。
es-demo 0.1.0 を qemuで動かしてみました。アーカイブをダウンロード、展開して、
$ qemu -hda hdd.img -serial stdio -soundhw sb16
起動中のメッセージを見ると、PCIバス、PS2マウス、Sound Blasterなどを認識しています。ファイルシステムはFAT32のようです。バイナリの形式はELFか。シェルで入力待ちになります。
squeak とタイプすると、Squeak 3.7 が起動します。エミュレータなので動きがモッサリしていますが、きちんと動いています。素晴らしい。
(2005.10.15)
分散OS。ただし、開発は終了している。
ISOイメージがダウンロードできるが、CD-ROMからはブートできない。CD-ROMをマウントしてfloppiesディレクトリの各ファイルをFDに書き込んで、FDからブートする。
(2008.3.11 追加。)
ほとんどすべてをJavaで作ったOS。カーネルの一部に若干、アセンブラが含まれるらしい。
サイトのスクリーンショットを見るとJavaプログラムがそのまま動くようだったので、試してみました。
JNode バージョン0.2.6 を QEMU 0.9.0 で動かしました。結果は、コンソールでは起動できるものの、GUIモードにはできませんでした。