操作系统 | 课程笔记 · 输入输出系统

6.1 I/O系统的功能、模型和接口

  • 输入输出系统包括
    • 直接用于I/O和存储数据的设备
    • 相应的设备控制器和高速总线
    • I/O通道(I/O专用处理机)——大、中型计算机系统中

6.1.1 I/O系统的基本功能

方便用户
  • 隐藏物理设备的细节
    隐藏物理细节,使用抽象命令完成操作.

    I/O设备的类型非常多,且彼此间在多方面都有差异,诸如它们接收和产生数据的速度,传输方向、粒度、数据的表示形式及可靠性等方面。

  • 与设备的无关性
    使用抽象的逻辑设备名来使用设备。

提高效率
  • 提高处理机和I/O设备的利用率
    • 处理机能快速响应用户的I/O请求
      尽量减少在每个I/O设备运行时处理机的干预时间
  • 对I/O设备进行控制(驱动程序的功能)
    • 四种方式
      • ①采用轮询的可编程I/O方式
      • ②采用中断的可编程I/O方式
      • ③ 直接存储器访问方式
      • ④ I/O通道方式

      具体采用方式与I/O设备传输速率、传输的数据单位等因素有关。

发现和修正错误
  • 确保对设备的正确共享
    • 从设备的共享属性上可将系统中的设备分为两类
      • 独占设备(打印机、磁带机)
        系统在对独占设备进行分配时,还应考虑到分配的安全性。
      • 共享设备(磁盘)
        当有多个进程需对设备执行读、写操作时,可以交叉进行,不会影响到读、写的正确性。
  • 错误处理
    • 从处理的角度可将错误分为两类
      • 临时性错误——可通过重试操作来纠正
      • 持久性错误——需要向上层报告

6.1.2 I/O系统的层次结构和模型

一、层次结构

在这里插入图片描述

  • 用户级I/O软件
    • 实现与用户交互的接口,用户可以直接调用该层所提供的、与I/O有关的库函数进行操作。
  • 设备独立性软件
    • 实现用户程序与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等
    • 为设备管理和设备传送提供必要的存储空间
  • 设备驱动程序
    • 具体实现系统对设备发出的操作指令,驱动设备工作。
  • 中断处理程序
    • 中断是I/O控制中的核心功能
    • 保护现场→转到中断处理程序进行处理→恢复现场→返回被中断进程

二、模型

  • I/O系统的上、下接口
    • 上层:I/O接口
      向上层提供对设备进行操作的I/O抽象命令
    • 下层:软件/硬件(RW/HW)接口
      连接中断处理程序与设备控制器
    • I/O系统的分层
      • 与I/O软件组织的层次结构相对应,I/O系统本身也可分为三个层次
        • ①中断处理程序。
        • ②设备驱动程序。
        • ③设备独立性软件。

6.1.3 I/O系统接口

典型接口有三类

  • 块设备接口
    • 块设备管理程序与高层之间的接口。
    • 反映大部分磁盘存储器和光盘存储器的本质特征。
      • 块设备→磁盘
      • 隐藏了磁盘的二维结构
      • 将抽象命令映射为低层操作
  • 流设备接口(字符设备接口)
    • 流设备管理程序与高层之间的接口。
    • 反映了大部分字符设备的本质特征,用于控制字符设备的输入或输出。
      • 字符设备→交互式终端(键盘、显示器)
      • get和put操作
      • in-control指令:每个参数表示一个与具体设备相关的特定功能
  • 网络通信接口
    • 把计算机连接到网络上。
    • 使计算机能通过网络与网络上的其它计算机进行通信或上网浏览。

6.2 I/O设备和设备控制器

  • I/O设备一般由两部分组成,通常将两部分分开以提供更加模块化和通用化的设计。
    • 机械部分→I/O设备
    • 电子部件→设备控制器或适配器(adapter)
  • 在个人电脑中,它经常以印刷电路板的形式出现,可以插入计算机的扩展槽中。因而也常称为控制卡、接口卡或网卡,可将它插入计算机的扩展槽中。
  • 在有的大、中型计算机系统中,还配置了I/O通道或I/O处理机。

6.2.1 I/O设备

  • I/O设备的类型
    • 按使用特性分类
      • 存储设备
      • I/O设备
    • 按传输速率分类
      • 低速设备→几~几百字节/秒。(键盘,鼠标等)
      • 中速设备→几千~几万字节/秒。(打印机)
      • 高速设备→数百千~数十兆字节/秒。(磁盘)
  • 设备与控制器之间的接口

    设备与设备控制器通信,在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号线。

    • 数据信号线
      • 设备和控制器之间传送数据。
    • 控制信号线
      • 规定了设备要执行的操作。(读、写、磁头移动等操作)
    • 状态信号线
      • 指示设备当前的状态。(正在读(或写)、读(写)完成等)

6.2.2 设备控制器

6.2.3 I/O通道

6.3 中断机构和中断处理程序

6.3.1 中断简介

6.3.2 中断处理程序

6.4 设备驱动程序

6.4.1 关于设备驱动程序

6.4.2 设备驱动程序的处理过程

6.4.3 对I/O设备的控制方式

6.5 与设备无关的I/O软件

6.6 用户层的I/O软件

6.7 缓冲区管理

6.8 磁盘存储器的性能和调度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火山锅肥羊卷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值