作業系統基本概念
文章目錄
- 作業系統基本概念
- 一、作業系統定義
- 二、作業系統的功能與目標
- 三、作業系統的四個特征
- 四、作業系統的運行機制和體系結構
- 4.1 作業系統的運行機制
- 4.2 作業系統的體系結構
- 五、中斷和例外
- 5.1 中斷的概念和作用
- 5.2 中斷的分類
- 5.3 外中斷的處理程序
- 六、系統呼叫
一、作業系統定義
具體來說:
??現代計算機系統由一個或多個處理器、主存、磁盤、列印機、磁盤、滑鼠、顯示幕以及其他輸入輸出設備組成, 要想使用者能夠透明化的使用計算機設備,就必須將計算機運行細節封裝起來,并且其中的各種軟體和硬體的管理和整合需要特定的軟體系統來完成,所以誕生計算機作業系統來對計算機底層設備進行管理,并且封裝成介面,方便用戶直接呼叫介面使用,
直接拉取書本上的概念進行總結:
??作業系統控制和管理計算機的軟體和硬體,合理組織計算機的作業和資源分配,以提供用戶和其他軟體方便的介面和環境,是最基本的系統軟體,
二、作業系統的功能與目標

正如前面作業系統概念所說的,作業系統的功能和目標為以下三點:
- 作為計算機系統資源的管理者: 管理CPU、存盤、檔案和設備等;
- 作為用戶與計算機硬體系統間的介面: 提供用戶對計算機硬體操作的命令介面(分聯機和脫機命令)、程式介面(系統呼叫)和圖形用戶界面;
- 作為最接近硬體的層次: 實作對硬體機器的拓展(通常把覆寫了軟體的機器成為擴充機器,又稱之為虛擬機),
三、作業系統的四個特征
- 并發
首先區分并行和并發的概念:
??并發是指兩個或多個事件在同一事件間隔內發生,宏觀上是同時發生的,但微觀上是屬于交替發生的(一個CPU交替計算多個程式);并行是指兩個或者多個事件在用一時刻同時發生(多個CPU同時計算等量任務)
??在當代計算機中,即使是四核CPU,我們在計算機上同時運行的程式一般都會在4個以上,所以作業系統的并發性依然必不可少,
- 共享
共享即資源共享,是指系統中的資源可供記憶體中多個并發執行的行程共同使用,
共享分為兩個方式:
(1)互斥共享方式:某些資源雖然可以提供給多個行程使用,但同一時間只允許一個行程訪問該資源,
(2)同時共享方式:某些資源可以提供給多個行程使用,允許一個時間段內由多個行程“同時”訪問該資源(同時任然是宏觀上的,微觀上還是行程交替執行,即分時共享),
由并發和共享可以得到兩個的關系:
??以微信和QQ同時發送檔案為例,兩個行程都在從磁盤讀取資料進行檔案的發送,可以知道兩個行程是并發執行的,并且需要共享地訪問硬體資源,由此并發和共享的關系,失去并發性則系統中兩個行程可能無法并行,共享性失去存在的意義;失去共享性,則兩個行程無法同時訪問同一個資源,則并發性失去意義,
- 虛擬
虛擬是指將物理上的物體變為若干個邏輯上的對應物,
空分復用技術和時分復用技術為計算機擺脫了物理上的限制,同時,也可以感覺到沒有并發性,也談不上虛擬性,
- 異步
異步是指,在多道程式并發執行的環境下,由于可分配資源的約束,行程的執行不是一貫到底的,而是以不可預知的速度向前推進的(可能會阻塞),同時,也可以說到沒有并發性,也談不上異步性,
四、作業系統的運行機制和體系結構
4.1 作業系統的運行機制
- 指令:由編譯語言翻譯過來的能夠讓處理器識別、執行的最基本命令
- 處理器的兩種狀態:用戶態和核心態
- 兩種程式:內核程式和應用程式,內核程式可以執行特權和非特權指令,運行在核心態;為保證系統的安全運行,普通應用程式只能執行非特權指令,運行在用戶態,
指令分為特權指令和非特權指令兩種,其中特權指令不允許用戶程式使用
CPU判斷當前是否可以執行特權指令(由程式狀態字暫存器PSW中的標志位來標識),是通過處理器的狀態所決定的,在用戶態CPU只能執行非特權指令,
內核程式執行在核心態,可以呼叫特權指令;應用程式則執行在用戶態,只能呼叫非特權指令,
4.2 作業系統的體系結構

??作業系統的體系結構按照作業系統內核劃分的規則分為:大內核(包括上圖全部內容的內核)和微內核(只包括時鐘、中斷和原語這些必不可少的功能的內核),
大內核將作業系統的主要功能模塊都作為系統內核,運行在核心態,優點在于性能高,但缺點是內核代碼量大,難以維護,
微內核只將最基本的功能保留在內核,優點在于內核方便維護,但缺點在于CPU頻繁在核心態和用戶態間切換,影響性能,
五、中斷和例外
5.1 中斷的概念和作用
- 當中斷發生時,CPU立即進入核心態,
- 當中斷發生后,當前運行的行程暫停運行,并由作業系統內核對中斷進行處理,
- 針對不同的中斷信號,內核會進行不同的處理,
??發生了中斷,意味著作業系統需要介入開展管理作業,由于作業系統的管理作業(如行程切換、分配I/O設備等)需要使用特權指令,因此CPU要從用戶態轉換為核心態(中斷能使CPU從用戶態切換為核心態,使作業系統獲得計算機的控制權),有了中斷,才能實作多道程式的并發執行,
??從上述可以得到一個重要的結論:用戶態 -> 核心態的切換是通過中斷實作的,并且中斷是唯一途徑, 而核心態 -> 用戶態的切換,是通過作業系統在核心態下使用特權指令設定程式PSW狀態字為用戶態,
5.2 中斷的分類
廣義的中斷分為內中斷和外中斷,
- 內中斷,也成例外,信號來源于CPU,跟當前執行的指令有關,
- 外中斷,也就是狹義的中斷,信號來源于CPU外部,與當前執行的指令無關,

5.3 外中斷的處理程序
(1)每條指令執行結束后,CPU檢查是否有外部中斷信號,
(2)若有外部中斷信號,則需要保護被中斷行程的CPU環境,
(3)根據中斷信號的型別轉入相應的中斷處理程式,
(4)恢復原行程的CPU環境并退出中斷,回傳原行程繼續向下執行,
六、系統呼叫
??正如前面所說的,作業系統作為用戶和計算機硬體間的介面,向上提供簡單易用的服務,主要包括命令介面和程式介面(程式介面由一組系統呼叫組成,允許用戶通程序式間接使用),
??系統呼叫是指應用程式通過系統呼叫請求作業系統的服務,系統中的各種共享資源都由作業系統掌管,因此在用戶程式中,凡是與資源相關的操作(都是通過特權指令完成,需要在核心態下進行),都必須通過系統呼叫的方式向作業系統提出服務請求,由作業系統代為完成,以此保證系統的安全性和穩定性,
??系統呼叫與庫函式的區別則在于,高級編程語言的庫函式部分是對作業系統的系統呼叫的封裝,部分不涉及系統呼叫直接在用戶態下完成,
??系統呼叫流程:
??傳遞系統呼叫引數 -> 執行陷入指令(用戶態下)-> 執行系統呼叫相應服務程式(核心態下)-> 回傳用戶程式
??其中需要注意的是,陷入指令是唯一一個只能在用戶態執行,而不可以在核心態執行的指令,
參考:《王道考研作業系統》
地址:https://www.bilibili.com/video/BV1YE411D7nH
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/263813.html
標籤:其他
