当前可以用来开发应用程序的语言有C、Java、Go、Delphi、VB、JS、Python、Lua等,总有网友问,操作系统是由什么语言开发的。本期内容,我们就来聊聊操作系统是由什么语言开发而成的。
硬件识别程序
为了搞清楚操作系统是由什么语言开发而成的,我们不得不先期导入对计算机的基本认识。因为操作系统是直接指挥硬件工作的,因此只有能被硬件识别的程序才能运行。
硬件能够识别的程序当然是二进制程序了,能被编译成二进制程序的开发语言有汇编、B语言、C语言、C++等。但由于C语言是使用最广泛的语言,与硬件之间的兼容性好,所以各种计算机硬件都支持C语言,这为C语言成为开发操作系统的主流语言提供了基础和保证。
为什么性能更好的汇编语言不适合操作系统开发
上文我们说到C语言是被硬件厂商广泛支持的编程语言,像intel和AMD的x86架构CPU、高通的ARM架构CPU,都支持C语言编程。因此,C语言成为开发操作系统的主流语言就是最佳的选择了。
众所周知,汇编语言是性能和运行效率高于C语言的编程语言,为何汇编没有成为操作系统开发的主流编程语言呢?
其实这是个伪命题,因为早期的操作系统,例如Unix、DOS等操作系统都大量使用了汇编语言。甚至于我们熟知的国内著名的office办公软件WPS早期也是使用汇编写成的软件。
但随着多用户多任务操作系统越来越庞大,全部使用汇编语言开发操作系统就显得非常复杂了。并且,汇编语言尽管执行效率高,但最大的缺点是多媒体编程效率低,全部面向过程编程。使用面向过程的编程语言编写操作系统,最大的问题就在于开发人员可能会写着写着就把自己写晕了。因为所有的处理程序必须在同一个过程函数中,这样的编程模式无法适应大规模复杂的多用户多任务操作系统的开发。