域名对网站有什么影响,建设网站需要哪些元素,中国外贸公司排名,图片在线制作水印我最近开了几个专栏#xff0c;诚信互三#xff01; |||《算法专栏》#xff1a;#xff1a;刷题教程来自网站《代码随想录》。||| |||《C专栏》#xff1a;#xff1a;记录我学习C的经历#xff0c;看完你一定会有收获。||| |||《Linux专栏》#xff1… 我最近开了几个专栏诚信互三 |||《算法专栏》刷题教程来自网站《代码随想录》。||| |||《C专栏》记录我学习C的经历看完你一定会有收获。||| |||《Linux专栏》记录我学习Linux的经历看完你一定会有收获。||| |||《C#专栏》记录我复习C#的经历深度理解查漏补缺不定期更新。||| |||《计算机网络专栏》记录我学习计算机网络看完你一定会有收获。||| 进程间通信1管道 什么是进程间通信进程间通信的基础管道通信原理管道的特点 什么是进程间通信
进程间通信是让进程可以看到另一个进程发送的资源。
进程间通信的基础
不论是何种进程间的通信都需要有一定的基础。 1).都需要让多个通信的进程看到同一份资源。 2).同时该份资源不能由通信的进程的任何一方提供。 否则进程是否能成功通信就取决于某个通信的进程了耦合度太高。 所以操作系统需要提供和管理这部分资源。
管道通信原理
管道是进程间通信的方法之一管道分为命名管道和匿名管道管道通过一个临时文件的缓冲区作为公共资源进行通信。 Linux中管道操作符就是通过管道通信原理实现的。 1).通过pipe接口创建一个匿名管道会打开读端和写端 其中pipefd[0]是读端的fdpipefd[1]是写端的fd。 2).创建子进程子进程会继承父进程pcb的内容并且也会生成一个新的file结构体数组与父进程的pcb相同。
3).一个进程关闭读一个进程关闭写进行半双工通信。
命名管道通过接口mkfifo创建管道文件两个进程通过管道文件进行通信也可以使用mkpipe指令创建一个管道文件。 命名管道比匿名管道的优势是匿名管道只能进行有血缘关系的进程而命名管道可以让任何进程之间进行通信。 管道的特点
管道有优点和缺点。 一.优点 1).管道是自同步的。 1.管道的读端不读不关闭读端写端一直写会导致将管道写满后就会阻塞等待读端读取数据。 2.管道的写端不写不关闭写端读端在读完管道的数据后就会阻塞等待写端写数据。 3.管道的读端不读关闭读端写端在写则os会判定该管道的软件条件不满足了于是会向写端进程发送信号杀死进程。 4.管道的写端不写关闭写端读端在读则读函数则会返回0。 2).管道是面向字节流的。 管道内不论有多少数据都会被直接读取完。 3).管道是半双工通信的。
二.缺点 1).管道的效率很低需要调用系统调用时间效率低。 2).匿名管道只能进行血缘关系的通信命名管道可以进行任何进程间的通信。