Windows,Mac OS X和Linux是用什么语言编写的?

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

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

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

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

另外,操作系统开发人员是否使用Ruby,Python等脚本语言来编写部分操作系统的脚本? 操作系统的哪些部分将用每种语言编写?

  • Windows:C ++,内核在C中
  • Mac:Objective C,内核在C(IO PnP子系统是Embedded C ++)
  • Linux:大多数情况下都是用C语言编写的,许多用户级应用程序都是用Python编写的,KDE全是C ++

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

Linux:C.assembly一些零件。

[…]主要是C语言,但大多数人不会打电话给我写C语言。它使用了我能find的所有可能的function,因为这也是一个教给我关于386的项目。正如已经提到的,它使用一个MMU,用于分页(而不是磁盘)和分段。 每个任务都有一个64Mb的代码段和数据段 – 4Gb中最多64个任务,任何需要超过64Mb /任务的任何人都会遇到困难的cookie。 […]我的一些“C”文件(特别是mm.c)几乎与C一样多。[…]与minix不同,我也遇到了LIKE中断,所以中断不会被隐藏他们背后的原因。 (资源)

Mac OS X:Cocoa主要在Objective-C中。 用C写的内核,部分汇编。

在内核层的Mac OS X大多是一个较旧的免费操作系统,称为BSD(具体来说,就是达尔文,是一种混合了BSD,Mach和其他一些东西)…几乎完全是C,的汇编程序抛出。 (来源)

Objective-C中实现了大部分cocoa,Objective-C是一种面向对象的语言,编译后以惊人的速度运行,而且运用了真正dynamic的运行时间,使其具有独特的灵活性。 因为Objective-C是C的超集,所以很容易将C甚至C ++混合到Cocoa应用程序中。 (资源)

Windows:C,C ++,C#。 汇编器中的某些部分。

我们几乎完全使用C,C ++和C#for Windows。 一些代码区域是手动调整/手写组装。 (资源)

Unix:C.组装一些零件。 (资源)

Mac OS X在一些库中使用了大量的C ++,但是它们并没有暴露,因为它们害怕ABI的崩溃。

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

我明白,这是一个旧的职位,但Windows绝对不是用C ++编写的。 有很多C ++,但我们技术上定义的操作系统不在C ++中。 Windows API,Windows内核(这两者实质上是一个操作系统)是用C编写的。几年前我给了Windows 2000和Windows XP的一些泄漏代码。 代码几乎不足以编译内核或API,但我们能够编译单独的程序和服务。 例如,我们能够成功编译Notepad.exe,mspaint.exe和spoolsv.exe服务(后台打印程序)。 所有用C写成的。我没有再看,但我相信泄露的代码仍然存在,作为洪stream文件可能仍然可用。

你是对的MacOSX在Objective-C的核心。

Windows C ++

Linux C

关于脚本语言,不,他们非常高。

我已经读过或听说过,Mac OS X主要是用Objective-C编写的,其中包含一些较低级别的部分,比如内核,以及用C语言编写的硬件设备驱动程序。我相信苹果公司“吃自己的狗粮“,这意味着他们使用自己的Xcode开发工具编写Mac OS X. GCC(GNU编译器集合)编译链接器是xCode用于编译和/或链接可执行文件的大部分的unix命令行工具。 在其他可能的语言中,我知道GCC从C,Objective-C,C ++和Objective-C ++语言编译源代码。

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

Linux内核大部分都是用C语言编写的(还有一点我想象中的汇编语言),但是一些重要的用户空间实用程序(程序)是用Bash脚本语言编写的shell脚本。 除此之外,由于你基本上是通过挑选你想要的零碎件并将它们放在一起来构build一个Linux系统,并且根据单个Linux用户所需要的,你可以获得几乎所有的语言,所以定义“Linux”是很难的。 (正如Paul所说,Python和C ++扮演重要angular色)

作为Mac OS X核心的补充,Finder在Snow Leopard之前还没有被写入Objective-C。 在雪豹它写在cocoa,Objective-C

请参阅标题为“在多平台上运行的一个操作系统” ,标题为:

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

Windows显然不是用C#(!)编写的

只要看到Windows的源代码,你会看到…