1.3.1 處理器運行模式
計算機系統中,通常CPU執行兩種不同性質的程序:一種是操作系統內核程序;另一種是用戶自編程序(即系統外層的應用程序,或簡稱“應用程序”)。對操作系統而言,這兩種程序的 作用不同,前者是后者的管理者,因此“管理程序”(即內核程序)要執行一些特權指令,而“被管理程序”(即用戶自編程序)出于安全考慮不能執行這些指令。
1)特權指令,是指不允許用戶直接使用的指令,如I/O指令、置中斷指令,存取用于內存保護的寄存器、送程序狀態字到程序狀態字寄存器等的指令。
2)非特權指令,是指允許用戶直接使用的指令,它不能直接訪問系統中的軟硬件資源,僅 限于訪問用戶的地址空間,這也是為了防止用戶程序對系統造成破壞。
在具體實現上,將CPU的運行模式劃分為用戶態(目態)和核心態(又稱管態、內核態)。 可以理解為CPU內部有一個小開關,當小開關為0時,CPU處于核心態,此時CPU可以執行特權指令,切換到用戶態的指令也是特權指令。當小開關為1時,CPU處于用戶態,此時CPU只能執行非特權指令。用戶自編程序運行在用戶態,操作系統內核程序運行在核心態。
1. 時鐘管理
在計算機的各種部件中,時鐘是最關鍵的設備。時鐘的第一功能是計時,操作系統需要通過時鐘管理,向用戶提供標準的系統時間。另外,通過時鐘中斷的管理,可以實現進程的切換。例如,在分時操作系統中采用時間片輪轉調度,在實時系統中按截止時間控制運行,在批處理系統中通過時鐘管理來衡量一個作業的運行程度等。因此,系統管理的方方面面無不依賴于時鐘。
2. 中斷機制
引入中斷技術的初衷是提高多道程序運行環境中CPU的利用率,而且主要是針對外部設備 的。后來逐步得到發展,形成了多種類型,成為操作系統各項操作的基礎。例如,鍵盤或鼠標信息的輸入、進程的管理和調度、系統功能的調用、設備驅動、文件訪問等,無不依賴于中斷機制??梢哉f,現代操作系統是靠中斷驅動的軟件。
中斷機制中,只有一小部分功能屬于內核,它們負責保護和恢復中斷現場的信息,轉移控制 權到相關的處理程序。這樣可以減少中斷的處理時間,提高系統的并行處理能力。
3. 原語
按層次結構設計的操作系統,底層必然是一些可被調用的公用小程序,它們各自完成一個規定的操作。它們的特點如下:
1) 處于操作系統的最低層,是最接近硬件的部分。
2) 這些程序的運行具有原子性,其操作只能一氣呵成(出于系統安全性和便于管理考慮)。
3) 這些程序的運行時間都較短,而且調用頻繁。
通常把具有這些特點的程序稱為原語(Atomic Operation)o定義原語的直接方法是關閉中斷, 讓其所有動作不可分割地完成后再打開中斷。系統中的設備驅動、CPU切換、進程通信等功能中的部分操作都可定義為原語,使它們成為內核的組成部分。
4. 系統控制的數據結構及處理
系統中用來登記狀態信息的數據結構很多,如作業控制塊、進程控制塊(PCB)、設備控制塊、各類鏈表、消息隊列、緩沖區、空閑區登記表、內存分配表等。為了實現有效的管理,系統需要一些基本的操作,常見的操作有以下3種:
1) 進程管理。進程狀態管理、進程調度和分派、創建與撤銷進程控制塊等。
2) 存儲器管理。存儲器的空間分配和回收、內存信息保護程序、代碼對換程序等。
3) 設備管理。緩沖區管理、設備分配和回收等。
從上述內容可以了解,核心態指令實際上包括系統調用類指令和一些針對時鐘、中斷和原語 的操作指令。

