アカウント名:
パスワード:
MINIX 3 は、高い信頼性とセキュリティを実現するためにデザインされた新しいオープンソース・オペレーティング・システムです。 多少は以前のバージョンのMINIXをベースにしていますが、多くの重要なところで根本的に違っています。 MINIX 1と2は教育用ツールを意図していました。MINIX 3は限られたリソースや組み込み用途のコンピュータ、そして高い信頼性が要求されるアプリケーションに使えることを新しいゴールとして設定しました。
この新しいOSは、カーネルモード部で走るものは4000行未満の実行コードという、極めて小さいものです。ユーザーモードで走る部分は小さなモジュールに分割されており、他のものからきちんと隔離されています。 例えば、めいめいのデバイスドライバは一つのユーザーモードプロセスに切り離されて走っており、(バグのある巨大なソースのOSとは段違いに)ドライバのバグがOS全体を巻き込むことはありません。実際、だいたいドライバがクラッシュしたときは、ユーザーの介入の必要もなく、再起動の必要もなく、走っているプログラムに影響を与えることも無く、それが自動的に置き換わります。これらの機能は、小さなカーネルコードの帰するものであり、他の面でも優れた信頼性を増すシステムです。
MINIX 3 は以下のようなものを初期ターゲットとしてます:
MINIX 3 Features
たとえばzipを直接読み書きできるファイルシステムをカーネル落とさずにユーザーがコンパイルして組み込め、なおかつドライバをデバッガで追っかけられるという変態的な開発が可能になる・・・かも、という話です。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
トップページ翻訳 (スコア:5, 参考になる)
もったいないのでここにポストしちゃいます。おかしなとこあったらdiffでもつけてください^^;
MINIX 3 は、高い信頼性とセキュリティを実現するためにデザインされた新しいオープンソース・オペレーティング・システムです。 多少は以前のバージョンのMINIXをベースにしていますが、多くの重要なところで根本的に違っています。 MINIX 1と2は教育用ツールを意図していました。MINIX 3は限られたリソースや組み込み用途のコンピュータ、そして高い信頼性が要求されるアプリケーションに使えることを新しいゴールとして設定しました。
この新しいOSは、カーネルモード部で走るものは4000行未満の実行コードという、極めて小さいものです。ユーザーモードで走る部分は小さなモジュールに分割されており、他のものからきちんと隔離されています。 例えば、めいめいのデバイスドライバは一つのユーザーモードプロセスに切り離されて走っており、(バグのある巨大なソースのOSとは段違いに)ドライバのバグがOS全体を巻き込むことはありません。実際、だいたいドライバがクラッシュしたときは、ユーザーの介入の必要もなく、再起動の必要もなく、走っているプログラムに影響を与えることも無く、それが自動的に置き換わります。これらの機能は、小さなカーネルコードの帰するものであり、他の面でも優れた信頼性を増すシステムです。
MINIX 3 は以下のようなものを初期ターゲットとしてます:
MINIX 3 Features
Re:トップページ翻訳 (スコア:5, 参考になる)
→これらの機能・小さなカーネルコード・その他の点によってシステムの信頼性が大幅に向上しています。
(バグのある巨大なソースのOSとは段違いに)ドライバ
→(OSにおいて断トツで最大のバグ発生源である)ドライバ
きつい制限のかかったGPLのアプリケーション
→GPLでは制限がきつすぎるアプリケーション
Re:トップページ翻訳 (スコア:1)
・・・・いや、OSにその手の機能を組み込む事を考えてないと駄目でしょうけど。
-----------------
#そんなワタシはOS/2ユーザー:-)
Re:トップページ翻訳 (スコア:1)
# 実際、付けたり外したりはLinuxでもできるし。
Re:トップページ翻訳 (スコア:2, 参考になる)
ホントに出来るかどうかはさておいて:-)
ユーザーが再起動せずに自分でドライバをデバッグしつつ組み込んだり、外したりできたりとか、ユーザーが動的にファイルシステムを拡張したりできる訳っす。
たとえばzipを直接読み書きできるファイルシステムをカーネル落とさずにユーザーがコンパイルして組み込め、なおかつドライバをデバッガで追っかけられるという変態的な開発が可能になる・・・かも、という話です。
やりたいかどうかはさておいて:-)。
で、これが究極まで行くと、MINIXでMINIXを動かすという変態的な技も可能になると思います・・・というかHurdで可能になる、等と言われていた筈:-)
-----------------
#そんなワタシはOS/2ユーザー:-)
Re:トップページ翻訳 (スコア:2, 参考になる)
/sbin、/usr/sbin にデバイスドライバのバイナリが普通の実行ファイルとして置いてあります。ブートに必要が無いデバイスは /etc/rc で実行していくみたい。
ドライバと普通のプロセスの区別が無いようなんで、割り込みが絡まない場合は、ひとまず普通プログラムとして開発して、完成度が上がったらドライバに仕立て直すのが一般的になるんじゃないでしょうか。
普通に動かすとwgetのようなダウンローダだけど、実行オプションによってはwebdavfsとして動く変態的プログラムもできそうです。
なんちゃってプログラマ?
Re:トップページ翻訳 (スコア:2, 参考になる)
モノリシックでもそれはできるよ。例えばLinuxのドライバ書く時はモジュールで作っておいてinsmodで組み込んで、rmmodで取り外してるし。(大抵は)再起動なしに。
マイクロカーネルとモノリシックの差は、ドライバが腐ってる時にカーネルごと死ぬ確率とか割り込みに対する応答時間とかそういう性能っぽい部分であって、動作中に付けたり外したりできるかどうか、というか可能/不可能という部分じゃないよ。
>MINIXでMINIXを動かすという変態的な技
Linuxの例ばっかでアレだけど、UML(ユーザーモードリナックス)っつーのがあるね。LinuxでLinuxを動かすって奴。
妄想たっぷりで考えると (スコア:1)
FUSE [linux.com] がそれだし、原理的には NFS を使えばいける。
マイクロカーネルの利点って言ったらやっぱり設計なんじゃないかなぁ。
モノリシックカーネル内部での関数の呼び出しが
マイクロカーネルの各ドライバ間でのメッセージ送受信に相当するはず。
OOP のポリモーフィングを、
関数テーブルで実装するか、メッセージの書き換えで実装するかの
違いと言ってもいいのかも知れないな。
メッセージの書き換えで実装するほうが、たいていは
より柔軟にできる可能性があると思われる。(その分遅くなるけど)
# mishimaは本田透先生を熱烈に応援しています
Re:トップページ翻訳 (スコア:0)
2.xのころはごにょごにょやらないと難しかったのに。
あとは、基本コマンドが新しくなっていれば、
そこそこ実用になりそうです。
仮想マシン使う以外に
USBメモリにインストールして起動という手もありそうですな。
Re:トップページ翻訳 (スコア:1)