五、设备
IO设备的概率和分类
  • 什么是I/O设备
    • UNIX系统将外部设备抽象成一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作
    • Write操作:向外部设备写出数据
    • Read操作:从外部设备读入数据
  • I/O设备分类
    • 按使用特性:
      • 人机交互外部设备——速度慢
      • 存储设备——速度块
      • 网络通信设备——速度介于两者之间
      • OS-Device
    • 按传输速率分类
      • 低速设备
      • 中速设备
      • 高速设备
      • OS-Device
    • 按照信息交换的单位分类
      • 块设备——传输速率较高,可寻址,即对它可随机地读/写任一块
      • 字符设备——传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式
      • OS-Device
  • OS-Device
I/O控制器

OS-Device

OS-Device

OS-Device

OS-Device

OS-Device

OS-Device

I/O控制方式

OS-Device

  • 程序直接控制:

OS-Device

OS-Device

  • 中断驱动方式:在程序直接控制后加入了中断处理

OS-Device

OS-Device

  • DMA——直接存储器存取
  • OS-Device
  • DMA控制器的内部结构:
  • OS-Device
  • OS-Device
  • 通道控制方式:可以读取离散的数据块

OS-Device

OS-Device

OS-Device

通道=弱鸡版CPU、通道程序=任务清单

I-O软件层次结构

OS-Device

OS-Device

设备独立性软件

  • 又称设备无关性软件,与设备的硬件特性无关的功能几乎都在这一层实现

  • 实现的功能

    • 向上层提供统一的调用接口(read/write系统调用)
    • 设备的保护(类似文件保护。设备被看作统一的文件,不同用户对于不同文件的访问权限不一样)
    • 差错处理
    • 设备的分配与回收
    • 数据缓冲区管理——通过缓冲技术屏蔽设备之间的数据交换单位大小和传输速度的差异
    • 建立逻辑设备名和物理设备名的映射关系:根据设备类型选择调用相应的驱动程序
    • OS-Device
    • OS-Device
    • OS-Device
    • OS-Device
    • OS-Device
    • OS-Device
    • 逻辑设备表
I/O核心子系统
  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
假脱机技术(SPOOLing技术)
  • OS-Device
  • OS-Device
  • 假脱机技术(SPOOL技术)是用软件的方式模拟脱机技术。SPOOLing系统的组成如下
  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
设备的分配与回收
  • 知识总览

  • OS-Device

  • 设备的固有属性

    • 独占设备——一段时间段只能分配给一个进程(如打印机)
    • 共享设备——可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用
    • 虚拟设备——采用SPOOLing技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程使用(如采用SPOOLing技术实现的共享打印机)
  • 设备分配算法

    • 先来先服务
    • 短作业优先
    • 。。。。。
  • 设备分配中的安全性

    • OS-Device
  • 静态分配和动态分配

    • 静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源
    • 动态分配:进程运行过程中动态申请设备资源
  • 设备分配管理中的数据结构

    • 一个设备对应多个通道,一个通道对应多个控制器

    • OS-Device

  • 第一个数据结构——设备控制表

  • OS-Device

  • 第二个数据结构——控制器控制表

  • OS-Device

  • 第三个数据结构——通道控制表

  • OS-Device

  • 第四个数据结构——系统设备表

  • OS-Device

设备分配的具体步骤

  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
  • OS-Device
缓冲区管理
OS-Device

OS-Device

在内存中采用缓冲区后,可以缓解CPU与I/O设备之间速度不匹配的矛盾

OS-Device

单缓存中T>C:

OS-Device

单缓存中T<C:

OS-Device

OS-Device

双缓存:

OS-Device

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNUOLa9s-1596095871862)(http://cdn.comewei.xyz/qiuniuimg/image-20200730153825719.png)]

结论:采用双缓冲策略,处理一个数据块的平均耗时为Max(T,C+M)

OS-Device

循环缓冲区:

OS-Device

缓冲池:

OS-Device

总结:

OS-Device

相关文章:

  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-09-28
  • 2021-06-12
  • 2021-11-04
猜你喜欢
  • 2021-05-26
  • 2022-12-23
  • 2021-12-06
  • 2022-01-06
  • 2021-12-13
  • 2022-12-23
  • 2022-01-13
相关资源
相似解决方案