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


    1.管道文件

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

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

    解决方法:

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

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

    2.终端设备文件

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

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

    2)次设备号

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

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

    2.2 读写设备文件步骤:

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

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

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

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

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

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

  • 相关阅读:
    Django 的简单ajax
    django 模板语言的注释操作
    Django 使用Paginator分页
    Django 使用allauth报错
    selenium登录 京东滑动验证码
    The usage of Markdown---表格
    The usage of Markdown---引用
    The usage of Markdown---代码块
    The usage of Markdown---目录
    The usage of Markdown---链接的使用
  • 原文地址:https://www.cnblogs.com/jun14/p/2810062.html
Copyright © 2020-2023  润新知