2014 操作系统 进程间通信 选择题
第 31 题

下列关于管道( Pipe) 通信的叙述中,正确的是()。

A. 一个管道可实现双向数据传输

B. 管道的容量仅受磁盘容量大小限制

C. 进程对管道进行读操作和写操作都可能被阻塞

D. 一个管道只能有一个读进程或一个写进程对其操作

[tag_link]

正确答案:D

管道 实际上是一种固定大小的缓冲区,管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在于内存中。它类似于通信中半双工信道的进程通信机制,一个管道可以实现双向的数据传输,而同一个时刻只能最多有一个方向的传输,不能两个方向同时进行。管道的容量大小通常为内存上的一页,它的大小并不是受磁盘容量大小的限制。当管道满时,进程在写管道会被阻塞,而当管道空时,进程在读管道会被阻塞,因此选 C。