第六章 设备管理
6.1、设备管理的任务、功能及目标;
1.设备管理的任务
提高设备的利用率
设备独立性
字符编码的独立性
设备处理的一致性
2.设备管理的功能
(1)监视系统中所有设备的状态。
(2)设备分配。
(3)设备控制是设备管理的另一功能,它包括设备驱动和设备中断处理,具体的工作过程是在设备处理的程序中发出驱动某设备工作的I/O指令后,再执行相应的中断处理。
3.设备管理的目标
按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求
6.2、I/O设备的分类,设备、控制器及通道的关系;
1.I/O设备的分类
需要用于输入、输出和存储信息的设备;
需要相应的设备控制器;
控制器与CPU连接的高速总线;
有的大中型计算机系统,配置I/O通道;
2.设备、控制器及通道的关系
设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作。通道是增设在CPU和设备控制器之间的,通过执行通道程序,与设备控制器共同实现对I/O设备的控制的。可见,通道控制设备控制器(没有配置通道的系统没有这一层),设备控制器控制设备;通道不能直接控制I/O设备。
3.通道的基本概念
通道是一种通过执行通道程序管理I/O操作的控制器,它使主机(CPU和内存)与I/O操作之间达到更高的并行程度。由于它的任务是管理实现输入/输出操作,提供一种传送通道,所以将这种部件称作“通道”。
6.3、I/O软件的层次、各层主要功能、设备独立性的概念;
I/O软件可分为如下4个层次:
中断处理程序、设备驱动程序、与设备无关的操作系统软件和用户级软件。
各层功能为:
①中断处理程序——分析中断原因,并依据中断原因调用相应的处理程序
②设备驱动程序——它接受来自上层、与设备无关软件的抽象读写请求,并将该I/O请求排在请求队列的队尾,还要检查I/O请求的合法性;取出请求队列中对首请求,将相应设备分配给它;向该设备控制器发送命令,启动该设备工作,完成指定的I/O操作;处理来自设备的中断
③与设备无关的操作系统软件——其基本功能是执行所有驱动器共同的I/O功能和对用户级软件提供统一软件
④用户级软件——多数I/O软件都在操作系统中,用户空间中也有一小部分。通常,它们以库函数形式出现,在用户程序中可以调用它们
- 设备独立性的基本含义:
①.指应用程序中所使用的设备,不局限于使用某个具体的物理设备,也称为设备无关性。
②.为了实现设备独立性,在设备驱动程序之上设置一层软件,称为与设备无关的I/O软件,或设备独立性软件。
③.设备无关的软件是I/O系统最高层软件,但它和其下的设备驱动程序之间的界限,将随操作系统和设备的不同而有所差异。
6.4、SPOOLING技术的概念、作用及SPOOLING系统的组成;
1、设备分配中的虚拟技术称为SPOOLING技术
2、作用:
①、提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。
②、将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。
③、最终,实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。
3、SPOOLING系统的组成
①、输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。
②、输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。
③输入进程和输出进程。
Ⅰ、用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上;
Ⅱ、用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。
6.5、磁盘调度方法
对所有请求访问磁盘的进程进行合理调度,使对磁盘的平均访问时间最小。
目标:使平均寻道时间最少。
算法:
FCFS 最短寻道时间优先SSTF 扫描算法SCAN(磁盘电梯调度算法) 循环扫描算法CSCAN N-Step-SCAN算法 FSCAN算法