本章的重要性在于你將開始學(xué)習(xí)應(yīng)用是如何與操作系統(tǒng)交互的厂财。從異常開始狐史,異常位于操作系統(tǒng)和硬件交界的部分痒给。繼續(xù)討論系統(tǒng)調(diào)用,它們是為應(yīng)用程序提供到操作系統(tǒng)的統(tǒng)一入口點(diǎn)的異常骏全。然后提升抽象的層次苍柏,描述進(jìn)程和信號,最后討論非本地跳轉(zhuǎn)姜贡。
異常:異常是異呈杂酰控制流的一種形式,一部分硬件,一部分操作系統(tǒng)熄捍。表現(xiàn)形式為控制流中的突變烛恤,用來響應(yīng)處理器狀態(tài)中的某些變化。當(dāng)處理器發(fā)生一個重要變化時余耽,狀態(tài)碼會被編碼為不同的位和信號缚柏。狀態(tài)變化為事件,任何情況下碟贾,當(dāng)檢測器檢測到事件發(fā)生時币喧,會通過一張異常表進(jìn)行一個間接過程調(diào)用,通過專門的異常處理程序進(jìn)行處理袱耽。
進(jìn)程:現(xiàn)代系統(tǒng)運(yùn)行的假象杀餐,就好像我們程序是系統(tǒng)當(dāng)前運(yùn)行的唯一程序一樣,獨(dú)占內(nèi)存和處理器扛邑。這種假象是通過進(jìn)程概念提供給我們的怜浅。
進(jìn)程的經(jīng)典定義一個執(zhí)行中程序的實(shí)例。系統(tǒng)中的每個程序都運(yùn)行在某個進(jìn)程的上下文中蔬崩。上下文由程序正確運(yùn)行所需的狀態(tài)組成恶座。
進(jìn)程給程序提供的關(guān)鍵抽象:一個獨(dú)立的邏輯控制流,它提供一個假象沥阳,好像是我們的程序獨(dú)占使用處理器跨琳。一個私有的地址空間,它提供一個假象桐罕,好像我們的程序獨(dú)占使用內(nèi)存脉让。
異常也是代碼中重要的一環(huán),也屬于代碼功炮,自然也有屬于異常的控制方式溅潜。程序中良好的異常編碼能提供足夠的信息幫助程序員定位錯誤。