CSSAPP稀裡糊塗的讀書筆記(一)計算機系統漫遊
阿新 • • 發佈:2018-12-17
主要介紹了計算機系統的一些概念知識等。
-
系統中的所有資訊,都是由一串位表示的。區分不同資料物件的唯一方法是我們讀到這些資料物件時的上下文。
-
將一個程式翻譯成一個可執行目標檔案經過四個階段:預處理階段、編譯階段、彙編階段和連結階段。
-
簡單的介紹了系統的硬體組成:匯流排、I/O裝置、主存、CPU。
-
簡單介紹了快取,如一個典型系統上的磁碟驅動器可能比主存大1000倍,但是對於處理器而言,從磁碟驅動器上讀取一個字的時間開銷要比從主存中讀取的開銷大1000萬倍。而處理器從暫存器檔案中讀資料比從主存中讀取幾乎要快100倍。
-
針對儲存器的層次結構做了一個簡單介紹,如圖:
-
簡單介紹了程序,程序是作業系統對一個正在執行的程式的一種抽象。
-
作業系統保持跟蹤程序執行所需的所有狀態資訊。這種狀態,就是上下文。
-
簡單介紹虛擬記憶體,它是一個抽象概念,為每個程序提供一個假象,即每個程序都在獨佔的使用主存。
每個程序看到的虛擬地址空間由大量準確定義的區構成,每個區都有專門的功能。我們從最低的地址開始,逐步向上介紹。
- 程式程式碼和資料
- 堆
- 共享庫
- 棧
- 核心虛擬記憶體
- 檔案就是位元組序列,僅此而已。
- 作業系統核心是應用程式和硬體之間的媒介。它提供三個基本的抽象: 1) 檔案是對I/O裝置的抽象; 2)虛擬記憶體是對主存和磁碟的抽象; 3)程序是處理器、主存和I/O裝置的抽象。