【Linux】总结进程间通信以及相关面试考点

本文详细介绍了Linux进程间通信的几种方式,包括管道(有名管道FIFO和无名管道)、消息队列、信号量和共享内存。重点讨论了它们的特点和应用场景,如管道的半双工特性、消息队列的双向通信能力、信号量的同步控制以及共享内存的高效数据共享。同时,文章也提到了临界资源、临界区的概念,以及全双工和半双工通信的区别。
摘要由CSDN通过智能技术生成

一、相关知识点

1、进程地址空间分布图:

在这里插入图片描述

2、什么是临界资源?

临界资源同一时刻只允许一个进程访问的资源叫临界资源。

3、什么是临界区?

临界区访问临界资源的代码段叫临界区。

4、全双工和半双工通信有什么区别?

半双工数据可以从A到B发送,也可以从B到A发送,但同一时刻只能是一个方向的。
全双工数据在任意时刻都可以在两个方向同时进行。即A到B和B到A

二、管道

详细讲述管道以及实现

1、什么是有名管道?

有名管道FIFO:在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利,没有血缘关系的进程也可以进程间通信。

2、什么是无名管道

无名管道pipe:在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利,一般使用fork函数实现父子进程的通信。

3、管道的特点

(1)无论是有名还是无名,写入管道的数据都在内存中。
(2)管道是一种半双工通信方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值