zoukankan      html  css  js  c++  java
  • minix中管道文件和设备文件的读写

    1.管道文件

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

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

    解决方法:

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

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

    2.终端设备文件

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

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

    2)次设备号

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

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

    2.2 读写设备文件步骤:

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

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

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

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

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

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

  • 相关阅读:
    前端面试题
    Less 中的嵌套规则与 & 符号的使用
    组件的生命周期
    222
    221
    twemproxy代理memcache(3)
    memcache数据迁移与解决方案(2)
    mencache的原理与应用(1)
    yield推荐,理解协程的最佳入口
    上下文管理器的实现
  • 原文地址:https://www.cnblogs.com/jun14/p/2810062.html
Copyright © 2011-2022 走看看