正如您在标题中看到的那样,由于某种原因,我需要在Minix上运行.class文件(不需要编译器)。那么有人可以向我指出任何方向,提出一些文献或提出一些建议吗?一般来说,你会怎么做?
直到现在我找到了OpenJDK
(但这并不是我想要的)。我还阅读了Tanenbaum的“操作系统设计和实现”。它给了我很多关于minix内部的见解。
答案 0 :(得分:1)
如果您只想在不太关心性能的情况下运行.class
文件,可以创建一个字节码解释器,这可能比移植/创建完整编译器更简单。您可以找到详细here这些类文件的格式,以及指定的VM here的行为。
您还需要选择运行时 - OpenJDK和GNU Classpath可能是最好的选择 - 并通过在C中实现其native
方法将其移植到MINIX。native
方法通常是关注特定于平台的东西,比如对文件I / O的调用,因此无法在与平台无关的Java语言中实现。
在this wiki page上,您可能会发现许多其他链接和资源。
答案 1 :(得分:0)
Jainja JVM(我是作者)可以在Minix 3.2(未经3.3测试)上工作。它是具有Java 5标准库的解释器(即没有JIT)。使用X11后端对AWT / Swing的支持有限。