學習應用層的各種語言、框架,好比在練拳法招式,可以短期給予你回報,而深入學習“底層知識”,就是在練扎馬步、核心肌肉力量,是在提升你自己的“根骨”和“資質”。
如果越早去弄清楚計算機的底層原理,在你的知識體系中“儲蓄”起這些知識,也就意味着你有越長的時間來收獲學習知識的“利息”。雖然一開始可能不起眼,但是隨着時間帶來的復利效應,你的長線投資項目,就能讓你在成長的過程中越走越快。
硬件和軟件之間需要一座橋梁,而“計算機組成原理”就扮演了這樣一個角色,它既隔離了軟件和硬件,也提供了讓軟件無需關心硬件,就能直接操作硬件的接口。
你只需要對硬件有原理性的理解,就可以信賴硬件的可靠性,安安心心用高級語言來寫程序。無論是寫操作系統和編譯器這樣的硬核代碼,還是寫 Web 應用和手機 App 這樣的應用層代碼,你都可以做到心里有底。

操作系統,其實是在“組成原理”所講到的“指令集”上的一層封裝。
