第1章計算機系統漫遊
1.1 位(bit)、位元組(8位)
二進位制檔案:其他檔案
1.2
hello.c-------->hello.i (修改文字,例如將標頭檔案內容插入)------->hello.s(匯程式設計序)--------->hello.o(可重定位目標程式、二進位制)+printf.o-------->hello(可執行目標程式、二進位制);
gun(gun』s not unix);
1.3 ia32:32位機器語言、x86-64:64位機器語言;
1.4匯流排:字長4個位元組即32位(一般情況);
i/o裝置:(包括磁碟驅動器);
主存:dram(動態隨機訪問儲存器),用於存放程式和程式處理的資料;
處理器(cpu)分為:
①程式計數器(pc)
②暫存器檔案
③算術/邏輯單元(alu)
cpu在指令下可執行
①載入:從主存賦值到register上
②儲存:從register複製到主存
③操作:兩個暫存器的內容複製到alu,運算後存放在暫存器
④跳**從指令本身抽取乙個字將其複製到pc中
指令集結構:描述每條機器**指令效果;
微體系結構:描述處理器實際上如何實現
dma(直接儲存器訪問):資料可以不容過處理器而直接從磁碟到達主存
1.5快取記憶體l1,l2(sram)
1.6儲存裝置形成層次結構
1.7作業系統
基本功能: ①防止硬體被失控的應用程式濫用
②向應用程式提供簡單一致的機制來控制複雜而又通常大相徑庭的低階硬體裝置
unix和posix標準;
抽象表示: ①檔案(抽象表示):i/o裝置
②虛擬儲存器:主存、i/o裝置
③程序:處理器、主存、i/o裝置
④虛擬機器:作業系統、處理器、主存、i/o裝置
⑤指令集結構:處理器
程序的併發執行:程序指令與另一條程序指令交錯執行;
程序的上下文切換及執行緒;
虛擬儲存器:①程式**和資料
②堆(執行時堆)
③共享庫
④棧(使用者棧)
⑤核心虛擬儲存器
檔案:包括磁碟、鍵盤、顯示器、網路等;
linux:類unix的作業系統核心、unix作業系統版本
1.8 系統之間利用網路通行
1.9 併發:同時具有多個活動的系統
並行:用併發使乙個系統執行得更快
①執行緒級併發
②指令級並行
③單指令、多資料並行(simd)
inter core i7 乙個核執行兩個執行緒;
程式介面(api)
深入理解計算機系統學習筆記(一)
為了說明程式的編譯過程,我們用經典的hello world程式作為例子 include int main int argc,char const argv 在linux系統中,我們用gcc編譯器將源程式檔案helloworld.c編譯成可執行目標檔案helloworld。zengwh zengwh ...
深入理解計算機系統學習筆記(一)概述
計算機系統由硬體和系統軟體構成,乙個程式的執行離不開軟硬體的協作。先來簡要的介紹一下計算機系統的硬體組成。雖然一些高階程式語言編寫的程式與硬體無關,但程式終究是要控制硬體來執行,所有的高階語言源程式都會被編譯為機器指令而後由硬體來執行,1 cpu cpu是 處理單元的簡稱。它負責解釋執行儲存在主儲存...
深入理解計算機系統 筆記
cu control unit cpu暫存器,晶元的快取記憶體sram 晶元外的快取記憶體sram 主存dram 本地硬碟 網路分布式檔案系統。拷貝次數越少,越好,netty,零拷貝 dma控制器與cpu分時使用記憶體的三種方式 程序 作業系統對執行程式的一種抽象,乙個系統上,多個程序都好像獨佔硬體...