爆肝上傳!清華大佬終于把困擾我大學四年的【計算機操作系統(tǒng)】講的如此通俗易懂

(二)中斷和異常處理和系統(tǒng)調(diào)用
1.中斷處理
方便管理中斷,計算機內(nèi)部會存儲一個中斷向量表,表內(nèi)每種中斷和異常有對應的編號和地址。
那么當在實際操作中,效率更高。
對于硬件而言,外設(shè)以及CPU能夠識別中斷編號,也能夠向操作系統(tǒng)發(fā)送編號。
對于軟件而言(即操作系統(tǒng)),需要做到:
- 保存當前處理狀態(tài)(保存中斷前的地址)
- 中斷服務(wù)程序處理
- 清楚中斷標記(一件事有始有終)
- 恢復之前保存的處理狀態(tài)(和1中的對應)
2.異常處理
操作系統(tǒng)需要:
- 保存現(xiàn)場(同樣是寄存器內(nèi)容和值)
- 異常處理
殺死產(chǎn)生了異常的程序
重新執(zhí)行異常指令
- 恢復現(xiàn)場
3.系統(tǒng)調(diào)用
以C語言為例,當執(zhí)行輸出printf的代碼時,程序只需要發(fā)出請求,其余的屏幕顯示和一些調(diào)用情況都由操作系統(tǒng)完成。
完成操作之后,操作系統(tǒng)將執(zhí)行結(jié)果正確或者錯誤的信息反饋給程序/程序員。
可見,操作系統(tǒng)其實相當于程序員或者計算機使用者的一個助手,或者小管家,它管理硬件設(shè)備并整合資源,調(diào)度工作,計算機使用者對于硬件設(shè)備不再需要過多的了解,只需發(fā)出請求即可。這方面其實也大大促進了計算機的普及。
程序訪問主要是通過高層次的API接口而不是直接進行系統(tǒng)調(diào)用。
i) Win32 API用于Windows
ii) POSIX API用于POSIX-based systems(包括UNIX,LINUX,Mac OS X的所有版本)
iii) java API 用于JAVA虛擬機(JVM)
- 具體的工作流程
?
10. 2.2 操作系統(tǒng)的終端、異常、... P10 - 11:27
?標簽: