1

作为一种爱好,我一直在用java编写一个shell。这是非常基本的,它包括通过命令行或通过类似桌面的环境(如果安装了插件(我也写过))来创建、删除、读取文件。

现在我的问题是一个非常复杂的问题,但我希望有人能指出我正确的方向。

  • 那里有没有支持java的层或操作系统,所以我可以在它上面运行我的java应用程序,作为一个shell?最小的东西?

我还没有完全理解 java 中的库继承,而且我不确定 AWT 和 swing 应用程序是否是为那里的主要操作系统构建的。

有人可以指出我正确的方向吗?我只是想在这里学习,我并不完全了解我的java程序下层的全部细节。

4

2 回答 2

2

(至少)有 2 个示例在操作系统级别支持 Java

  • Sun 有一个称为 JavaOS 的裸机操作系统,但该操作系统已不再可用。我不记得确切的细节,但我认为目标架构是某种嵌入式处理器。

  • 有一个名为JNode的开源裸机 Java 操作系统,它在 x86 上运行。它已经有一个命令外壳(“bjorne”外壳)和一个原始的 GUI。

JNode 的坏消息是它没有有效的“隔离”实现,因此不可能阻止有缺陷的应用程序使操作系统崩溃。这已成为前进的障碍……尤其是因为可行的隔离实现可能需要重新设计系统架构以支持每个隔离的单独地址空间。

于 2012-11-19T01:23:13.040 回答
1

Java 不直接与操作系统交互,而是使用 Java VM 作为 Java 应用程序和托管操作系统之间的中介。拥有这个 VM 允许 Java 应用程序是可移植的,因为它抽象了操作系统的细节。Java VM 实现因不同的操作系统而异,但这可能不是您应该担心的;该虚拟机可用于大多数主要操作系统并已分发,只需从http://www.java.com下载并安装适合您的虚拟机。之后,您可以自由地使用您的应用程序。

于 2012-11-18T23:42:32.690 回答