进程间通信是操作系统需要提供的一项重要功能,其中管道又是最为基础的进程间通信方式之一。管道的作用相当于提供了一个先进先出的队列,进程可以向管道中写入数据也可以从中读取数据。本文将介绍如何在uCore操作系统实验八的基础上实现匿名管道。

管道设备的源代码位于pipe文件夹下,测试程序源代码为pipe.c

管道简介

管道技术是进程间通信的一种方式,和文件不同,管道以及管道的变种不会占据任何的磁盘空间,而只是使用了内核中的一个缓冲区。如果缓冲区满了,那么进程会被阻塞。管道通常是单工的,通常只有一个发送端和一个接收端。当然,多个发送端或者多个接收端也是完全可行的。

Continue reading