作業系統-Operating-System第一章:概述

YuanbaoQiang發表於2020-10-11

B站資源:作業系統_清華大學(向勇、陳渝)

Github資源:chyyuu/os_course_info

參考書籍:Operating systems: internals and design principles
MIT公開課:6.828: Operating System Engineering

基本單元

巨集觀來講,一臺計算機包含處理器Processor)、記憶體memory)、以及I/O模組I/O modules),每一種型別有一個或者多個模組。主要有以下四個主要結構單元:

  • 處理器:控制電腦的操作,以及執行資料處理的功能,如果只有一個處理器,則這就被認為是中央處理單元(Central Processing Unit);
  • 主存(Main memory:儲存資料和程式。這裡的記憶體是易變的,一旦電腦斷電,記憶體中的內容就會丟失。然而,對於儲存在磁碟(disk中的資料,及時關閉計算機,內容依舊會儲存。主存也被稱為實儲存器real memory)或者主儲存器(primary memory);
  • I/O模組:負責計算機和外部環境資源的傳輸。外部環境包括許多裝置,包括次要的儲存裝置(磁碟),通訊裝置和終端;
  • 系統匯流排(System bus:為處理器,主存,I/O模組提供通訊服務。

在這裡插入圖片描述

處理器的一個功能就是與主存進行交換資料。為實現這個目的,用到了兩個內部暫存器:記憶體地址暫存器(Memory address register記憶體緩衝暫存器(Memory buffer register記憶體地址暫存器確定記憶體中需要讀入和寫出的地址。記憶體緩衝暫存器包含了需要寫入記憶體的資料或者需要從記憶體讀取的資料內容。另外,內建暫存器I/O地址暫存器I/O address register)和I/O緩衝暫存器I/O buffer register)實現了與I/O模組的互動。I/O地址暫存器確定了特定的I/O裝置,I/O緩衝暫存器進行處理器和I/O模組間的資料交換。記憶體模組由一組位置組成,這些位置由順序編號進行定義。每個位置都包含一個位模式,可以解釋為指令或者資料。I/O模組將資料從外部裝置傳輸到處理器和記憶體,反之亦然。同時記憶體中含有內部緩衝區,可以用於儲存臨時資料,直到將資料傳送出去即可。

軟體/硬體組成

通常,作為使用者都是以軟體角度來操作我們的計算機,這些操作一般與計算機的硬體無關。可以用一種變成語言來表達應用程式,並且開發相關的應用程式。但是如果將一個應用程式完全的負責計算機硬體的機器指令進行開發,將會變得異常負責。所以為了減少這種麻煩,才有了以下的結構,硬體層在最下面,而軟體層面向使用者,直接通過應用程式操縱計算機。這些應用程式可以完成常用的功能,例如程式建立、檔案管理、I/O裝置的控制。使用者可以呼叫這些程式實現某些功能。而系統程式中最重要的就是作業系統,掩蓋了計算機的硬體細節,併為使用者提供了更便捷的使用介面。它充當中介者,使使用者和應用程式更加容易訪問和使用這些硬體和服務。

比如,對於使用者而言要執行一個.c檔案,需要先經過編譯、然後彙編成機器可以識別的語言,然後再經過一系列過程,才可以將我們的程式載入到記憶體中。這一過程是繁瑣複雜的,對於使用者而言這些動作都是透明的,作業系統幫我們完成了一切,使用者體驗感更好。

相關文章