2 lcz2017 lcz2017 于 2016.09.20 15:19 提问

为什么操作系统都是用c或者c++程序写的,而不用Java呢?

为什么操作系统都是用c或者c++程序写的,而不用Java呢?求高手指教,谢谢。

9个回答

qq_34789629
qq_34789629   2016.09.20 15:26

java是高级语言 不和底层打交道,比如寄存器。这些都交给java虚拟机了 所以要写操作系统就必须得直接和底层打交到 java好学就是因为少了这部分 缺点也是因为这部分.

u014559880
u014559880   2016.09.20 15:25

用C/C++的原因很简单:具有贴近底层硬件的能力。设想使用Java来写操作系统的话,你必须把jvm那一套做在硬件上。

qq_34543024
qq_34543024   2016.09.20 15:26

只能说是大多数,不是所有的操作系统都用的是C。

原因简单说两点:
1.效率,C的效率比其他语言高,可以达到汇编的80%。相对于解释型的编程语言要快
2.底层,C语言更接近机器底层,使用C指针可以直接访问内存

shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:28

效率问题和兼容型。。。Java 需要环境,C#这个更不用说了。。

guwei4037
guwei4037   Ds   Rxr 2016.09.20 15:34

因为语言设计之初定位就不同。java的特点是oop,执行效率相比较c/c++较低,java开发效率高,适合编写应用和网页。c/c++的特点是指针,能够直接跟内存打交道,适合性能要求较高的场合。某些场合c的性能还不能满足要求的话,可以用更低级的汇编语言。

lx624909677
lx624909677   Ds   Rxr 2016.09.20 16:23

因为java的底层虚拟机就是纯C写的,如果用JAVA写个操作系统,执行的过程就是java-C-汇编-机器指令这样了,就是效率问题,别说操作系统了,就是windows上跑的程序,都几乎没java写的,99%是C++写的,100%的图形处理程序是C++写的

hi_chen_xingwang
hi_chen_xingwang   Rxr 2016.09.20 15:20

Android 用的java 谢谢

hi_chen_xingwang
hi_chen_xingwang 回复androiosymbian: JX OS
大约一年之前 回复
hi_chen_xingwang
hi_chen_xingwang 回复androiosymbian: 那 Android用C写的
大约一年之前 回复
u014559880
u014559880 呵呵,不懂别瞎说好吗
大约一年之前 回复
sinat_26761191
sinat_26761191   2016.09.20 15:27

老牌的程序,很多功能c已经写好了,用别的语言再写只是重复造轮子,最多在底层是c的基础上 封装自己的语言, 既然别人已经把功能写好了,为什么还要自己用语言重新写系统呢,还有这太绝对了,还有很多事不是c的

lcz2017
lcz2017   2016.09.20 17:49

谢谢各位,很有收获。。。

Csdn user default icon
上传中...
上传图片
插入图片