特權指令:不允許用戶程序使用(隻允許操作系統使用)如 IO 指令、中斷指令
非特權指令:普通的運算指令
兩種程序内核程序:系統的管理者,可執行一切指令、運行在核心态
應用程序:普通用戶程序隻能執行非特權指令,運行在用戶态
處理機狀态用戶态(目态): CPU 隻能執行非特權指令
核心态(又稱管态、内核态):可以執行所有指令
用戶态到核心态:通過中斷(是硬件完成的)
核心态到用戶态:特權指令 psw 的标志位,0用戶态,1核心态
原語處在操作系統的最底層,是最接近硬件的部分
這些程序的運行具有原子性,其操作隻能一氣呵成(即原語程序不可被切割)
這些程序的運行時間都較短,而且調用頻繁
中斷和異常1.内中斷(異常,信号來自内部):
2.外中斷(中斷,信号來自外部):
系統給程序員(應用程序)提供的唯一接口,可獲得 OS 的服務,在用戶态發生,核心态處理
體系結構大内核、微内核
信号量信号量機制是一種有效實現進程同步和互斥的工具
信号量的物理意義
(1)信号量的值
(2)信号量初值為非負的整數變量,代表資源數
(3)信号量值可變,但僅能由 P 、 V 操作來改變
P / V 操作原語1. P 操作原語 P ( S )
(1) P 操作一次, S 值減1,即 S = S -1(消耗一個資源)(請求分配一資源)
(2)如果 S >=0,則該進程繼續執行;如果 S <0表示無資源,則該進程的狀态置為阻塞态,把相應的 PCB 連入該信号量隊列的末尾,并放棄處理機,進行等待(直至另一個進程執行 V ( S )操作
2. V 操作原語(等待) V ( S )
(1) V 操作一次, S 值加1,即 S = S 1(釋放一單位量資源)
(2)如果 S >0,表示有資源,則該進程繼續執行;如果 S <=0,則釋放信号量隊列上的第一個 PCB 所對應的進程(阻塞态改為就緒态),執行 V 操作的進程繼續執行
補充
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!