c - 完全用汇编编写操作系统有什么好处?

标签 c assembly operating-system

<分区>

MenuetOS是一个完全用汇编语言编写的操作系统的例子。用汇编而不是 C 等低级编程语言编写它有什么优势吗?

最佳答案

使用操作系统的编写语言往往最容易与操作系统交互——UNIX 和 Win32 中的 C,BeOS 中的 C++,等等。MenuetOS 专门设计用于简化汇编应用程序的开发,因此最好的选择是编写操作系统本身在汇编中。

对于非通用操作系统,例如嵌入式系统和微 Controller ,将 C 语言机械翻译(即编译)为汇编语言所带来的开销是 Not Acceptable 。编译器不像人类那么聪明,尤其是涉及到嵌入式平台所需的各种繁琐的小优化时,直接在汇编中编写保证不会有编译器破坏精心设计的算法。

关于c - 完全用汇编编写操作系统有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302692/

相关文章:

c - 相同的二进制文件,但不同调试器中的堆栈指针 (ESP) 地址不同

c - Sleep() 内联汇编调用可以工作,但会生成运行时检查失败

用 C 创建并打印一棵树

c - 将内存块的前两个字节设置为指针或 NULL,同时仍然访问 block 的其余部分

c# - Java 与 C# 机器代码做同样的事情

c - sleep 函数调用会导致哪种调度程序状态?

c - 运行 fork 并打印 hello

assembly - (汇编 x86 实模式)数据在程序结束时得到 "cut off"?

c++ - 解释了一种将 double 舍入为 32 位整数的快速方法

javascript - 脚本:在HTML文件中显示图像