深入理解計算機系統 筆記1

2021-07-09 06:59:04 字數 1199 閱讀 8456

主頁上的內容非常豐富,超乎你的想象,等你去探索。

好吧,我**了,你始終對書上的內容持懷疑態度來閱讀,對於知識的吸收的本身來說非常有意。

2010新版新增內容

本書的第一版於2023年出版。考慮到計算機技術發展如此迅速,這本書的內容還算是保持得令人吃驚的好。事實證明intel x86的機器上執行類unix作業系統,加上採用c語言程式設計是一種能夠涵蓋當今許多系統的組合。硬體技術和編譯器的變化,以及很多老師教授這些內容的經驗,都促使我們做了大量的修改。

下面列出的是一些更加詳細的改進:

第2章:資訊的表示和處理。通過更加詳細地解釋概念以及更多的練習和家庭作業,我們試圖使這部分內容更加易懂。我們將一些比較偏理論的內容放到了網路旁註裡。還講述了一些由於計算機算術運算的溢位造成的安全漏洞。

第3章:程式的機器級表示。我們將內容的覆蓋範圍擴充套件到了包括x86-64,也就是將x86處理器擴充套件到了64位字長。也使用了更新版本的gcc產生的**。另外還增強了對緩衝區溢位漏洞的描述。在網路旁註裡,我們給出了兩類不同的浮點指令,還介紹了當編譯器試圖做更高等級優化的時候,做的一些奇特的變換。另外,還有乙個網路旁註描述了如何在乙個c語言程式中嵌入x86彙編**。

第4章:處理器體系結構。更加詳細地說明了我們的處理器設計中的異常發現和處理。在網路旁註裡,我們也給出了我們的處理器設計的verilog描述對映,使得我們的設計能夠綜合到可執行的硬體上。

第5章:優化程式效能。我們極大地改變了對亂序處理器如何執行的描述,還提出了一種簡單的技術,能夠基於程式的資料流圖表示中的路徑來分析程式的效能。在網路旁註裡,描述了c語言程式設計師如何能夠利用較新的x86處理器中提供的simd(單指令流,多資料流)指令來程式設計。

第6章:儲存器層次結構。我們增加了固態硬碟的內容,還更新了我們的表述,使之基於intel core i7處理器的儲存器層次結構。

第7章:鏈結。本章的變化不大。

第8章:異常控制流。我們改進了對於程序模型如何引入一些基本的併發概念的討論,例如,非確定性。

第9章:虛擬儲存器。我們更新了我們的儲存器系統案例研究,採用了64位intel core i7處理器為例來講述。我們還更新了malloc函式的示例實現, 使之既能在32位也能在64位環境中執行.

第10章:系統級i/o。本章的變化不大。

第11章:網路程式設計。本章變換不大。

第12章:併發程式設計。我們增加了關於併發性一般原則的內容,還講述了程式設計師如何利用執行緒級並行性使得程式在多核機器上能執行得更快。

深入理解計算機系統 筆記1 計算機系統漫遊

從今天開始學習深入計算機系統這本教材,以前還是寫了一些 的,但是由於不是計算機出身的,所以關於這方面的知識掌握的比較少,現在趁著有時間好好的學習下。1.文字檔案到ascii編碼的轉換。2.各個裝置之間的複製就是系統開銷。3.對處理器來說,讀取乙個位元組資料住儲存器要比磁碟快1000萬倍,從暫存器中讀...

深入理解計算機系統1

hello.c include int main 源程式 原始檔 實際上就是乙個由0和1組成的位 又成位元bit 序列,8個位被組組成一組,稱為位元組。每個位元組表示程式中的某些文字字元 大部分的現代計算機系統都使用ascii標準來表示文字字元 hello.c 預處理器 cpp hello.i 修改...

深入理解計算機系統 筆記

cu control unit cpu暫存器,晶元的快取記憶體sram 晶元外的快取記憶體sram 主存dram 本地硬碟 網路分布式檔案系統。拷貝次數越少,越好,netty,零拷貝 dma控制器與cpu分時使用記憶體的三種方式 程序 作業系統對執行程式的一種抽象,乙個系統上,多個程序都好像獨佔硬體...