从标题中可以看出,出于某些原因,我需要使在minix上运行.class文件成为可能(不需要编译器)。有人能给我指点方向,推荐一些文学作品或者给我一些建议吗?一般来说,你会怎么做?
到目前为止,我找到了OpenJDK
(但这并不是我想要的)。我也读过tanenbaum的《操作系统设计与实现》。它给了我很多关于minix内部的见解。
最佳答案
如果只想运行.class
文件而不太关心性能,可以创建字节码解释器,这可能比移植/创建完整的编译器简单。您可以找到这些类文件的详细格式here,以及指定的vm的行为here。
您还需要选择一个运行时——openjdk和gnu classpath可能是最好的选择——并通过在c中实现其native
方法将其移植到minix。native
方法通常与特定于平台的内容有关,如对文件i/o的调用,因此不能在独立于平台的java语言中实现。
还有许多其他链接和资源,您可能会在this wiki page上找到它们。
关于linux - 将JVM移植到MINIX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13868601/