操作系统第五章——操作系统设备

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

基本功能

  1. 隐藏物理设备的细节 I/O设备的类型非常多,且彼此间在多方面都有差异,诸如它们接收和产生数据的速度,传输方向、粒度、数据的表示形式及可靠性等方面。 设备控制器可部分隐藏设备操作细节。 I/O系统对设备加以抽象,以隐藏物理设备的实现细节,仅向上层进程提供少量的、抽象的接口。
  2. 与设备无关性
    隐藏物理设备的细节早已有之。与设备的无关性是在较晚时才实现的,这是在隐藏物理设备细节的基础上实现的。例如:
  • 逻辑设备名
  • 即插即用
  1. 提高处理机和I/O设备的利用率
  • 许多I/O设备间是相互独立的,能够并行操作,在处理机与设备之间也能并行操作。因此,要尽可能地让处理机和I/O设备并行操作,以提高它们的利用率。为此,一方面要求处理机能快速响应用户的I/O请求,使I/O设备尽快地运行起来;另一方面也应尽量减少在每个I/O设备运行时处理机的干预时间
  1. 对I/O设备进行控制
    对I/O设备进行控制是驱动程序的功能。目前对I/O设备有四种控制方式: ① 采用轮询的可编程I/O方式; ② 采用中断的可编程I/O方式; ③ 直接存储器访问方式; ④ I/O通道方式。 不同设备采用不同方式。
  2. 确保对设备地正确共享
    从设备的共享属性上,可将系统中的设备分为如下两类: (1) 独占设备:进程应互斥地访问这类设备。典型的独占设备有打印机、磁带机等。系统在对独占设备进行分配时应考虑到分配的安全性。 (2) 共享设备:是指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘。
  3. 错误处理
    大多数的设备都包括了较多的机械和电气部分,运行时容易出现错误和故障。 从处理的角度,可将错误分为临时性错误和持久性错误。 对于临时性错误,可通过重试操作来纠正,只有在发生了持久性错误时,才需要向上层报告。

层次结构

在这里插入图片描述
在这里插入图片描述

I/O系统接口

块设备与字符设备的比较期末容易考

  • 块设备接口
  • 流设备接口
  • 网络接口

I/O设备和设备控制器

中断处理程序

缺页中断在指令中完成

中断处理时从用户态转到系统态(内核态)

设备驱动程序

设备驱动程序和普通应用程序的区别(重要)

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

与设备无关的软件(记住)

  • 设备驱动程序的统一接口
  • 缓冲管理
  • 差错控制
  • 对独立设备的分配与回收
  • 独立于设备的逻辑数据块

设备分配

数据结构

  • 设备控制表(DCT)
  • 控制器控制表(COCT)
  • 通道控制表(CHCT)
  • 系统设备表(SDT)

设备分配的影响因素

逻辑设备名到物理设备名映射的实现

逻辑设备名用户给出
物理设备名系统给出

逻辑设备表(LUT):逻辑设备名,物理设备名,设备驱动程序的入口地址

如何设置

  • 第一种方式,是在整个系统中只设置一张LUT。
  • 第二种方式,是为每个用户设置一张LUT

用户层的I/O软件

系统调用

库函数

假脱机(Spooling)系统

使用高速磁盘做缓存,外围设备与内存之间的缓冲

缓冲区管理

设备无关层
引入原因

  • (1) 缓和CPU与I/O设备间速度不匹配的矛盾。
  • (2) 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
  • (3) 解决数据粒度不匹配的问题。
  • (4) 提高CPU和I/O设备之间的并行性。

缓冲区满产生一次中断
缓冲区扩充,中断频率降低

比较这几种缓冲方式的特点

  • 单缓冲区
    • 工作方式在这里插入图片描述
  • 双缓冲区
    • 工作方式在这里插入图片描述
  • 环形缓冲区
    • 在这里插入图片描述
  • 缓冲池
    • 空白缓冲队列

磁盘存储器的性能和调度

机械磁盘

调度算法(最容易处前四种,常出如下表的形式)

  • 先进先执行
  • 最短寻道优先算法
    在这里插入图片描述
  • 基于扫描的调度算法
    • 扫描(SCAN)算法 (电梯调度)
      在这里插入图片描述
    • 循环扫描(CSCAN)算法:开始位置向最访问,然后跳转最小
      在这里插入图片描述
  • NstepSCAN算法:请求队列划分n个子队列,任务随机进入队列[N很大接近SCAN,N=1为FCFS]
  • FSCAN调度算法:分为两个队列,扫描的期间进入的新任务在另一个队列保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值