☰
进程通信--IPC管道
2026/10/17 2:39:19 网站建设 项目流程

一、IPC

1.什么是IPC:inter-process communication,进程间通信

2.为什么需要IPC:os产生的进程间各自拥有独立的虚拟地址空间,进程间是独立的,无法访问到其他进程的内存

3.IPC主要实现方式:管道、消息队列、共享内存、信号量、互斥锁

4.IPC的目的:数据传输、资源共享、通知事件、进程控制

二、管道

1.什么是管道:内核在内存上开辟一块儿空间,实现进程间数据流通,按字节数据进行一段写,一段读,具有内核在内存空间、写段、读段这样结构的成为管道,而内核为管道在内存开辟的空间成为管道缓冲区,是具有一定大小的

2.管道分类:匿名管道,命名管道

3.匿名管道特点:是半双工的,数据单向流动;

一般用于父子进程间;

先创建管道再fork()子进程,因为创建管道后父进程的文件描述符将指向管道两端,被PCB用指针所记录,fork()后子进程创建一个新的PCB,除PID外其他基本与父进程一致,此时的子进程在PCB指向的文件文件描述符

与父进程一样,即也指向那个管道的两端

文件描述符:操作系统给进程的“整数编号”,凭借这个编号操作对应的文件、网络、设备等资源。0键盘输入

文件描述符角度:管道是内存里的一块儿缓冲区,不在磁盘中,不存在文件名,但内核为管道提供了文件描述符,使管道可以像文件一样使用read(文件描述符,),write(文件描述符,),但不能使用open(),只能用pipe()获取文件描述符

内核角度:管道是内核中一块儿环形顺序队列

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询