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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么操作系统内核通常用C或C ++编写? [关闭]相关的知识,希望对你有一定的参考价值。

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

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

答案

将OS语言用于C语言的一些(并非所有)原因:

性能对于操作系统很重要,因此解释型语言已经出来并且编译语言已经存在。此外,无论如何,您必须将解释器编写为操作系统的一部分,因此......

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

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

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

以上是关于为什么操作系统内核通常用C或C ++编写? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

什么是 C 和 C ++ 标准库?

编写C#.net的程序 需要啥软件?

C - Linux在内核模式下创建声音[关闭]

C语言是啥时候开始的?

C语言的定义是啥?

C语言文件操作(含详细步骤)