問題タブ [microkernel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - マッハ 3 をコンパイルするには?
私は最近、マッハ オペレーティング システムに興味があります。ただし、Debian Wheezy などの最新の Linux システムでビルドするのはかなり難しいようです。
これをビルドして起動する方法があるかどうか知りたいですか?
どんなアイデアやアドバイスも歓迎します:-)
ところで: Mach オペレーティング システムは ODETools (odemake など) によって構築されているようです。それは何ですか?このodetoolsを見つけるのはかなり難しいです。
kernel - ホストされたカーネルと仮想マシンの違い
私はAROS、特にホストされたバージョンについて読んでいます。AROS は次のように述べています。
仮想マシンについて読んだところによると、システム仮想マシンとプロセス仮想マシンの 2 種類があります。AROS がシステム仮想マシンではないことは知っていますが、すべてのプロセス仮想マシンは、Java JVM、Mono、Python、Ruby などのように継ぎ目があります。それらはすべて、言語固有に継ぎ目があります。AROS は、ユーザー モード Linux のようなユーザー モードで実行される完全なシステム/プラットフォームであると思われます。
AROS でホスト: オペレーティング システム内のオペレーティング システム?
AROS はもともと、Intel ベースのコンピューターで実行されている Linux で開発されました。ただし、より多くのマシンとオペレーティング システムで動作します。これは奇妙に聞こえるかもしれません: 他の OS の上で実行される OS、それはエミュレーションですよね?
AROS がホストする機能を表す便利な用語は、"API エミュレーション" です。API は、Application Programmer's Interface の 3 文字の頭字語です。簡単に言えば、API は、プログラマーが使用できる (C 言語) 関数を提供します。AmigaOS API は、Amiga プログラマーが Amiga プログラムを作成するために使用できる一連のライブラリ呼び出しで構成されています。AROS は AmigaOS API をエミュレートします。つまり、AmigaOS と同じライブラリ呼び出しを提供しようとします。UAE などの Amiga エミュレーター。Amiga コンピューターをエミュレートします: プロセッサ、接続されたハードウェア、すべて。これには、異なるハードウェアでバイナリ Amiga ゲームをプレイできるなどの利点と、エミュレータを「実際の」プロセッサ上で「実際の」OS として使用できないなどの欠点があります。AROS がホストする「実際の」プロセッサで実行されます。でもそれは「本物」ではない Linux を必要としないような方法で実行しない限り、OS。これは「ネイティブ」AROS と呼ばれます。
AROS は、Intel および Amiga コンピューターでネイティブに実行できますが、Linux での実行ほどではありません。AROS ライブラリ関数は、Linux カーネルとライブラリ呼び出しを内部的に使用して、最初に Linux で実行されるように作成されています。このようにして、プログラマーは最初にシステム全体の実装に気を配り、後のスタジアムで技術的な詳細に気を配る機会を得ることができます。人々は現在、「ネイティブ」AROS をより使いやすくすることに取り組んでいます。結果は非常に印象的で、AROS ネイティブを IBM PC 互換マシン上の実際の (そして唯一の) オペレーティング システムとして完全に使用できます。
もちろん、AROS は単なる API エミュレーターではありません。また、すべての AmigaOS 3.1 システム ソフトウェアの代替品を提供しようとしています。AROS に同梱されているデモやゲームもいくつかありますが、それらが機能することを示すためだけに、システム全体の 77% に過ぎないかもしれませんが、すでに Quake を実行しています。
この情報から、AROS kernel.resource を仮想マシンとして使用すると、Linux カーネルのシステム コール インターフェイスを単純にラップすることがわかります。または私は何かが欠けています
また、AROS のようなシステムはありますか?
多くのOSでホストされるこのようなものを作りたいと思っています。
scala - Akka Microkernel の実行時にコマンドライン引数を取得しますか?
私は以下のAkkaマイクロカーネルを持っています:
Bootable
カーネルは ではなく拡張するため、カーネルのApp
起動時に使用されるコマンド ライン引数にアクセスするにはどうすればよいですか? たとえば、start namespace.ServiceKernel -d rundevmode
または同様のものを使用してカーネルを実行するとします。ありがとう!
追加情報
マイクロカーネルの起動スクリプトに関するこの情報を追加する価値があると思いました。次/bin/start
のことに気付きます。
om-nom-nom は最初-D
にオプションを提案しましたが、それが使用されているようで、メインの起動パラメーターがakka.kernel.Main
クラス (この場合はServiceKernel
上記のクラス) に渡されています。
minix - Hurd と Minix の b/w の違いは何ですか?
両方がマイクロカーネルであることを知っているので、Mach (Hurd のベース) と Minix の違いは何ですか。アーキテクチャ上の違いはありますか? 「L4とは」について少し説明すると非常に役立ちます。これをカバーするドキュメントが見つかりません。
scala - Akka スケジューラは MicroKernel でのみ例外をスローしますが、scala の Eclipse IDE では正常に動作します
以下のようなスケジューラがあります。これは、アクター システム内の別のアクターに 30 分ごとにメッセージを送信するためのものです。このコードは、scala の Eclipse IDE で実行すると正常に動作します。ただし、MicroKernel でこのコードをスローすると (Microkernel が起動できるようにブータブルを使用して)、次のような例外が発生します。
java.lang.NoSuchMethodError: akka.actor.ActorSystem.dispatcher()Lscala/concurrent/ExecutionContext; 完全なスタック トレースを以下に示します。この問題は、このコンテキストでは無効な「import system.dispatcher」行に関連している可能性があると思われます。または、スケジューラがメッセージを起動しようとしているのが早すぎます。
助けてください...
scheduler.scala:
完全なスタック トレース:
kernel - カーネル オーバーヘッドとは何ですか?
(マイクロ) カーネルのオーバーヘッドとは何ですか? また、マイクロカーネルのサイクルを増加させるコンポーネントは何ですか? 情報源は役に立ちます。
operating-system - Windows NT がマイクロカーネルから離れたのはなぜですか?
Windows NT は当初、マイクロカーネル アーキテクチャを実装するように設計されましたが、ハイブリッド カーネルに移行したと聞いています。
変化の原因は何ですか?これに関する情報を見つけるのに苦労しています。