为什么操作系统内核通常用 C 或 C++ 编写?

沙扎伊布·马扎里

已经有用各种语言编写的实验性操作系统,包括 C#(SingularitySharpOS)、Java(JavaOSJX)和 Lisp(各种Lisp 机器)。

那么为什么 C(以及在较小程度上是 C++)是用于开发操作系统内核的主要语言?C 有什么特别之处使它特别适合用于内核编程,还是更多是出于历史原因?

杰斯帕·尤尔

在操作系统内核中使用 C 语言的一些(不是全部)原因:

性能对操作系统很重要,所以解释型语言已经过时了,编译型语言已经过时了。此外,无论如何,你必须用其他语言编写解释器作为操作系统的一部分,所以......

直接访问硬件资源和进行低级位“摆弄”的简单方法对于操作系统也很重要,C 和 C++ 都涵盖了这一点。

您通常还需要直接在汇编中为您所针对的特定处理器体系结构编写一些位。在 C 和 C++ 中用内联 asm 编写点点滴滴很简单。

此外,大多数其他语言都支持 C 的调用约定,因此用 C 编写操作系统可以轻松地以易于交互的方式向用户空间公开系统调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章