(14)信號
所謂信號,是系統(tǒng)給任務的一個指示,表明某個異步事件已經(jīng)發(fā)生了。
該事件可能來自外部,也可能來自內(nèi)部。
信號機制也可以稱為軟中斷機制。
信號機制與中斷處理機制非常相似,相同點:
A、都具有中斷性。
B、都有相應的服務程序。
C、都可以屏蔽響應。
不同點:
A、中斷由硬件或特定指令產(chǎn)生,而信號由系統(tǒng)調(diào)用產(chǎn)生。
B、中斷觸發(fā)后,硬件會根據(jù)中斷向量找到相應的處理程序執(zhí)行;而信號則通過發(fā)送
信號的系統(tǒng)調(diào)用來觸發(fā),系統(tǒng)不一定馬上對它進行處理。
C、中斷處理程序在系統(tǒng)內(nèi)核的上下文中運行,是全局的;而信號處理程序在相關任
務的上下文中運行,是任務的一個組成部分。
(15)任務間通信
任務之間的通信可以分為兩種類型:
A、低級通信:只能傳遞狀態(tài)和整數(shù)值等控制信息,例如信號量機制。
B、高級通信:能夠傳輸任意數(shù)量的數(shù)據(jù),只要有三類:共享內(nèi)存、消息傳遞和管道。
任務之間的通信方式有兩種:
A、直接通信:通信雙方必須明確知道與之通信的對象。例如PV 原語。
B、間接通信:通信雙方不需指出消息的來源和去向,通過共享郵箱發(fā)送和接收消息。
郵箱只能存放單條消息,它提供一種低開銷的消息傳遞機制,只有空和滿兩種狀態(tài)。消
息隊列與郵箱類似,但是可以同時存放若干條消息,提供了一種任務間緩沖通信的方法。
管道由UNIX 首創(chuàng),以文件系統(tǒng)為基礎,連接兩個任務之間的一個打開的共享文件,專
用于任務直接的數(shù)據(jù)通信。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |