嵌入式複習13

第十三天:

1. 使用管道實現進程間通信

1.1 基礎概念

概念:本質上是一種特殊的文件

分類:有名管道無名管道

有名管道:可以進行任意倆進程之間的通信

無名管道:只能進行父子進程之間的通信

1.2 使用有名管道實現進程間的通信

創建有名管道:mkfifo命令/函數

1.3 使用無名管道實現進程間通信

pipe函數

2. 使用共享內存實現進程間通信

2.1 基本概念

共享內存:本質是一塊由內核維護的內存空間

特點:最快的IPC通信方式

2.2 通信模型

1)獲取key值——ftok函數

2)創建/獲取共享內存——shmget

3)掛接共享內存——shmat函數

4)使用共享內存

5)脫接共享內存——shmdt函數

6)刪除共享內存——shmctl函數

2.3 常用的操作函數

1)ftok函數

2)shmget函數

3)shmat函數

4)shmdt函數

5)shmctl函數

2.4 常用的基本命令

ipcs -m :

ipcrm -m ID :

3. 使用消息隊列實現進程間的通信

3.1 基本概念

3.2 通信模型

1)獲取key值——ftok函數

2)創建/獲取消息隊列——msgget函數

3)發送消息/接收消息——msgsnd/msgrcv函數

4)刪除消息隊列——msgctl函數

3.3 相關函數解析

1)ftok函數

2)msgget函數

3)msgsnd/msgrcv函數

4)msgctl函數

3.4 常用的基本命令

ipcs -q :

ipcrm -q ID :

發佈了35 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章