操作系統(tǒng)概論(2)

控制和狀態(tài)寄存器:

PC(程序計(jì)數(shù)器),IR(指令寄存器),PSW(程序狀態(tài)字寄存器)

操作系統(tǒng)需要兩種CPU狀態(tài):

Kernel Mode, User Mode

CPU狀態(tài)之間的轉(zhuǎn)換:

1.用戶態(tài) -> 內(nèi)核態(tài):唯一途徑:中斷/異常/陷入機(jī)制

2.內(nèi)核態(tài) -> 用戶態(tài):設(shè)置程序狀態(tài)字

中斷/異常機(jī)制

操作系統(tǒng)由“中斷驅(qū)動(dòng)”或者“事件驅(qū)動(dòng)”

中斷/異常的概念

CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)

(事件的發(fā)生改變了處理器的控制流)

特點(diǎn):隨機(jī)發(fā)生,自動(dòng)處理,可恢復(fù)

中斷的引入:為了支持CPU和設(shè)備之間的并行操作

異常的引入:表示CPU執(zhí)行指令時(shí)本身出現(xiàn)的問題(算術(shù)溢出、除零、地址越界、“陷入”指令,etc.)

中斷和異常,統(tǒng)稱事件

中斷:外部事件,正在運(yùn)行的程序所不期望的

Interrupt:來(lái)自I/O或其他硬件,異步,處理完返回到下一條指令

異常:由正在執(zhí)行的指令引發(fā)

Trap陷入:有意識(shí)安排的,同步,處理完返回到下一條指令

Fault故障:可恢復(fù)的錯(cuò)誤,同步,返回到當(dāng)前指令

Abort終止:不可恢復(fù)的錯(cuò)誤,同步,不返回

中斷/異常機(jī)制的工作原理

硬件:中斷/異常響應(yīng)(發(fā)現(xiàn)中斷,接受中斷)

軟件:中斷/異常處理

開始->取下一條指令->執(zhí)行指令->(允許中斷)->檢查指令處理中斷

在每條指令執(zhí)行周期的最后時(shí)刻掃描中斷寄存器,查看是否有中斷信號(hào)

若有中斷,PSW寫入中斷碼,通過(guò)查? 中斷向量表 引出中斷處理程序

若無(wú)中斷,繼續(xù)執(zhí)行下一條指令

中斷向量表

中斷向量:一個(gè)內(nèi)存單元,存放 中斷處理程序入口地址 和程序運(yùn)行時(shí)所需的 處理機(jī)狀態(tài)字

中斷響應(yīng):

1.設(shè)備發(fā)出中斷信號(hào)

2.硬件保存現(xiàn)場(chǎng)

3.根據(jù)中斷碼查表

4.把中斷處理程序入口地址等推送到相應(yīng)的寄存器

5.執(zhí)行中斷處理程序

系統(tǒng)調(diào)用機(jī)制的設(shè)計(jì)

中斷/異常機(jī)制:支持系統(tǒng)調(diào)用服務(wù)的實(shí)現(xiàn)

陷入指令(亦稱訪管指令):引發(fā)異常,完成用戶態(tài)到內(nèi)核態(tài)的切換

系統(tǒng)調(diào)用號(hào)和參數(shù):每個(gè)系統(tǒng)調(diào)用都事先給定一個(gè)編號(hào)(功能號(hào))

系統(tǒng)調(diào)用表:存放系統(tǒng)調(diào)用服務(wù)程序的入口地址

參數(shù)傳遞的3中實(shí)現(xiàn)方法:

由陷入指令自帶參數(shù)

通過(guò)通用寄存器傳遞參數(shù)(常用)

在內(nèi)存中開辟專用棧區(qū)來(lái)傳遞參數(shù)

系統(tǒng)條用的執(zhí)行過(guò)程

當(dāng)CPU執(zhí)行到陷入指令時(shí):

中斷/異常機(jī)制:硬件保護(hù)現(xiàn)場(chǎng);通過(guò)查中斷向量表把控制權(quán)轉(zhuǎn)給 系統(tǒng)調(diào)用總?cè)肟诔绦?/p>

系統(tǒng)調(diào)用總?cè)肟诔绦颍罕4娆F(xiàn)場(chǎng);將參數(shù)保存在內(nèi)存棧區(qū);通過(guò)查系統(tǒng)調(diào)用表把控制權(quán)轉(zhuǎn)給相應(yīng)的系統(tǒng)調(diào)用處理例程或內(nèi)核函數(shù)

執(zhí)行系統(tǒng)調(diào)用例程

恢復(fù)現(xiàn)場(chǎng),返回用戶程序

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容