如何使用Java创建操作系统?

时间:2015-07-18 02:51:50

标签: java operating-system

无论如何我可以用java创建一个操作系统吗?反正我可以嵌入windows java库,所以我可以用JFrame,JFileChooser,JTextArea等开发我的操作系统吗?或者我会变得更好从长远来看学习C或C ++?

2 个答案:

答案 0 :(得分:4)

简答:不。

首先,Java使用操作系统来运行您的java代码。很多窗口都使用操作系统进行渲染。

其次,您应该注意,大多数(如果不是全部)操作系统都是使用机器/汇编代码启动的。如果您的目标是自己制作一个操作系统并且完全从头开始,那么您将需要学习装配,并且无法解决这个问题。幸运的是,您只需要编写少量的程序集,然后才能运行用C或C ++编写的程序(并注意Java运行时是用C / C ++编写的)。

由于Java使用OS'用于管理/渲染窗口和控件的本机代码,假设您在不使用所述库的情况下从源代码编译Java,如果您编写了唯一的代码来处理渲染控件和窗口的所有图形,那么,假设您可以编写一旦你完成了基本的工作,大多数java中的操作系统。您应该知道,由于他们依赖操作系统,您无法使用大量的javafx或任何东西。

最后,我强烈建议你上大学并接受良好的教育,然后我会进一步建议为一家拥有一支经验丰富的程序员团队的公司工作至少4年(至少),然后才能完成这样一项艰巨的任务创建一个操作系统。你不是要自己编写一个有用的操作系统,而是用任何语言编写的知识量。

编辑: 在其他答案中,有些机器的微处理器原生地理解java字节码。但是,为该处理器编写的操作系统只能在该处理器上运行,并且不会广泛分发atm。出于学习目的,你最好只是坚持使用JVM,你现在可以获得的任何东西都不会增加。

此外,学习编写操作系统是我鼓励所有程序员学习的任务。它将使您更好地了解计算机的内部和外部工作方式。从编程的角度来看,与高级语言相比,通过使用一种语言而不是另一种语言,您不会失去或获得更多。有些人认为(也许我同意)Java并没有使用指针,所以如果你的意图是用Java完成所有工作,那么大多数人都会丢失它,那么你需要了解的就是Java。

作为一个观点问题,我认为你最好学习你遇到的每种编程语言,以及那些前辈的语言。我并不意味着成为BCPL或COBOL中的主程序员或该级别的任何东西,但至少研究,学习如何做基本的事情并知道它们存在并且(在大多数情况下)可以做其他语言可以做的所有事情

我的专业建议,学习和掌握雇主可以使用的语言。如果你换工作,就要准备好学习新东西。并非所有的工作都使用Java或C ++,所以如果你只限于Java甚至C / C ++,你将无法在就业市场上销售。

答案 1 :(得分:2)

是的,你可以。

有许多选项可供选择:

  1. JNI提供Java代码与本机代码的通信。你可以用本机代码开发引导加载程序,但是用Java编写UI
  2. Java处理器:硬件中JVM的实现
  3. Java优化处理器
  4. 嵌入式Java
  5. picoJava
  6. 依旧......

    没有任何东西可以阻止你在Java中开发操作系统。您可以找到许多用Java编写的操作系统:从CISCO到NASA ......

    然而,即使创建一个小型操作系统也需要付出很多努力。