OS-Device

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

image-20200729213021155

image-20200729214518480

image-20200729224125884

image-20200729224239100

image-20200729230135710

image-20200729230353339

I/O控制方式

image-20200729230606543

  • 程序直接控制:

image-20200729232535739

image-20200729234830666

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

image-20200730122326557

image-20200730122524440

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

image-20200730125632570

image-20200730130224061

image-20200730130419156

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

I-O软件层次结构

image-20200730131555784

image-20200730132014551

设备独立性软件

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

  • 实现的功能

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

  • image-20200730144243618

  • 设备的固有属性

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

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

    • image-20200730145227306
  • 静态分配和动态分配

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

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

    • image-20200730145507576

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

  • image-20200730145703951

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

  • image-20200730145837087

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

  • image-20200730150054585

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

  • image-20200730150209367

设备分配的具体步骤

  • image-20200730150405314
  • image-20200730151215299
  • image-20200730151355443
  • image-20200730151458792
  • image-20200730151523688
缓冲区管理
image-20200730151732674

image-20200730151903718

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

image-20200730152236110

单缓存中T>C:

image-20200730152721773

单缓存中T<C:

image-20200730153015268

image-20200730153035809

双缓存:

image-20200730153356512

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

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

image-20200730155003284

循环缓冲区:

image-20200730155148327

缓冲池:

image-20200730155444144

总结:

image-20200730155459613

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值