没有操作系统可以运行软件吗

没有操作系统可以运行软件
操作系统起到了什么作用,我感觉其中的进程管理和存储器管理的作用是十分显著的

如果操作系统是用c写的,比如linux,那么是不是就意味着他自带一个c编译器?

不对,也可以是别的电脑上已经编译成二进制文件后,直接运行。
所以从这个角度来说,操作系统可以拿任意一门语言来写(站在别人的肩膀上),但是最早的操作系统或者说是编译器都是用汇编来写的。

更完善的解释应该是这样

“但是为什么大部分操作系统内核都只用C语言来写?因为目前所有的语言的开发环境里,C语言能做到编译成不依赖操作系统的形式二进制代码,C语言的各种脱离系统的库最丰富,最完整,C语言用来开发操作系统的工具最多。
如果内核中希望使用printf这个函数,那么内核就必须自己实现printf,而不是依赖标准库,因为标准库是要依赖操作系统来完成真正的printf操作。而这种库,C语言版本的最容易找到,其它语言要么没有,要么很难用。”

如果说这门语言的库函数本身就是在调用操作系统的功能,那么又怎么让他的函数在没有操作系统的时候来构建一个操作系统呢。也并非是不能使用,比如自己不调用操作系统的功能,而是直接借用那个函数利用到的操作系统功能的源代码也是可以的,但这就相当于自己用汇编,c之类的写了,没什么意义。

综上,写操作系统最好的语言,目前我认为应被称为是最方便的语言,是可以站在巨人的肩膀上,比如说python的众多库,拥有很多现成的*可以直接使用,这样就方便了很多。

上一篇:【Java技术探索】深入分析JDK动态代理的源码


下一篇:66、宏名与函数名重名