1. 程式人生 > 其它 >作業系統基本概念:系統核心、中斷、管態(又稱系統態或核心態)、目態(又稱使用者態)、原語

作業系統基本概念:系統核心、中斷、管態(又稱系統態或核心態)、目態(又稱使用者態)、原語

1.系統核心

1.系統核心:作業系統(OS)是硬體之上的第一層軟體,多采用層次結構,可分為多個層次。

而核心顧名思義,是作業系統的核心部分,是加到硬體上的第一層軟體。核心可以通過執行各種原語操作實現管理和控制功能,同時核心也是程序賴以活動的基礎。

核心作為作業系統的一部分會被頻繁的呼叫,所以會常駐在記憶體中。通常會將一些與硬體緊密相關的模組(如中斷處理程式),各種常用裝置的驅動程式,以及執行頻率較高的模組(時鐘管理、程序排程)都安排在核心,以便提高作業系統的的執行效率。除此以外,一般還會對核心加以特殊的保護。

進入核心的唯一入口是中斷。

核心的執行特點:(1)由中斷驅動:中斷——核心——退出。(2)連續執行(3)核心執行過程是在中斷遮蔽狀態下(4)核心使用特權指令

核心的功能:
1.支撐功能:中斷處理,時鐘管理,原語操作
2.資源管理功能:程序管理,儲存器管理,裝置管理

2.中斷

早期計算機各個程式只能序列執行、系統資源利用低。為了提高了系統資源的利用率,人們引入了併發執行機制。 而中斷就是併發執行的重要前提條件,可以將機器從使用者態轉換到核心態。

在程序執行過程中,如果時間片用完或者需要等待某個事件發生,即時模組就會發出一箇中斷訊號,CPU接收後就會切換到核心態,將CPU的許可權交給作業系統,由作業系統進行後續的排程。
在上述過程中我們可以看到:(1)中斷後,CPU進入核心態(2)進入核心態後,作業系統會進行進一步的排程防止資源浪費
從而我們可以看到中斷的實質:中斷會發出一種訊號,其意味著程序遇到了問題或者時間片用完,需要作業系統介入。

<\font>

3.管態與目態

區分核心態和使用者態兩種操作方式的目的是為了保護作業系統程式 通常CPU執行兩種不同性質的程式:一種是作業系統核心程式;另一種是使用者自程式設計序或系統 外層的應用程式。對作業系統而言,這兩種程式的作用不同,前者是後者的管理者,因此“管理 程式”要執行一些特權指令,而“被管理程式”出於安全考慮不能執行這些指令。所謂特權指令, 是指計算機中不允許使用者直接使用的指令,如I/O指令、 置中斷指令,存取用於記憶體保護的寄存 器、送程式狀態字到程式狀態字暫存器等指令。

通常CPU執行兩種不同性質的程式:一種是作業系統核心程式;另一種是使用者自程式設計序或系統外層的應用程式。對作業系統而言,這兩種程式的作用不同,前者是後者的管理者,因此“管理程式”要執行一些特權指令(不允許使用者直接使用的指令,如I/O指令、置中斷指令等),而“被管理程式”出於安全考慮不能執行這些指令。所以我們將機器分為兩種狀態,通過狀態的切換來保護作業系統程式。

管態(核心態、系統態):在此狀態下,CPU可以執行指令系統的全集,是一種具有較高特權的執行狀態,可以訪問所有暫存器和儲存區。另外OS核心通常是執行在系統態的,程序控制是由OS核心實現。
目態(使用者態):在此狀態下,CPU只能執行非特權指令。可訪問指定的暫存器和儲存區,只具有較低的特權。一般的使用者程式在此狀態下執行。

4.原語

原語:原語是由若干機器指令構成的,是系統狀態下執行的某些具有特定功能的程式段(軟指令)。 比如在掛起程序時會使用掛起原語,相應的還有解掛(啟用)原語。

原語的特點:具有不可分割性,即是它的執行必須是連續的,一旦開始就不能間斷,直至完成。
這種操作形式也被稱為原子操作(一個操作中的動作要麼全做,要麼全不做)。