1

趣味として、Javaでシェルを書いています。これは非常に基本的なもので、コマンドラインまたはプラグインがインストールされている場合はデスクトップのような環境(これも作成しました)を介したファイルの作成、削除、読み取りが含まれます。

今、私の質問は非常に複雑ですが、誰かが私を正しい方向に向けてくれることを願っています。

  • Javaをサポートするレイヤーまたはオペレーティングシステムがありますか?その上でJavaアプリケーションを実行して、シェルとして機能させることができますか?最小限のもの?

Javaでのライブラリの継承についてはまだ完全には理解していません。また、AWTおよびswingアプリケーションが主要なOS用に構築されたものであるかどうかもわかりません。

誰かが私を正しい方向に向けることができますか?ここで学びたいだけですが、Javaプログラムの下にあるレイヤーの詳細を完全には理解していません。

4

2 に答える 2

2

オペレーティングシステムレベルでJavaがサポートされている例は(少なくとも)2つあります。

  • Sunには、JavaOSと呼ばれるベアメタルオペレーティングシステムがありましたが、現在は使用できません。正確な詳細は思い出せませんが、ターゲットアーキテクチャはある種の組み込みプロセッサだったと思います。

  • x86上で動作するJNodeと呼ばれるオープンソースのベアメタルJavaオペレーティングシステムがあります。すでにコマンドシェル(「bjorne」シェル)とプリミティブGUIがあります。

JNodeの悪いニュースは、機能する「分離」実装がないことです。そのため、バグのあるアプリケーションがオペレーティングシステムをひざまずくのを防ぐことはできません。これは進歩の障害になっています...特に、実行可能な分離の実装では、分離ごとに個別のアドレス空間をサポートするためにシステムアーキテクチャの再設計が必要になる可能性があるためです。

于 2012-11-19T01:23:13.040 に答える
1

JavaはOSと直接対話しません。代わりに、JavaアプリとホスティングOSの間のメディエーターとして機能するJavaVMを使用します。このVMを使用すると、OSの詳細が抽象化されるため、Javaアプリを移植できます。Java VMの実装は、OSごとに異なりますが、おそらく心配する必要はありません。VMは、ほとんどの主要なOSで利用可能であり、配布されています。http: //www.java.comからVMをダウンロードしてインストールするだけです。その後、あなたはあなたのアプリを自由に使うことができます。

于 2012-11-18T23:42:32.690 に答える