我只是想知道谁知道Windows、Mac和Linux是由什么编程语言组成的,以及操作系统的每个部分都使用什么语言(即:内核、插件架构、GUI组件等)。
我假设每种语言都有多种语言,显然我知道Linux内核是用C语言编写的。
我在这里完全猜测Mac包含很多Objective-C代码,因为它是苹果从NeXT派生的语言。
Windows,我听说包含C,C++和英特尔汇编。Linux或Mac OS是否包含任何汇编代码?
此外,操作系统开发人员是否使用Ruby、Python等脚本语言为操作系统的某些部分编写脚本?操作系统的哪些部分将用每种语言编写?
发布于 2009-02-24 02:58:07
所有内核也将使用一些汇编代码。
发布于 2011-09-26 05:11:52
Linux: C.装配中的一些部件。
...它主要是用C语言编写的,但大多数人不会把我写的东西叫做C。它使用了我能找到的386的每一个能想到的特性,因为它也是一个教我关于386的项目。如前所述,它使用MMU进行分页(还不是磁盘)和分段。正是这种分割使得它真正依赖于386 (每个任务都有64Mb的代码和数据段-最多64个任务,单位为4 4Gb )。任何需要超过64MB/任务的cookies)。..。我的一些" C "-files (特别是mm.c)几乎和C一样多。与minix不同的是,我碰巧也喜欢中断,所以处理中断时不会试图隐藏背后的原因。(Source)
Mac : Objective-C中的可可最多。内核是用C语言写的,有些部分是汇编的。
Darwin Mac,在内核层,主要是一个旧的,免费的操作系统,叫做
(具体地说,它是Darwin,一种混合了BSD,Mach和其他一些东西的东西)……几乎全是C语言,再加上一点汇编程序。(Source)
Cocoa的大部分是用Objective-C实现的,Objective-C是一种面向对象的语言,它被编译成以令人难以置信的速度运行,但它采用了真正的动态运行时,使其具有独特的灵活性。因为Objective-C是C的超集,所以很容易将C甚至C++混合到您的Cocoa应用程序中。(Source)
Windows: C、C++、C#。汇编器中的一些部件。
我们几乎全部使用C、C++和C#。代码的某些区域是手工调优/手工编写的汇编。(Source)
Unix: C.装配中的一些部件。(Source)
发布于 2009-02-27 06:07:55
Mac在一些库中使用了大量的C++,但由于它们害怕ABI被破坏,所以不会暴露出来。
https://stackoverflow.com/questions/580292
复制相似问题