我只是想知道谁知道Windows、Mac OS X和Linux是由哪些编程语言组成的,以及操作系统的每个部分都使用了哪些语言(例如:内核、插件架构、GUI组件等)。

我假设每种都有多种语言,显然我知道Linux内核是用C编写的。

我完全猜测Mac OS X包含大量Objective-C代码,因为它是苹果从NeXT派生的语言。

Windows,我听说包含C, c++和英特尔汇编。Linux或Mac OS是否包含任何汇编代码?

还有,是否有像Ruby, Python之类的脚本语言被操作系统开发者用来编写部分操作系统的脚本?操作系统的哪些部分是用每种语言编写的?


当前回答

请参阅标题下的一个操作系统在多个平台上运行,其中说明:

Most of the source code for Windows NT is written in C or C++.

其他回答

Windows:主要是C和c++,还有一些c#

windows: c++ linux: C mac: Objective C android: JAVA, C, c++ Solaris: C, c++ iOS 7: Objective-C,Swift,C, c++

Windows: c++,内核是C语言 Mac: Objective C,内核是C (IO PnP子系统是嵌入式c++) Linux:大多数东西都是C语言,许多用户应用程序是Python语言,KDE都是c++语言

所有内核都将使用一些汇编代码。

Mac OS X在一些库中使用了大量的c++,但由于担心ABI被破坏,所以没有公开。

哇! !9年的问题,但我刚刚看到了一系列关于Windows命令行历史的内部文章,我认为其中一些可能与问题的Windows方面有关:

For those who care about such things: Many have asked whether Windows is written in C or C++. The answer is that - despite NT's Object-Based design - like most OS', Windows is almost entirely written in 'C'. Why? C++ introduces a cost in terms of memory footprint, and code execution overhead. Even today, the hidden costs of code written in C++ can be surprising, but back in the late 1990's, when memory cost ~$60/MB (yes … $60 per MEGABYTE!), the hidden memory cost of vtables etc. was significant. In addition, the cost of virtual-method call indirection and object-dereferencing could result in very significant performance & scale penalties for C++ code at that time. While one still needs to be careful, the performance overhead of modern C++ on modern computers is much less of a concern, and is often an acceptable trade-off considering its security, readability, and maintainability benefits ... which is why we're steadily upgrading the Console’s code to modern C++.