有關Unix或者linux的知識

2021-07-22 08:14:43 字數 901 閱讀 7703

(1)管道(pipe):管道可用於

具有親緣關係

程序間的通訊,允許乙個程序和另乙個與它有共同祖先的程序之間進行通訊。

(2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。命名管道在檔案系統中有對應的檔名。命名管道通過命令mkfifo或系統呼叫mkfifo來建立。

(3)訊號(signal):訊號是比較複雜的通訊方式,用於通知接受程序有某種事件發生,除了用於程序間通訊外,程序還可以傳送訊號給程序本身;linux除了支援unix早期訊號語義函式sigal外,還支援語義符合posix.1標準的訊號函式sigaction(實際上,該函式是基於bsd的,bsd為了實現可靠訊號機制,又能夠統一對外介面,用sigaction函式重新實現了signal函式)。

(4)訊息(message)佇列:訊息佇列是訊息的鏈結表,包括posix訊息佇列system v訊息佇列。有足夠許可權的程序可以向佇列中新增訊息,被賦予讀許可權的程序則可以讀走佇列中的訊息。訊息佇列克服了訊號承載資訊量少,管道只能承載無格式位元組流以及緩衝區大小受限等缺

(5)共享記憶體:使得多個程序可以訪問同一塊記憶體空間,是最快的可用ipc形式。是針對其他通訊機制執行效率較低而設計的。往往與其它通訊機制,如訊號量結合使用,來達到程序間的同步及互斥。

(7)訊號量(semaphore):主要作為程序間以及同一程序不同執行緒之間的同步手段。

(8)套介面(socket):更為一般的程序間通訊機制,可用於不同機器之間的程序間通訊。起初是由unix系統的bsd分支開發出來的,但現在一般可以移植到其它類unix系統上:linux和system v的變種都支援套接字。

2.執行緒間的通訊是靠什麼實現的

(1)全域性變數(執行緒之間共享記憶體)

(2)訊息

(3)引數傳遞

Unix與Linux的關係

簡單地說,linux 是一套免費使用和自由傳播的類 unix 作業系統,它主要用於基於intel x86系列 cpu的計算機上。這個系統是由全世界各地的成千上萬的程式設計師設計和實現的。其目的是建立不受任何商品化軟體的版權制約的 全世界都能自由使用的 unix 相容產品。linux 和unix 的最...

Linux和Unix的關係

最開始出現unix作業系統,比較好用,使用者也用慣了,但是後來轉商用和閉源了,導致很多人不能再用。這種情況下,有人提出gnu計畫,目的是 打造和unix一樣的系統,但是開源。很多人為此貢獻 其功能都是模仿unix系統,這個計畫實施到最後,大部分都完成了,但是還缺乏作業系統。linus這個人剛好開發了...

有關Linux的指令學習

常用指令 ls 顯示檔案或目錄 l 列出檔案詳細資訊l list a 列出當前目錄下所有檔案及目錄,包括隱藏的a all mkdir 建立目錄 p 建立目錄,若無父目錄,則建立p parent cd 切換目錄 touch 建立空檔案 echo 建立帶有內容的檔案。cat 檢視檔案內容 cp 拷貝 m...