linux下的通訊手段基本上是從unix平台上的程序通訊機制繼承而來。
linux下的程序通訊通訊機制主要包括:
管道(pipe)及有名管道(named pipe):管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊;
訊號(signal):訊號是比較複雜的通訊方式,用於通知接受程序有某種事件發生,除了用於程序間通訊外,程序還可以傳送訊號給程序本身;linux除了支援unix早期訊號語義函式sigal外,還支援語義符合posix.1標準的訊號函式sigaction(實際上,該函式是基於bsd的,bsd為了實現可靠訊號機制,又能夠統一對外介面,用sigaction函式重新實現了signal函式);
報文(message)佇列(訊息佇列):訊息佇列是訊息的鏈結表,包括posix訊息佇列system v訊息佇列。有足夠許可權的程序可以向佇列中新增訊息,被賦予讀許可權的程序則可以讀走佇列中的訊息。訊息佇列克服了訊號承載資訊量少,管道只能承載無格式位元組流以及緩衝區大小受限等缺點。
共享記憶體:使得多個程序可以訪問同一塊記憶體空間,是最快的可用ipc形式。是針對其他通訊機制執行效率較低而設計的。往往與其它通訊機制,如訊號量結合使用,來達到程序間的同步及互斥。
訊號量(semaphore):主要作為程序間以及同一程序不同執行緒之間的同步手段。
套介面(socket):更為一般的程序間通訊機制,可用於不同機器之間的程序間通訊。起初是由unix系統的bsd分支開發出來的,但現在一般可以移植到其它類unix系統上:linux和system v的變種都支援套接字。
一般來說,linux下的程序包含以下幾個關鍵要素:
Linux面試基礎知識 彙總
怎麼檢視系統支援的所有訊號?kill l chmod 修改許可權 chown 修改檔案擁有者 chgrp修改群組 27.使用什麼命令檢視磁碟使用空間?空閒空間呢?df hl 29.使用什麼命令檢視 ip 位址及介面資訊?ifconfig df 命令獲得真正的檔案系統資料 檔案系統的磁碟使用情況 而 ...
linux基礎知識與技能2
3 編輯器vi的使用 vi和vim的聯絡 什麼是編輯器?編輯器就是一款軟體,它的主要作用就是用來編輯。譬如編寫檔案,編寫 windows中的常用編輯器,如自帶的notepad。比較好用的notepad ultraeditor,slickeditor linux中常用編輯器,自帶的最古老的vi。比較好...
Linux的基礎知識
學習shell,通常會關聯linux,那麼shell和linux是什麼關係了?shell是乙個具備特殊功能的程式。介於使用者和linux作業系統之核心程式 kernel 間的乙個介面。為了對使用者遮蔽核心的複雜性,也為了保護核心,以免使用者誤操作造成損害,在核心的周圍建了乙個外核 shell。使用者...