minix中管道文件和设备文件的读写

1.管道文件

管道文件读写主要面临问题:

  一次读写完毕后,下一次可能需要等好久。

解决方法:

  文件系统将这个请求挂起,不发送应答给进程,导致进程阻塞。

  在能够执行完成的时候,重新唤醒进程。

 

2.终端设备文件

2.1 终端设备的i节点(inode)中有两个数字:1)主设备号

  主设备号给出了设备类型: ram,软盘,硬盘,终端。

2)次设备号

  此设备号指明了所使用的设备号,如终端2,驱动器1,

  有时候还会包含一些设备信息以便驱动程序处理。

 

2.2 读写设备文件步骤:

1)从文件的i节点中提取主、次设备号;

2)去访问文件系统表,找到相应的设备驱动程序的进程号;

3)若驱动程序能立即执行操作,则执行,若不能则把消息记录在它自己的内部表,

  文件系统此时将调用进程挂起;

4)驱动程序获得数据后,将数据传送到用户进程的缓冲区,

  文件系统发送应答,报告结果给用户进程,并将其解除阻塞。

 

posted @ 2012-12-09 15:12  Jun14  阅读(227)  评论(0编辑  收藏  举报