【问题标题】:Java OS Questions [closed]Java 操作系统问题 [关闭]
【发布时间】:2012-11-04 11:34:48
【问题描述】:

好的,我一直在研究汇编语言。 我已经知道如何用java编程。 我在网上读到,如果你能提供足够的资源,就可以用 Java 编写操作系统 支持 Java 虚拟机的汇编代码。 有谁知道 Java 虚拟机从内核/程序集 bin 文件中需要什么? 以及如何从汇编代码调用 JVM/使用预定义类启动 JVM?

【问题讨论】:

  • 您可以提供最低限度。但是对于 Java NIO、网络等高级功能,您可能希望提供与常规操作系统一样多的功能。

标签: java assembly operating-system jvm


【解决方案1】:

也许你的意思是JNode?它是一个用Java编写的完整操作系统。它有一个用汇编程序和 C 编写的小型微内核(称为纳米内核)。此代码取决于硬件。他们还编写了一个 Java 编译器,将操作系统的 Java 部分编译为本机代码。

希望对你有帮助。

【讨论】:

  • 据我所知,JNode 是一个死项目。
  • 是的,但 gitorius 的最后一次提交是从 2011 年开始的......
  • 想象一下,将近两年没有一点点commit。如果没有死,那就靠生命维持。
【解决方案2】:

您是否假设您已经拥有一个操作系统?如果是这样,就启动 JVM 所需的操作而言,您只需要进行系统调用来启动 JVM 应用程序并提供适当的参数。

如果您要问,“我需要编写什么代码才能让操作系统在 JVM 中自行运行?”然后,引用卡尔萨根的话,“你首先必须发明宇宙。”

Java VM 提供了许多特性和功能,因为它使用来自底层系统的相同特性并将它们抽象到虚拟机中。因此,Windows JVM 是基于 Windows 功能构建的,而 Linux JVM 是基于 Linux 功能构建的,等等。这意味着,为了在 JVM 中托管您自己的操作系统,您需要编写引导代码以在硬件上托管 JVM,然后用 Java 编写操作系统代码以在 JVM 中运行。

“有谁知道 Java 虚拟机需要什么? 内核/程序集 bin 文件?”

是的,答案是,无论您想让计算机做什么,您都需要为其编写代码。文件系统支持、内存管理、线程——托管应用程序会要求 JVM 做的所有事情,Java 都会转过身来询问低层——你的代码,在这种情况下——去做,所以你必须写吧。

【讨论】:

  • 如前所述,您还可以查看 JNode。
猜你喜欢
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 2018-10-19
  • 2011-09-18
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2010-09-20
相关资源
最近更新 更多