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

新手上路,请多包涵

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

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

我在这里完全猜测 Mac OS X 包含很多 Objective-C 代码,因为它是 Apple 的源自 NeXT 的语言。

Windows,我听说包含 C、C++ 和 Intel 程序集。 Linux 或 Mac OS 是否包含任何汇编代码?

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

原文由 Brock Woolf 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 883
2 个回答
  • Windows:C++,内核在 C 中
  • Mac:Objective C,内核在 C 中(IO PnP 子系统是 Embedded C++)
  • Linux:大多数东西都是用 C 语言编写的,许多用户级应用程序是用 Python 编写的,KDE 都是 C++

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

原文由 Ana Betts 发布,翻译遵循 CC BY-SA 3.0 许可协议

Linux:C. 组装中的一些部件。

[…] 它主要是用 C 语言编写的,但大多数人不会将我编写的内容称为 C。它使用了我能找到的 386 的所有可以想象的功能,因为它也是一个教我有关 386 的项目。如前所述,它使用 MMU 进行分页(尚未到磁盘)和分段。正是分段使其真正依赖于 386(每个任务都有一个 64Mb 的代码和数据段 - 4Gb 中最多 64 个任务。任何需要超过 64Mb/任务的人 - 艰难的 cookie)。 […]我的一些“C”文件(特别是 mm.c)几乎与 C 一样多的汇编程序。[…] 与 minix 不同,我也碰巧喜欢中断,因此处理中断时不会试图隐藏他们背后的原因。 (资源)

Mac OS X:Cocoa 主要在 Objective-C 中。用 C 语言编写的内核,组装中的某些部分。

Mac OS X,在内核层,主要是一个旧的、免费的操作系统,称为 BSD(具体来说,它是 Darwin,一种 BSD、Mach 和其他一些东西的混合体)……几乎完全是 C,有点汇编程序的投入。 (来源)

Cocoa 的大部分内容是在 Objective-C 中实现的,这是一种面向对象的语言,经过编译后可以以惊人的速度运行,但采用真正动态的运行时,使其具有独特的灵活性。因为 Objective-C 是 C 的超集,所以很容易将 C 甚至 C++ 混合到您的 Cocoa 应用程序中。 (资源)

Windows:C、C++、C#。汇编器中的一些部件。

对于 Windows,我们几乎完全使用 C、C++ 和 C#。某些代码区域是手动调整/手写的汇编。 (资源)

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

原文由 Pacerier 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题