1.3.2 中斷和異常的概念
在操作系統中引入核心態和用戶態這兩種工作狀態后,就需要考慮這兩種狀態之間如何切 換。操作系統內核工作在核心態,而用戶程序工作在用戶態。系統不允許用戶程序實現核心態的功能,而它們又必須使用這些功能。因此,需要在核心態建立一些“門”,以便實現從用戶態進 入核心態。在實際操作系統中,CPU運行上層程序時唯一能進入這些“門”的途徑就是通過中斷或異常。發生中斷或異常時,運行用戶態的CPU會立即進入核心態,這是通過硬件實現的(例如, 用一個特殊寄存器的一位來表示CPU所處的工作狀態,0表示核心態,1表示用戶態。若要進入 核心態,則只需將該位置0即可)。中斷是操作系統中非常重要的一個概念,對一個運行在計算 機上的實用操作系統而言,缺少了中斷機制,將是不可想象的。原因是,操作系統的發展過程大體上就是一個想方設法不斷提高資源利用率的過程,而提高資源利用率就需要在程序并未使用某種資源時,把它對那種資源的占有權釋放,而這一行為就需要通過中斷實現。
1. 中斷和異常的定義
中斷(Interruption)也稱外中斷,是指來自CPU執行指令外部的事件,通常用于信息輸入/ 輸出,如設備發出的I/O結束中斷,表示設備輸入/輸出處理已經完成。時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啟動定時運行的任務等。
異常(Exception)也稱內中斷,是指來自CPU執行指令內部的事件,如程序的非法操作碼、地址越界、運算溢出、虛存系統的缺頁及專門的陷入指令等引起的事件。異常不能被屏蔽,一旦岀現,就應立即處理。
2. 中斷和異常的分類
外中斷可分為可屏蔽中斷和不可屏蔽中斷可屏蔽終止外部中斷(硬件)
(Abort)硬件中斷
可屏蔽中斷INTR
不可屏蔽中斷NMI
中斷是指通過INTR線發出的中斷請求,通過改變屏蔽中斷和外中斷的聯系與區別可以實現多重中斷,從而使得中斷處理更加靈活。不可
屏蔽中斷是指通過NMI線發出的中斷請求,通常是緊急的硬件故障,如電源掉電等。此外,異常也是不能被屏蔽的。
異??煞譃楣收?、自陷和終止。故障(Fault)通常是由指令執行引起的異常,如非法操作碼、 缺頁故障、除數為0、運算溢出等。自陷(Trap)是一種事先安排的“異?!笔录糜谠谟脩? 態下調用操作系統內核程序,如條件陷阱指令。終止(Abort)是指出現了使得CPU無法繼續執 行的硬件故障,如控制器岀錯、存儲器校驗錯等。故障異常和自陷異常屬于軟件中斷(程序性異常),終止異常和外部中斷屬于硬件中斷。
3. 中斷和異常的處理過程
中斷和異常處理過程的大致描述如下:當CPU在執行用戶程序的第i條指令時檢測到一個異常事件,或在執行第z?條指令后發現一個中斷請求信號,則CPU打斷當前的用戶程序,然后轉到 相應的中斷或異常處理程序去執行。若中斷或異常處理程序能夠解決相應的問題,則在中斷或異
?、俳ㄗh結合《計算機組成原理考研復習指導》一書中的第5章和第7章學習。
常處理程序的最后,CPU通過執行中斷或異常返回指令,回到被打斷的用戶程序的第Z?條指令或 第Z+1條指令繼續執行;若中斷或異常處理程序發現是不可恢復的致命錯誤,則終止用戶程序。 通常情況下,對中斷和異常的具體處理過程由操作系統(和驅動程序)完成。
1.3.3 系統調用
所謂系統調用,是指用戶在程序中調用操作系統所提供的一些子功能,系統調用可視為特殊的公共子程序。系統中的各種共享資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源 有關的操作(如存儲分配、進行I/O傳輸及管理文件等),都必須通過系統調用方式向操作系統提 出服務請求,并由操作系統代為完成。通常,一個操作系統提供的系統調用命令有幾十條乃至上 百條之多。這些系統調用按功能大致可分為如下幾類。
? 設備管理。完成設備的請求或釋放,以及設備啟動等功能。
? 文件管理。完成文件的讀、寫、創建及刪除等功能。
?進程控制。完成進程的創建、撤銷、阻塞及喚醒等功能。
? 進程通信。完成進程之間的消息傳遞或信號傳遞等功能。
? 內存管理。完成內存的分配、回收以及獲取作業占用內存區大小及始址等功能。
顯然,系統調用相關功能涉及系統資源管理、進程管理之類的操作,對整個系統的影響非常大,因此必定需要使用某些特權指令才能完成,所以系統調用的處理需要由操作系統內核程序負責完成,要運行在核心態。用戶程序可以執行陷入指令(又稱訪管指令或trap指令)來發起系統 調用,請求操作系統提供服務。可以這么理解,用戶程序執行“陷入指令”,相當于把CPU的使 用權主動交給操作系統內核程序(CPU狀態會從用戶態進入核心態),之后操作系統內核程序再 對系統調用請求做出相應處理。處理完成后,操作系統內核程序又會把CPU的使用權還給用戶程 序(即CPU狀態會從核心態回到用戶態)。這么設計的目的是:用戶程序不能直接執行對系統影 響非常大的操作,必須通過系統調用的方式請求操作系統代為執行,以便保證系統的穩定性和安全性,防止用戶程序隨意更改或訪問重要的系統資源,影響其他進程的運行。
這樣,操作系統的運行環境就可以理解為:用戶通過操作系統運行上層程序(如系統提供的命令解釋程序或用戶自編程序),而這個上層程序的運行依賴于操作系統的底層管理程序提供服 務支持,當需要管理程序服務時,系統則通過硬件中斷機制進入核心態,運行管理程序;也可能是程序運行出現異常情況,被動地需要管理程序的服務,這時就通過異常處理來進入核心態。管理程序運行結束時,用戶程序需要繼續運行,此時通過相應的保存的程序現場退岀中斷處理程序或異常處理程序,返回斷點處繼續執行 .
系統調用執行過程
在操作系統這一層面上,我們關心的是系統核心態和用戶態的軟件實現與切換,對于硬件層面的具體理解,可以結合“計算機組成原理”課程中有關中斷的內容進行學習。
下面列舉一些由用戶態轉向核心態的例子:
1) 用戶程序要求操作系統的服務,即系統調用。
2) 發生一次中斷。
3) 用戶程序中產生了一個錯誤狀態。
4) 用戶程序中企圖執行一條特權指令。
5) 從核心態轉向用戶態由一條指令實現,這條指令也是特權命令,一般是中斷返回指令。
注意:由用戶態進入核心態,不僅狀態需要切換,而且所用的堆棧也可能需要由用戶堆棧切 換為系統堆棧,但這個系統堆棧也是屬于該進程的。
若程序的運行由用戶態轉到核心態,則會用到訪管指令,訪管指令是在用戶態使用的,所以 它不可能是特權指令。
聲明:
(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。
(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,我們會及時進行處理解決。
相關推薦
2023年4月浙江自考中國文化概論復習筆記:中國傳統的藝術審美
12-102023年4月浙江自考俄羅斯小說文體論復習資料七
11-26自考輔導資料:2019年10月《美學》知識點-美育的內涵
09-20自考輔導資料:2019年10月《美學》知識點-審美經驗理論的歷史回顧
09-182023年4月浙江自考《管理系統中計算機應用》串講資料四
03-14自考輔導資料:2019年10月《中國現代文學史》-30年代文學小說創作
09-24自考輔導資料:2019年10月《美學》知識點-審美發生的特殊標志
09-162023年4月浙江自考中國文化概論復習筆記:語言文字及其文化特征
12-102022年浙江自考心理實驗設計串講資料第三章
10-202023年4月浙江自考學前教育史復習筆記:抗日戰爭和解放戰爭時期
12-06