首先不得不说的是C语言真的非常简单,看看K&R经典的"The C Programming Language",薄薄的一本书就把C语言讲完了。再去看看Java、C#等,要是介绍这些语言的书不能厚到去垫显示器你都不好意思去读。由于C语言很简单,被移植到了许多CPU架构上,甚至许多CPU设计者第一件事就是把C语言移植过来。假设你自己打造了一款CPU,有自己独特的机器指令,现在CPU有了,接下来的问题是你该怎么编写程序让你的CPU开始工作呢?关于CPU的工作原理你可以参考《你管这破玩意叫CPU?》我们知道,CPU只能执行机器指令,程序员都使用高级语言来编写程序,因此必须将高级语言翻译成机器指令,接下来的问题是选择什么语言呢?使用极为复杂的Java/C#还是简单的C呢?答案不言而喻。因此你接下来需要的就是为你设计的CPU打造一款C编译器,之前都是通过魔改gcc来完成,现在你也可以使用LLVM(注意,这绝不是一件想象中那么简单的事情)。看到了吧,处理器设计者想到的第一个用来驱动CPU的高级语言就是C,那么针对该CPU编写的操作系统该用什么语言还用得着说吗?