小さなオープン ソース オペレーティング システムにはどのようなものがありますか? Puppy Linux、Feather Linux、DSL などより数桁小さいものを探しています。コマンドライン テキスト エディターとコンパイラーを実行したいと考えています。それ以外は無関係です。妥当な期間内に、分解して全体をかなりよく理解できるシステムを探しています。移植可能で十分に文書化されているものに対するボーナスポイント。
17 に答える
カーネルを理解しようとしている場合は、Minix を調べてください。Linux カーネルは、学術的な演習には大きすぎます。
TOPSYなど、まったく異なる研究/教育オペレーティングシステムもあります。
Topsy は、メッセージ パッシング通信インフラストラクチャを備えたマイクロ カーネル アーキテクチャに基づく、フットプリントの小さいネイティブ マルチスレッド、マルチタスク オペレーティング システムです。
ANSI C、約 2 万行。ia32、MIPS R3000/R4000、StrongARM SA110、Intel IXP1200、Intel IXP2400、Motorola 68K に移植されたようです。彼らのウェブサイトでは、さまざまな論文レポートを見つけることができます。
Minix の使用に同意します。gcc、vi、emacs、bash を入手できます。フレックス。すべてをインストールする場合はbison、man、およびTEXですが、kernel、bash、gcc、およびviだけに切り取ることができます
xv6を試してください。これは、Sixth Edition Unix (別名 V6) に基づいています。実行できますqemu
/ bochs
. gdb
ブート自体からコードを表示するために使用します。多くの大学で学術目的で使用されています。良いドキュメンテーション。
これは、 2002 年以降の xv6 に基づくMIT の 6.828 オペレーティング システム エンジニアリング コースです。この本は章に分かれており、各章は、ファイル システムやプロセス管理などのオペレーティング システムの一部を理解するのに役立ち、xv6 ソース コードを並べて説明しています。そのため、コードをスキャンして自分で理解する必要はありません。
この本は非常に小さく、80 ページまでです: xv6 book pdf。ソースは次の方法で入手できますgit(1)
。$ git clone git://pdos.csail.mit.edu/xv6/xv6.git
大学で与えられた簡単な課題をたくさん行うこともできます。
乾杯
かつて「PeeWeeLinux」がありました -- Red Hat 6.2 で実行される一連のシェル スクリプトでした。ひとたびそれを理解したら、一連のメニューからシステムを構築 (選択して選択) することができます。今4歳です。私は 4MB のシステムを構築しました: Linux 用に 1/2MB と PHP 用に 3.5MB!
そして、Linux カーネルを使用してinitを自分のアプリケーションに置き換えて、通信端末アプリを作成した人がいました。
どのエディタとどのコンパイラかを言う必要があります。たとえば、Busybox in 100K は制限付きの vi を提供します。しかし、gcc が必要な場合は、それによってターゲット システムのサイズが決まると思います。
あなたは何のコンパイラとは言いませんでした。JXは私のために働いています。
Not Another Completely Heuristic Operating System (NACHOS) NACHOS wiki
コンティキはとても小さいです。ただし、ニーズやハードウェア ターゲットには小さすぎる可能性があります。
完全な FOSS ではありませんが、QNX (別名 Qnix) を見ることができます。組み込みシステム向けのマイクロカーネルOSです。
私は何の関係もありません...ここのウィキリンクを参照してください。 ソースはしばらく前に入手可能になったことに注意してください。
ハードコアに行きたいなら、リターン無限からの「ベアメタル」があります。 http://www.returninfinity.com/baremetal.html
必要な部分のみを使用して独自のディストリビューションを作成します。
Xinu - Xinu Is Not Unix - Douglas Comer を参照してください。もともとは LSI (PDP-11) マシン上にありましたが、他の多くのアーキテクチャに移植されました。詳しい情報とソースはPurdue Universityにあります。
私が分解できるシステム
また、何を分解しようとしているのかを知るために、Bootdisk Howto も参照してください。
tomsrtbt : "1 フロッピー ディスクで最も多くの GNU/Linux。"
OpenBSD は良い選択かもしれません。デフォルトのインストール (X11 なし) には 15 個のプロセスがあると思います。FreeBSD は僅差の 2 位です。いずれにしても、 「FreeBSD オペレーティング システムの設計と実装」を読みたいと思うでしょう。
ところで、私はかなりの時間を AIX、Solaris、FreeBSD、および Linux に費やしてきました...そして、OpenBSD のマニュアル ページが最も優れていると思います。
大学時代の XINU (XINU は UNIX ではありません) のことを今でも懐かしく思い出します。必要なものがすべて揃っているかどうかはわかりませんが、私が大学にいたときはかなり教育的で、ターボ C と一緒にフロッピーに簡単に収まりました:)
私はMinixに同意します。また本:
http://www.amazon.com/Operating-Systems-Implementation-Prentice-Software/dp/0131429388
は実にわかりやすい。(同様のトピックに関するいくつかの本とは異なり、ここでは「Linux カーネルを理解する」と考えてください。) かなり高価ですが、以前の版を中古で入手できる可能性があります。
(NB。私は本とはまったく関係がありません。それは良いことです:))