Java OS问题

时间:2012-11-15 19:34:22

标签: java assembly operating-system jvm

好的,我一直在研究汇编语言。 我已经知道如何在java中编程。 我在网上读到,如果能提供足够的,可以用Java编写OS 用于支持Java虚拟机的汇编代码。 有谁知道Java虚拟机对内核/汇编bin文件的要求是什么? 如何从汇编代码中调用JVM /使用预定义的类启动JVM?

2 个答案:

答案 0 :(得分:1)

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

我希望它对你有所帮助。

答案 1 :(得分:0)

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

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

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

  

“有谁知道Java虚拟机需要什么?   内核/汇编bin文件?“

是的,答案是,无论您希望计算机做什么,您都需要编写代码。文件系统支持,内存管理,线程 - 托管应用程序要求JVM执行的所有操作,Java将转向并询问较低级别 - 在这种情况下是您的代码 - 所以您必须写下来。