《操作系统教程》第5版-Chapter5-设备管理知识点整理与典型题目

 
 
外部设备:
存储型设备
I/O设备
 
设备管理的功能:
设备 中断处理
缓冲区管理
设备 分配和去配
设备 驱动调度
实现 虚拟设备
 
I/O控制方式
轮询:查询指令——读写指令——转移指令
会中止原程序的执行。主机不能充分发挥功效,整个系统效率很低
 
中断
核心思想: 允许I/O设备主动打断CPU的运行
不必忙式轮询
响应中断请求后必须停止现行程序
 
DMA(Direct Memory Access) 直接存储器存取
无需CPU干预, 只有当整个数据块传送结束后,处理器才被中断
CPU总是把总线占有权让给DMA,“周期窃取”,降低CPU处理效率
每发出一次 I/O指令只能读写一个数据块
 
通道( I/O处理器
完成内存和设备之间的信息传送, 与CPU并行工作
CPU需要完成一组相关的读写操作与有关控制时, 只需要向通道发送一条 I/O指令。通道完成传送时向CPU发送中断请求
通道程序是由一系列通道指令所构成的
 
DMA与通道的区别:(通道的自主权更大)
DMA需要CPU来控制传输的数据块大小,内存位置。通道则自行控制
DMA控制器对应一台设备与内存传递数据。通道控制多台设备与内存的数据交换
独立于设备的I/O软件
设备命名与保护
提供与设备无关的块尺寸
缓冲技术
设备分配和状态跟踪
错误处理和报告
 
设备驱动程序逻辑I/O转化为物理 I/O
 
 
 
缓冲技术:
目的:
协调CPU与设备的速度
逻辑记录大小与物理记录大小不一致的问题
提高并行性
减少中断
 
单缓冲
双缓冲
多缓冲
 
磁盘调度算法:(P270)
先来先服务FCFS
最短寻找时间优先
扫描算法(必须扫描到头)
循环扫描算法(总是从0号柱面至最大号柱面顺序扫描,然后直接返回0,需要扫描到头)
分步扫描算法(分N个子队列)
电梯算法(LOOK (不用扫描到头)
 
 
提高磁盘I/O速度的办法:
提前读
延迟写
虚拟盘(RAM盘):内存空间去仿真磁盘,拥有立即存取的优点
 
虚拟设备
原理:
缓冲区:输入缓冲区“预输入”与输出缓冲区“缓输出”
好处:
设备利用率提高
作业运行时间缩短
SPOOLing技术:独占型设备变成共享设备的一种技术
预输入:输入磁盘的输入缓冲区
井管理
井文件存放方式:连接方式与计算方式
缓输出:数据暂存磁盘的输出缓冲区
 
 

题目部分:

I/0软件一般分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。试说明以下各个工作是在哪一层完成的?

1. 向设备寄存器写命令;

2. 检查用户是否有权使用设备;

3.将二进制整数转化成ASCII码以便打印。

逻辑地址转换为物理地址

设备缓冲区管理

唤醒请求 I/O 的进程

检查设备状态寄存器内容

(1)在设备驱动程序。

(2)与设备无关的软件层。

(3)用户层。

在操作系统 I/O 软件

操作系统 I/O 软件

设备驱动程序

在 I/O 中断处理程序


I/0 软件分为四个层次:用户 I/O 软件、与设备无关的 OS I/O 软件、设备驱

动程序以及 I/O 中断处理程序。试说明以下各个工作是在哪一层完成的?

(3) 设备状态跟踪。

(5) 处理设备 I/O 中发生的故障

自己的理解:

与设备无关的软件层

I/O 中断处理程序




1、旋转型设备上信息的优化分布能减少为若干个I/O服务的总时间。设磁鼓上分为20个区,每区存放一个记录,磁鼓旋转一周需20毫秒,读出每个记录平均需用1毫秒,读出后经2毫秒处理,再继续处理下一个记录。在不知当前磁鼓位置的情况下:(1)顺序存放记录1、……,记录20时,试计算读出并处理20个记录的总时间;(2)给出优化分布20个记录的一种方案,使得所花的总处理时间减少,且计算出这个方案所花的总时间。

答:定位第1个记录需10ms。读出第1个记录,处理花2ms,这时已到了第4个记录,再转过18个记录(花18ms)才能找到记录2,所以,读出并处理20个记录的总时间:

10+3+(1+2+18)×19=13+21×19=412ms

        如果给出优先分布20个记录的方案为:1,8,15,2,9,16,3,10,17,4,11,18,5,12,19,6,13,20,7,14。当读出第1个记录,花2ms处理后,恰好就可以处理记录2,省去了寻找下一个记录的时间,读出并处理20个记录的总时间:

               10+3+3×19=13+247=260ms


发布了25 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/m0_37302219/article/details/104268888