18

我知道 BEA 正在开发不需要底层操作系统的 LiquidVM,但想知道开源社区中是否有人正在开发类似的东西。

理想情况下,我想找到一个 VM 直接由 OS 引导加载程序加载的实现。

4

9 回答 9

14

与 SANOS 不同,JNode操作系统是一个完整的操作系统,具有许多受支持的设备、文件系统、网络堆栈、GUI 堆栈、命令外壳和 50 个左右的命令等等。JNode 目前在启用了一个处理器的 x86(32 位)上运行,但 x86-64 和多处理器版本正在开发中。(JNode 是 99.99% 的 Java。移植到新架构需要重写汇编程序中 0.01% 的代码,创建/修改特定于硬件的驱动程序......并为新架构编写本机代码编译器。)

我们目前有大约 7 名活跃的开发人员,但我们一直在寻找新的人加入团队,尤其是了解 Java 和代码生成、垃圾收集器、驱动程序等的人。

(为了它的价值,我们使用最新版本的 OpenJDK 类库:最后一次计数为 1.6u24。)

于 2009-07-17T07:48:01.623 回答
4

Sun 项目Squawk是一个在硬件而不是底层操作系统上运行的虚拟机。对于像Squawk 是操作系统的Sun SPOT这样的嵌入式设备很有用。

Squawk 在 GPLv2 下获得许可。

于 2009-04-18T14:05:08.393 回答
4

还有Project Guest VM,它是托管在 Xen 管理程序上的 JVM。虽然主页似乎对细节很简单,但也有关于这个项目的谷歌技术讲座。

于 2009-04-18T19:08:32.423 回答
3

你需要什么?

也许 Sanos 可以在硬件和 JVM 之间为您提供一小段代码,您可以使用它们吗?

http://www.jbox.dk/sanos/

于 2009-04-18T19:04:38.080 回答
1

JNode OS是一个主要用 Java 编写的操作系统。

于 2009-04-19T03:27:53.690 回答
1

甲骨文似乎再次朝着这个方向努力

甲骨文收购 BEA 系统获得的收益……甲骨文复兴了前卫的虚拟化技术:一种直接在虚拟机管理程序上运行的 Java 虚拟机,无需操作系统。

于 2010-08-25T14:06:24.270 回答
0

只是我看到和听到的一小段。

MIT 在 60 年代/70 年代开发了一台 Lisp 机器,这是一台本质上理解 Lisp 的机器,我认为他们也将其商业化。

大约在 2002 年,我听说有人在 FPGA 或 ASIC 芯片上开发 JVM。

MIT/Lisp 的故事是真实的,我在他们的博物馆里看到过,有谁知道关于芯片上的 JVM 是否有任何真相?

谢谢,马丁。

于 2009-04-18T19:21:46.370 回答
0

我对java很陌生,而且我对电子有一些了解。

JVM 是实际运行在系统上的虚拟机。它可能是 windows 或 solares x86 平台。但据我所知,JVM 本身充当了我们编译的字节码的系统。对于字节码,JVM 虚拟化它自己的 ALU、Heap、Stack 额外。它甚至有自己的机器和汇编语言。

因此,如果我们能够在硬件芯片上实现 JVM 规范,那么它将不再是 JVM,但我将成为独立的 Java 机器,我们可以在其上开发 100% 用 Ja​​va 编写的操作系统。

所以在这种情况下,JVM 将不是一个操作系统,而是一个直接理解 java 字节码的系统。

于 2010-05-28T07:50:33.073 回答
0

JOE,Java On Everything,可以在没有操作系统的情况下运行 Java。全部是 Java,在https://github.com/joekoolade/JOE

通过将操作系统构建到程序中,JOE 可以在没有操作系统的情况下运行 Java 程序。这使程序更易于配置和部署。JOE 可以使任何 Java 程序员成为嵌入式开发人员。

JOE is a process virtual machine that can run a Java application without an operating system. It builds the OS into the program by virtualizing the OS and hardware. This removes the boundaries between the OS, hardware, user code, and virtual machine. The overhead and complexities in the user/supervisor crossing, program security, memory protection, virtual addressing, and the JNI library interface are replaced with simpler and more efficient mechanisms found in the Java language. JOE seamlessly blends those layers together by implementing them all in Java. This virtualized Java environment provides a secure, safe, cohesive, and consistent object oriented operation from application to hardware.

于 2020-10-08T00:30:02.093 回答