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

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

9个回答

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

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

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

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

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

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

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

Android 用的java 谢谢

primary_leraner
primary_feeling 安卓操作系统应该是基于linux的,而linux操作系统是什么语言写的,你应该知道吧。
接近 2 年之前 回复
hi_chen_xingwang
朕就是这么帅 回复androiosymbian: JX OS
接近 4 年之前 回复
hi_chen_xingwang
朕就是这么帅 回复androiosymbian: 那 Android用C写的
接近 4 年之前 回复
u014559880
androiosymbian 呵呵,不懂别瞎说好吗
接近 4 年之前 回复

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