首先不得不說的是C語言真的非常簡單,看看K&R經(jīng)典的"The C Programming Language",薄薄的一本書就把C語言講完了。再去看看Java、C#等,要是介紹這些語言的書不能厚到去墊顯示器你都不好意思去讀。由于C語言很簡單,被移植到了許多CPU架構(gòu)上,甚至許多CPU設(shè)計者第一件事就是把C語言移植過來。假設(shè)你自己打造了一款CPU,有自己獨特的機器指令,現(xiàn)在CPU有了,接下來的問題是你該怎么編寫程序讓你的CPU開始工作呢?我們知道,CPU只能執(zhí)行機器指令,程序員都使用高級語言來編寫程序,因此必須將高級語言翻譯成機器指令,接下來的問題是選擇什么語言呢?使用極為復(fù)雜的Java/C#還是簡單的C呢?答案不言而喻。因此你接下來需要的就是為你設(shè)計的CPU打造一款C編譯器,之前都是通過魔改gcc來完成,現(xiàn)在你也可以使用LLVM(注意,這絕不是一件想象中那么簡單的事情)。看到了吧,處理器設(shè)計者想到的第一個用來驅(qū)動CPU的高級語言就是C,那么針對該CPU編寫的操作系統(tǒng)該用什么語言還用得著說嗎?