作業系統(四)作業系統的執行機制

2021-10-03 09:11:43 字數 1995 閱讀 4337

目錄

1.4 作業系統的執行機制

1.4.1 核心程式&應用程式

1.4.2 特權指令&非特權指令

1.4.3 核心態&使用者態

1.4.4 作業系統的核心

1.4.5 小結

作業系統其實也是一種程式,程式的執行過程也就是cpu執行一行行機器指令的過程。區別於一般程式設計師開發的應用程式,實現作業系統的程式就是核心程式。

核心程式:實現作業系統的程式稱為核心程式,許多核心程式結合在一起便組成了作業系統核心。

應用程式:普通程式設計師借助程式設計工具以及高階語言所完成的程式叫做應用程式。

特權指令:作為系統資源的管理者,作業系統可以使用一些直接關係重大的指令(記憶體清零等),這些指令被稱為特權指令,而且應用程式沒有辦法直接使用特權指令,這保證了作業系統的安全。

非特權指令:應用程式可以使用的指令,如加減乘除指令等。

cpu在設計的時候便已經劃分出了特權指令以及非特權指令,因此在執行這條命令前cpu就可以先判斷指令的內容。

cpu有兩種狀態:核心態(或稱核心態,管態)以及使用者態(目態)。當cpu處於核心態時,說明此時正在執行的是核心程式,此時可以執行特權指令;當cpu處於使用者態時,說明此時正在執行的是應用程式,此時只能執行非特權指令。在cpu中有乙個暫存器叫做程式狀態暫存器(psw),該暫存器的01狀態來表示此時處於核心態還是使用者態。

下面我們來講解一下,使用者態與核心態之間是如何相互進行變化的。

核心態-->使用者態:需要執行一條特權指令(指令內容是修改psw暫存器狀態),此時核心態轉變為使用者態,cpu主動讓出使用權。

使用者態-->核心態:由「中斷」引發,當cpu檢測到中斷時,作業系統會強制將cpu變為核心態奪回cpu使用權,再執行與中斷有關的一系列操作。

下面我們用乙個小栗子來解釋一下這個過程:

① 剛開機時,cpu 為「核心態」,作業系統核心程式先上cpu執行

② 開機完成後,使用者可以啟動某個應用程式

③ 作業系統核心程式在合適的時候主動讓出cpu,讓該應用程式上cpu執行

④ 應用程式執行在「使用者態

⑤ 此時,一位黑客在應用程式中植入了一條特權指令,企圖破壞系統…

⑥ cpu發現接下來要執行的這條指令是特權指令,但是自己又處於「使用者態」

⑦ 這個非法事件會引發乙個中斷訊號

⑧ 「中斷」使作業系統再次奪回cpu的控制權

⑨ 作業系統會對引發中斷的事件進行處理,處理完了再把cpu使用權交給別的應用程式

當我們剛開始使用作業系統的時候,會發現一些程式並不是必需的(記事本等),這些程式稱為作業系統的非核心功能,下圖是將作業系統進行了更進一步的劃分。

有人將核心劃分為大核心以及微核心,這兩種劃分在不同的時期各有優勢。下面用企業來模擬一下作業系統:

核心就是企業的管理層,負責一些重要的工作。只有管理層(核心程式)才能執行特權指令,普通員工(應用程式)只能執行非特權指

令。使用者態、核心態之間的切換相當於普通員工和管理層之間的工作交接。

大核心:企業初創時體量不大,管理層的人會負責大部分的事情。優點是效率高;缺點是組織結構混亂,難以維護。

微核心:隨著企業體量越來越大,管理層只負責最核心的一些工作。優點是組織結構清晰,方便維護;缺點是效率低。

需要注意的是:

特權指令只能在核心態下執行; 核心程式只能在核心態下執行。

作業系統執行機制

cpu 運算器,控制器,暫存器,快取記憶體 兩類暫存器 控制和狀態暫存器 重要 程式暫存器pc 記錄將要取出指令的位址 指令暫存器ir 記錄最近取出的指令 程式狀態字psw 記錄處理器的執行狀態 需求保護 併發,共享 兩種cpu狀態 核心態 執行作業系統程式 使用者態 執行使用者程式 特權指令 只能...

作業系統執行機制

cpu上會執行兩種程式 作業系統核心程式和應用程式 開機的時候跑的是作業系統核心程式,適當的時候,作業系統會讓出cpu使用權。cpu的狀態有兩種 核心態和使用者態,管態和目態。psw 程式狀態暫存器 0表示核心態,1表示使用者態。核心態 使用者態 執行一條特權指令,修改psw為1,意味著作業系統主動...

1 作業系統的執行機制

程式 作用可否使用特權指令1 cpu的執行狀態2 核心程式 管理使用者程式 可以使用 核心態 管態 核心態 使用者程式 被核心程式管理 不可以使用 使用者態 目態 怎樣定義原語 哪些操作可以被定義為原語 常見的操作 程序管理 第二章內容 程序管理 程序排程和分配 建立與撤銷程序 儲存器管理 第三章內...