深入理解計算機系統

2022-08-15 17:06:23 字數 877 閱讀 5884

第1章 計算機系統漫遊

資訊(位+上下文),編譯器,指令,快取記憶體,儲存體系,作業系統,網路通訊

第2章 資訊的表示和處理

資訊儲存,進製,字,定址,位元組序,字串,邏輯運算,位運算,整數表示與運算(有無符號,補碼,乘除),浮點數

第3章  程式的機器級表示

儲存器的越界訪問與緩衝區溢位

c對陣列引用不進行邊界檢查,對陣列的越界訪問會導致破壞棧中的狀態資訊。

對抗緩衝區溢位攻擊

棧隨機化,棧破壞檢測,限制可執行**區域

ia32擴充套件

第4章  處理器體系結構

指令體系結構,流水線,硬體控制語言

第5章 優化程式效能

1.優化程式效能

消除連續的函式呼叫

消除不必要的儲存器引用

引入臨時變數來儲存中間結果

展開迴圈,迴圈中不變的值用乙個變數替代

2.優化編譯器的能力和侷限性

3.表示程式效能

4.消除迴圈的低效率,減少過程呼叫

表示程式效能

提高並行性

第6章  儲存器的層次結構

快取記憶體,區域性性

第7章 鏈結

編譯器驅動程式,靜態鏈結,動態鏈結,目標檔案,重定位,符號和符號表,載入,動態鏈結庫

第8章 異常控制流

異常,程序,系統呼叫錯誤處理,訊號,非本地跳轉

第9章 虛擬儲存器

實體地址,虛擬位址,儲存器對映與分配,垃圾收集

第10章 系統級io

開啟與關閉檔案,讀寫檔案,共享檔案,io重定位

第11章 網路程式設計

套接字介面,web程式設計,客戶伺服器程式設計模型

第12章 併發程式設計

io多路復用,訊號量同步執行緒,共享變數

深入理解計算機系統

關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...

《深入理解計算機系統》

知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...

深入理解計算機系統

系統的硬體組成 快取記憶體 作業系統管理硬體 程序虛擬記憶體 檔案amdahl定律 併發和並行 0和1組成的位序列,又稱為位元序列,8個位被組織成一組,成為位元組。每個位元組表示程式中的某些文字字元。系統中的所有資訊 包括磁碟檔案 記憶體中的程式 記憶體中存放的的使用者資料以及網路上傳送的資料,都是...