進(jìn)程通信管理基本概念
- system V IPC中是限制在單機(jī)中的通信
- 套接字(socket)的進(jìn)程通信機(jī)制乐导,屬于網(wǎng)絡(luò)進(jìn)程通信技術(shù)
進(jìn)程通信的分類
- 控制信息的傳遞:用于控制信息的執(zhí)行速度和執(zhí)行方式已脓,通常只包含幾個字節(jié)的內(nèi)容共耍,屬于進(jìn)程間的低級通信睛竣。
- 大批量數(shù)據(jù)傳送:執(zhí)行程序中需要實現(xiàn)數(shù)據(jù)批量交換的一種手段玷氏,通常將進(jìn)程間的大批量數(shù)據(jù)傳遞稱為高級通信缭贡。
進(jìn)程間的通信
并發(fā)進(jìn)程間的數(shù)據(jù)和信息交換稱為進(jìn)程間通信(IPC),unix系統(tǒng)提供多種手段和技術(shù)進(jìn)行進(jìn)程間通信膘侮,例如基本通信,管道通信的榛,共享內(nèi)存通信琼了。TCP/IP通過網(wǎng)絡(luò)環(huán)境,基于套接字進(jìn)程通信夫晌。
進(jìn)程通信的實現(xiàn)方式
主從式通信
通過主進(jìn)程控制管理從進(jìn)程雕薪。例如終端控制進(jìn)程(主進(jìn)程)和終端進(jìn)程(從進(jìn)程)。
會話式通信
雙方采用請求和響應(yīng)請求的方式實現(xiàn)通信晓淀。分為使用者進(jìn)程和服務(wù)者進(jìn)程所袁。典型的例子是用戶進(jìn)程和磁盤管理進(jìn)程之間的通信過程。
消息傳遞式通信
采用消息或者郵箱的方式進(jìn)行進(jìn)程間的通信凶掰。無論接收是否準(zhǔn)備好燥爷,發(fā)送進(jìn)程都可以進(jìn)行消息發(fā)送,發(fā)送的信息是通過消息緩沖區(qū)或郵箱完成傳遞的懦窘。
信號通信方式
信號是操作系統(tǒng)中設(shè)立的一種運(yùn)行通報機(jī)制前翎,出現(xiàn)異常,會產(chǎn)生一種信號畅涂,信號可以傳遞給相關(guān)進(jìn)程港华。進(jìn)程接收到后會做出不同的反應(yīng)。
UNIX的基本通信技術(shù)
鎖文件通信
通信進(jìn)程雙方約定毅戈,在某個目錄中(TMP目錄)苹丸,查找是否有一個雙方都可以訪問的已知文件存在,將這個文件視為鎖文件苇经。
記錄鎖文件通信
通過文件記錄的鎖定來實現(xiàn)進(jìn)程間的通信。
信號通信
略
管道通信
略
共享存儲區(qū)通信技術(shù)
共享存儲區(qū)的概念
利用內(nèi)存中的一段共享存儲區(qū)進(jìn)行通信宦言,可以將共享區(qū)中的內(nèi)容作為進(jìn)程自己的虛存空間使用扇单,構(gòu)成通信機(jī)制。