【问题标题】:Is it possible to develop an OS that lives entirely in the JVM? [duplicate]是否有可能开发一个完全存在于 JVM 中的操作系统? [复制]
【发布时间】:2012-11-12 23:02:15
【问题描述】:

可能重复:
Is it possible to make an operating system using java?

使用编译成 Java 字节码的语言,例如 Java 或 Clojure,理论上是否有可能编写一个完全在 Java 虚拟机中运行的完整操作系统?

【问题讨论】:

  • 那么,运行 JVM 的是什么? (是的,有这样的尝试,是的,有基于硬件的虚拟机实现。所以,请先搜索!)

标签: java clojure


【解决方案1】:

有一个(现已放弃)项目,名为 JavaOS,它试图按照您的建议去做。

【讨论】:

  • OP 询问是否可以用除了 Java 编写操作系统。 JavaOS 在原生微内核之上运行。
【解决方案2】:

只有在 CPU 能够执行 Java 字节码的情况下才有可能(参见:Java processor)。否则,您将需要一些本机机器指令来初始化硬件并解释或 JIT 编译字节码。

【讨论】:

    【解决方案3】:

    这取决于您所说的“整个操作系统”是什么意思:最可靠的方法是使用 Java 作为“用户空间”的混合操作系统,并使用类似于 Linux 作为硬件访问的底层操作系统。

    需要考虑的一些事项:

    • 显然 JVM 本身需要在某些东西上运行。这可能是在另一个操作系统上运行的本机 JVM 实现,也可能是硬件,但无论哪种方式,它都需要在堆栈中的某个点使用纯 Java 以外的东西。因此建议像 Linux 之类的东西来扮演这个角色。
    • 除非您允许链接额外的本机代码,否则您与底层硬件/平台的交互将取决于 Java 运行时环境中可用的内容(例如,用于文件访问的文件抽象等)。这当然足以实现一个正常工作的 OS shell,但可能不足以实现对许多设备的直接硬件访问。
    • 对于现代操作系统,您可能希望将 OpenGL 用于图形(或类似的高性能图形库)。目前这不在标准 Java 运行时环境中,因此您需要找到一个解决方案来包含它(例如 LWJGL

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 2010-10-15
      • 2012-03-07
      • 2021-11-26
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 2019-10-23
      • 2012-10-02
      相关资源
      最近更新 更多