作業系統day1 中斷

2021-10-03 02:41:01 字數 1756 閱讀 3775

pc:程式計數器,指向馬上要執行的那一條指令

中斷號:系統分配給每個中斷源的代號,以便識別和處理

斷點:檢測到中斷時,處理機剛執行完的那條指令位址

恢復點斷點的邏輯後續指令位址

現場資訊:中斷那一刻確保被中斷程式能繼續執行的有關資訊,如pc,通用暫存器,其他特殊暫存器等

ps:處理機狀態字,寄存處理機執行狀態的暫存器

核心態:允許特權指令執行的狀態,可訪問系統空間。核心程式在此態執行

使用者態:一般程式所執行的狀態,只可訪問使用者空間

1.中斷,異常(陷入)進入

1)硬體自動將當前pc,ps存入暫存暫存器.

2)中斷/異常發生,用中斷號/異常號作下標,查中斷向量表,從指定的中斷向量單元中取出新pc,ps內容裝入 pc,ps暫存器,從而轉到相應處理程式

3)將原pc,ps儲存到現場保護區棧

2.儲存現場,形成現場區棧幀

1)硬體將原ps,pc壓棧,且根據中斷類將中斷向量表中的新ps,pc值送ps,pc暫存器.

2)中斷入口指令將r0壓棧後將中斷處理程式位址存入r0,轉總控程式.

3)由總控程式將新的ps壓棧(因其中有陷入號資訊).

4)由總控將r1,r6壓棧(r6中為棧指標,此時是上一棧幀頂)由總控從新ps低五位擷取trap號進入棧.

5)總控按照r0轉相應中斷(或trap)處理程式時,將返回位址壓棧.

6)由各中斷(陷入)處理程式先將r5,r4,r3,r2壓棧,返回總控時恢復r2,r3,r4,r5.

3.轉相應中斷/異常(陷入)處理程式

總控程式直接根據r0中的位址(已存放好中斷程式的入口位址)轉向中斷(陷入)處理子程式。轉向子程式時,將返回位址壓棧**子指令自動壓棧)

中斷處理通常是向裝置控制器發下乙個i/o請求,就緒等該i/o結束的程序。
陷入處理即作業系統系統呼叫處理。

指令出錯時一般是做程序結束處理。

4.恢復現場

問題:中斷處理完成後,回到使用者態之前cpu要先去執行什麼程式?

中斷處理完成後,

回退到核心態時:

1)退棧

2)執行rtt指令,該指令自動將棧幀中儲存的原pc,ps值裝入pc,ps暫存器

回退到使用者態時:

1)程序排程

2)退棧

3)執行rtt指令.該指令自動將棧幀中的pc,ps值裝入pc,ps暫存器

作業系統day1

作業系統 抽象是管理複雜性的關鍵 資訊科技中,微電子是基礎,計算機和通訊設施是載體,而軟體是核心,是計算機的靈魂,而軟體中的作業系統就更是核心了,它為豐富的應用環境奠定了最堅實的基礎。第一次把微電子,通訊,軟體三個相近的專業領域的分工搞清楚誒,一直覺得這些專業都學差不太多的專業課,做差不提多的專案 ...

30天自製作業系統day1

一 先說說書中的軟體 cons 9x.bat檔案 和 cons nt.bat作用相同,只是用於windows95平台,所以相應的程式為command。run.bat檔案 內容是copy helloos.img z tools qemu fdimage0.bin 此句是將helloos.img複製為f...

《30天自製作業系統》day1

自製作業系統day1 途中遇到的問題 按書上說明做好第乙個helloos.img的時候作者提供的16位軟體不相容,想用vm裝,一上午死活裝不上去,甚至想強行把.img變成.iso,後來才知道img是軟盤映像,不能新增cd或者硬碟的驅動。解決之後成功hello world。dw 1 beginning...