操作系统(四)操作系统的运行机制
1.4 操作系統(tǒng)的運行機制
目錄
1.4 操作系統(tǒng)的運行機制
1.4.1 內(nèi)核程序&應用程序
1.4.2 特權指令&非特權指令
1.4.3 內(nèi)核態(tài)&用戶態(tài)
1.4.4 操作系統(tǒng)的內(nèi)核
1.4.5 小結
? 操作系統(tǒng)其實也是一種程序,程序的執(zhí)行過程也就是CPU執(zhí)行一行行機器指令的過程。區(qū)別于一般程序員開發(fā)的應用程序,實現(xiàn)操作系統(tǒng)的程序就是內(nèi)核程序。
1.4.1 內(nèi)核程序&應用程序
? 內(nèi)核程序:實現(xiàn)操作系統(tǒng)的程序稱為內(nèi)核程序,許多內(nèi)核程序結合在一起便組成了操作系統(tǒng)內(nèi)核。
? 應用程序:普通程序員借助編程工具以及高級語言所完成的程序叫做應用程序。
1.4.2 特權指令&非特權指令
? 特權指令:作為系統(tǒng)資源的管理者,操作系統(tǒng)可以使用一些直接關系重大的指令(內(nèi)存清零等),這些指令被稱為特權指令,而且應用程序沒有辦法直接使用特權指令,這保證了操作系統(tǒng)的安全。
? 非特權指令:應用程序可以使用的指令,如加減乘除指令等。
? CPU在設計的時候便已經(jīng)劃分出了特權指令以及非特權指令,因此在執(zhí)行這條命令前CPU就可以先判斷指令的內(nèi)容。
1.4.3 內(nèi)核態(tài)&用戶態(tài)
? CPU有兩種狀態(tài):內(nèi)核態(tài)(或稱核心態(tài),管態(tài))以及用戶態(tài)(目態(tài))。當CPU處于內(nèi)核態(tài)時,說明此時正在運行的是內(nèi)核程序,此時可以執(zhí)行特權指令;當CPU處于用戶態(tài)時,說明此時正在運行的是應用程序,此時只能執(zhí)行非特權指令。在CPU中有一個寄存器叫做程序狀態(tài)寄存器(PSW),該寄存器的01狀態(tài)來表示此時處于內(nèi)核態(tài)還是用戶態(tài)。
? 下面我們來講解一下,用戶態(tài)與內(nèi)核態(tài)之間是如何相互進行變化的。
? 內(nèi)核態(tài)-->用戶態(tài):需要執(zhí)行一條特權指令(指令內(nèi)容是修改PSW寄存器狀態(tài)),此時內(nèi)核態(tài)轉變?yōu)橛脩魬B(tài),CPU主動讓出使用權。
? 用戶態(tài)-->內(nèi)核態(tài):由“中斷”引發(fā),當CPU檢測到中斷時,操作系統(tǒng)會強制將CPU變?yōu)閮?nèi)核態(tài)奪回CPU使用權,再執(zhí)行與中斷有關的一系列操作。
? 下面我們用一個小栗子來解釋一下這個過程:
① 剛開機時,CPU 為“內(nèi)核態(tài)”,操作系統(tǒng)內(nèi)核程序先上CPU運行 ② 開機完成后,用戶可以啟動某個應用程序 ③ 操作系統(tǒng)內(nèi)核程序在合適的時候主動讓出 CPU,讓該應用程序上CPU運行 ④ 應用程序運行在“用戶態(tài)” ⑤ 此時,一位黑客在應用程序中植入了一條特權指令,企圖破壞系統(tǒng)… ⑥ CPU發(fā)現(xiàn)接下來要執(zhí)行的這條指令是特權指令,但是自己又處于“用戶態(tài)” ⑦ 這個非法事件會引發(fā)一個中斷信號 ⑧ “中斷”使操作系統(tǒng)再次奪回CPU的控制權 ⑨ 操作系統(tǒng)會對引發(fā)中斷的事件進行處理,處理完了再把CPU使用權交給別的應用程序1.4.4 操作系統(tǒng)的內(nèi)核
? 當我們剛開始使用操作系統(tǒng)的時候,會發(fā)現(xiàn)一些程序并不是必需的(記事本等),這些程序稱為操作系統(tǒng)的非內(nèi)核功能,下圖是將操作系統(tǒng)進行了更進一步的劃分。
? 有人將內(nèi)核劃分為大內(nèi)核以及微內(nèi)核,這兩種劃分在不同的時期各有優(yōu)勢。下面用企業(yè)來類比一下操作系統(tǒng):
內(nèi)核就是企業(yè)的管理層,負責一些重要的工作。只有管理層(內(nèi)核程序)才能執(zhí)行特權指令,普通員工(應用程序)只能執(zhí)行非特權指 令。用戶態(tài)、核心態(tài)之間的切換相當于普通員工和管理層之間的工作交接。 大內(nèi)核:企業(yè)初創(chuàng)時體量不大,管理層的人會負責大部分的事情。優(yōu)點是效率高;缺點是組織結構混亂,難以維護。 微內(nèi)核:隨著企業(yè)體量越來越大,管理層只負責最核心的一些工作。優(yōu)點是組織結構清晰,方便維護;缺點是效率低。1.4.5 小結
需要注意的是:
? 特權指令只能在核心態(tài)下執(zhí)行; 內(nèi)核程序只能在核心態(tài)下執(zhí)行。總結
以上是生活随笔為你收集整理的操作系统(四)操作系统的运行机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网晚报 | 2月11日 星期五 |
- 下一篇: 字节跳动想取消大下周,遭到部分员工激烈反