之前學(xué)操作系統(tǒng)對這個流程一直不是很清楚介蛉,看面經(jīng)有的問的涉及到了這個地方在這里總結(jié)一下潜腻。
首先我們要搞清楚中斷涉及的對象胰柑,中斷是由硬件和軟件共同完成的遂铡。硬件負責發(fā)現(xiàn)中斷和相關(guān)保存現(xiàn)場的工作肮疗,軟件則是具體的處理。
在介紹中斷的流程前我們首先要介紹幾個概念扒接。
(1) PC 和 PSW寄存器伪货。PC (Program Counter) 存儲的是下一個要被訪問的內(nèi)存的地址。PSW寄存器存儲的內(nèi)容反映了CPU運算的狀態(tài)特征并且存放某些控制標志钾怔。檢測是否有中斷和用戶態(tài)與內(nèi)核態(tài)就要靠他碱呼。
(2) 中斷向量表
存儲著不同的中斷碼和對應(yīng)的中斷處理程序地址。
(3) 中斷發(fā)生的時機
中斷發(fā)生的時機
下面來說一下中斷處理的整個流程宗侦。
1. 由硬件發(fā)現(xiàn)存在中斷
2. 硬件保存關(guān)鍵信息巍举,包括PC和PSW
3. 查中斷向量表,找對應(yīng)的中斷處理程序凝垛。
4. 轉(zhuǎn)中斷處理程序懊悯。
5. 退出中斷恢復(fù)現(xiàn)場。