1. 程式人生 > >計算機系統基本知識

計算機系統基本知識

  1. 位元組:所有的檔案內容都是由0和1組成的位(bit)序列,8個位稱為1個位元組。在ASCII中每個位元組可以表示一個英文字元(中文字元需要兩個位元組表示),只由ASCII字元構成的檔案稱之為文字檔案,其他檔案都稱為二進位制檔案。

  2. 資訊:在系統中所有的資訊都是由一串位構成,要判斷一串位資訊到底代表一個整數、浮點數、字串還是一條指令的關鍵是我們讀到這些資料時的上下文資訊=位+上下文,通過上下文物件的情況和一串位中包含的內容,我們能夠綜合判斷出資訊的含義。

  3. 匯流排:匯流排是貫穿整個系統並連線其包括各個部分的通訊管道,總線上傳遞定長的位元組塊,我們把它稱之為字(word),在32位機器上一個字是4個位元組,在64位機器上一個字是8個位元組。

  4. 主存:主存(又稱記憶體)是臨時儲存裝置,能夠存放資料資訊,具有斷電易失性。從物理意義上,主存是一組動態隨機存取儲存器(DRAM)晶片組成的;從邏輯上來說,主存是一個地址從0開始的線性的位元組陣列,所有的資料被存放其中且地址不同。

  5. 處理器:中央處理單元(CPU)簡稱處理器,是解釋執行儲存在主存中指令的引擎,處理器的核心是一個字長儲存裝置程式計數器(PC),只要在機器執行過程中,PC都會指向主存中的某條指令,這條指令就是處理器當前執行的指令。

  6. 快取記憶體:快取記憶體是位於CPU與主存之間的資料快取裝置,通常有三級,快取記憶體是採用靜態隨機訪問儲存器(SRAM)來實現的。快取主存中常用的資訊,為了加快CPU和主存間資訊訪問的速度。

  7. 儲存器層次結構

    1. 處理器
    2. L1快取記憶體
    3. L2快取記憶體
    4. L3快取記憶體
    5. 主存
    6. 本地硬碟(本地二級儲存)
    7. 分散式檔案系統、web伺服器、磁帶…
  8. 作業系統:作業系統可以被理解成是在所有的硬體裝置和軟體之間的一層軟體。

    1. 作業系統的監管防止了硬體裝置被失控的應用程式濫用,提供了基本的安全性
    2. 嚮應用程式提供簡單一致的機制使用那些各不相同的硬體裝置
    3. 通過一些基本的抽象概念,(比如:程序、虛擬儲存器、檔案等…)來實現各類功能。作業系統用檔案作為對I/O裝置的抽象、用虛擬儲存器作為I/O裝置和主存的抽象、用程序來抽象的表示處理器和I/O裝置和主存。
  9. 程序:我們在執行程式時會有一種假象,感覺計算機中的處理器、主存和I/O裝置都在為這個程式服務,處理器在一條一條不斷地執行指令,但是實際上並非如此。作業系統用程序的概念構造出這樣一種感覺,即使是單核計算機也能夠同時執行多個程式,程序是電腦科學中最成功的概念之一。程序是作業系統對一個正在進行的程式的一種抽象,在一個系統上可以同時進行多個程序,而每個程序好像都在獨立的佔用硬體,而併發執行則是指一個程序的指令和另一個程序的指令是交錯執行的,作業系統通過上下文切換

    的機制達到這種併發的效果。因為上下文切換的速度極快,所以給使用者表現為一種多個程式在同時使用處理器的感覺。

  10. 執行緒:在現代系統中,一個程序中可以由多個執行緒執行單元組成,多個執行緒也能形成一種併發的效果,並且執行緒之間交換資料相比較程序容易很多且高效。

  11. 虛擬儲存器:虛擬儲存器是一種抽象的概念,他為每個程序提供了一種“在獨自佔用所有的主存”的假象。每個程序能看到的是一致的儲存器,我們稱之為虛擬地址空間

  12. 檔案:檔案就是位元組序列,或者可以理解成為由0和1組成的二進位制內容。檔案嚮應用程式提供了一種統一的視角來對待各式各樣的I/O裝置。作業系統用檔案來對I/O裝置進行抽象,I/O裝置讀寫的內容都為位元組序列檔案使得處理資料難度降低。

  13. 計算機系統中的抽象:檔案作為對I/O裝置的抽象、虛擬儲存器作為I/O裝置和主存的抽象、指令集結構作為對處理器的抽象、程序來抽象的表示處理器和I/O裝置和主存、虛擬機器作為作業系統和處理器和I/O裝置和主存的抽象。