系統的硬件組成
總線
攜帶信息字節並負責哉各個部件間傳遞,通常被設計成傳送定長的字節塊,也就是字。一個字的字節數是基本的系統參數,比如4個字節(32位)。
I / O設備
通過控制器與適配器與總線相連,在I/O總線與I/O設備之間傳遞信息。控制器和適配器的區別是封裝方式不同,控制器是置於I/O設備本身的主板上,適配器是插在主板插槽上的卡。
主存
主存是一個臨時的存儲設備。
從物理上說 主存由一組 動態隨機存取存儲器(DRAM)芯片組成
從邏輯上說 它是一個線性的字節數組,每個字節都有其唯一的地址。
處理器
CPU是 解釋執行存儲在主存中指令 的引擎。CPU核心是寄存器和程序計數器(PC)。任何時刻,PC都指向 主存 中的某條機器指令(就是含有該條指令的地址)。
運行hello程序
hello.c中已經被編譯系統翻譯成了目標文件hello並存放在磁盤上。
當我們在鍵盤上輸入“./hello”後,shell將字符逐一讀入寄存器,再放到存儲器當中。
回車
shell將hello目標文件代碼和數據,從磁盤複製到主存。
利用DMA可以直接從磁盤到主存。
加載到主存後,處理器執行機器語言指令,將結果字符串的字節從主存複製到寄存器文件,再從寄存器複製到顯示設備。