異常分類:
中斷:是異步發生的,來自處理外部的I/O設備信號的結果。
陷阱(陷入內核):實現系統調用,在用戶程序和內核之間提供一個像函數調用同樣的接口。
故障:可以被故障處理程序修正的錯誤。
終止:一般是由一些硬件引發的不可恢復的致命錯誤。異步
邏輯控制流(logical control flow )就是一個進程在邏輯上的執行過程,由於CPU並非一直只在執行某個單獨進程的指令,可是從某個單獨的進程的角度來看,這個進程就像是(只是像而已,因此叫邏輯上)獨佔着CPU同樣。函數
處理器提供一種機制,使進程可能在用戶模式或內核模式下運行。在內核模式下,進程擁有更高的權限,好比能執行更多的指令、發起一次I/O操做等等。一個進程最初都是用戶進程,只有經過異常才能到內核模式。在私有地址空間中,有一部分專門爲內核模式分配的空間,包括代碼、數據、堆和棧。接口
信號處理原則
當有多個信號到達時,遵循如下原則:
(1)待處理信號被阻塞:程序正在處理handler函數時,若是又捕獲到了一個SIGINT信號,這時候並不會中止handler函數的處理,而是將這個SIGINT信號放到帶處理程序的位置(阻塞),直到handler函數執行完畢返回之後才接受這個待處理信號;
(2)待處理信號不會排隊等待:若是正在處理handler函數,接受到了2個信號,這時候先到的那個信號會變成待處理信號被阻塞,最後的那個信號直接被丟棄;
(3)系統調用能夠被中斷:諸如read、wait函數,會阻塞進程一段時間,當處理程序捕獲到一個信號時,被中斷的系統調用在處理程序返回的時候就不會再執行了。進程