在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 進(jìn)程間通信簡(jiǎn)介
命名管道
消息隊(duì)列
進(jìn)程創(chuàng)建與終止
信號(hào)量
進(jìn)程組,會(huì)話和作業(yè)控制
共享內(nèi)存
進(jìn)程間通信簡(jiǎn)介
子進(jìn)程監(jiān)視
其他進(jìn)程
覆蓋進(jìn)程映像
進(jìn)程信息
進(jìn)程映像
內(nèi)存映射
相關(guān)系統(tǒng)調(diào)用(System V)
進(jìn)程資源
System V & Posix
信號(hào)
進(jìn)程間通信教程
管道

進(jìn)程間通信簡(jiǎn)介

進(jìn)程間通信(IPC)是一個(gè)涉及一個(gè)進(jìn)程與另一個(gè)進(jìn)程的通信的機(jī)制。 這通常只發(fā)生在一個(gè)系統(tǒng)中。

通信可以有兩種類(lèi)型 -

  • 只從一個(gè)進(jìn)程啟動(dòng)的相關(guān)進(jìn)程之間,如父進(jìn)程和子進(jìn)程。
  • 在不相關(guān)的進(jìn)程之間,或者兩個(gè)或多個(gè)不同的進(jìn)程。

在進(jìn)一步討論此主題之前需要了解的一些重要術(shù)語(yǔ)。

管道 - 兩個(gè)相關(guān)過(guò)程之間的通信。 該機(jī)制是半雙工的,意味著只能從第一個(gè)進(jìn)程與第二個(gè)進(jìn)程通信。 為了實(shí)現(xiàn)全雙工,即要對(duì)于在第一進(jìn)程與第二進(jìn)程之間來(lái)回通信,就需要管道了。

FIFO - 兩個(gè)不相關(guān)進(jìn)程之間的通信。 FIFO是全雙工的,這意味著第一個(gè)進(jìn)程可以與第二個(gè)進(jìn)程進(jìn)行通信,反之亦然。

消息隊(duì)列 - 兩個(gè)或多個(gè)具有全雙工容量的進(jìn)程之間的通信。 這些進(jìn)程將通過(guò)發(fā)布消息并將其從隊(duì)列中取出來(lái)相互通信。 一旦檢索后,消息就不再在隊(duì)列中可用。

共享內(nèi)存 - 兩個(gè)或多個(gè)進(jìn)程之間的通信是通過(guò)所有進(jìn)程之間共享的內(nèi)存來(lái)實(shí)現(xiàn)的。 共享內(nèi)存需要通過(guò)同步對(duì)所有進(jìn)程的訪問(wèn)來(lái)保護(hù)彼此。

信號(hào)燈 - 信號(hào)燈用于同步對(duì)多個(gè)進(jìn)程的訪問(wèn)。 當(dāng)一個(gè)進(jìn)程想要訪問(wèn)內(nèi)存(用于讀取或?qū)懭?時(shí),需要在訪問(wèn)被移除時(shí)被鎖定(或保護(hù))并釋放。 這需要所有進(jìn)程重復(fù)以保護(hù)數(shù)據(jù)。

信號(hào) - 信號(hào)是通過(guò)信號(hào)的方式在多個(gè)過(guò)程之間進(jìn)行通信的機(jī)制。 這意味著源進(jìn)程將發(fā)送一個(gè)信號(hào)(由數(shù)字識(shí)別),目標(biāo)進(jìn)程將相應(yīng)地處理它。

注 - 本教程中幾乎所有示例程序都基于Linux操作系統(tǒng)下的系統(tǒng)調(diào)用(在Ubuntu中執(zhí)行)。