关于操作系统内核的编制问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:57:15
请问操作系统内核都用什么语言编写?只用汇编可以吗?我看到一些内核中包含C语言,那么那些c语言是用来编制内核什么部分的呢?内核需要脱离操作系统运行,那么那些c语言最终将编译成什么来让cpu运行呢?

可以只用汇编,记得linux操作系统内核是启动代码用的汇编,只有两个文件,后面全部用的C。内核的运行是通过编译成二进制代码,电脑首先开机会自动运行磁盘上引导扇区的操作系统引导程序,引导程序负责读取磁盘上的内核代码加载到内存,然后跳转到相应的内存段运行,C语言最终编译出来大部分都是CPU能执行的二进制指令序列,我们平常写的程序都是带有可执行文件的文件头的二进制指令序列,脱离操作系统是不能运行的。我描述的不是很清楚,如果有兴趣,建议你去看看《自己动手写操作系统》这本书,上面把这些原理写得很清楚。