本章 考核知识点 :1、输入输出操作;2、独占设备与共享设备;3、独占设备的设备;4、磁盘的驱动程序;5、外围设备的启动;6、虚拟设备(SPOOL系统)
自学要求 :要求了解设备管理与文件管理的合作,文件管理实现文件存取的准备工作,而文件的物理存取由设备管理实现。理解怎样实现独占设备的分配和磁盘的驱动调度;怎样实现虚拟设备。
一、输入输出操作(要求达到“ 识记 ”层次)
1、什么是 输入输出操作 :主存储器与外围设备之间的信息传送操作称为输入输出操作。
2、对于 存储型设备 ,输入输出操作的信息传输单位为“ 块 ”。对 输入输出型设备 ,输入输出操作的信息传输单位为“ 字符 ”。
二、独占设备和共享设备( 识记 )
独占设备好比是你家的抽水马桶,当你坐上去的时候,大家就是想用也得等你完事了站起来才可以用上。
共享设备呢,就像是我家的水龙头,我在洗手的时候,可以把手移开让我妈来打盆水。然后我又继续洗手。
1、 独占设备 是指每次只能供一个作业执行期间单独使用的设备。如输入机、磁带机、打印机等。
2、 共享设备 是指允许几个作业执行期间可同时使用的设备。
3、共享设备的“同时使用”的含义是指多个作业可以交替启动共享设备,当一个用业正在使用设备时其他作业暂不能使用,即每一时刻仍只有一个作业占用,但当一个作业正在使用设备时其他作业就可使用。
三、独占设备的分配( 领会 )
1、独占设备的绝对号与相对号
这和绝对地址/相对地址的概念类似。 绝对号 就是将每一台设备确定一个编号(相当于一个绝对地址)。 相对号 就是为了用户程序的方便而设的,在用户请求使用时,采用“设备类-相对号”来提出使用设备要求。由系统建立绝对号与“设备类-相对号”之间的关系,就能正确启用设备了。
2、设备的指定方式
绝对号就好象给每个人取一个不同的名字。上司的工作计划中有一条:十点钟叫张三去买菜。如果张三有空,就得张三去买。
设备类-相对号呢,就好比是一个部门,部门中有一些工作人员,上司的工作计划就只写成:十点叫买菜部找个人去买罗卜。这时就由“系统”来看看买菜部是否有人空闲,只要本部有人闲着能干活的,不管张三李四都可以去干。
这样,对于上司来说,不用去记谁谁的名字,只要指定某部门,要多少人就是了,他的用人策略和具体的哪个人无关。这就是“设备独立性”
1)指定绝对号:这种方式由作业直接指定绝对号对应的设备。系统只能把这个设备分配给他,如果该设备正由其他作业使用则申请不能得到满足。
2)指定设备类、相对号:这种方式在申请设备时不指定具体哪台设备,只说明要某类设备多少台,这样可以由系统灵活分配。
3) 设备独立性 :采用“设备类、相对号”方式使用设备时,用户编程就不必指定特定设备,在程序中由“设备类、相对号”定义逻辑设备。程序执行时由系统根据用户指定的逻辑设备转换成与其对应的具体物理设备。所以,用户编程时使用的设备与实际使用哪台设备无关,这就是“设备独立性”
4)如何实现 独占性设备 分配:对于独占性设备,系统采用“ 静态分配 ”的策略,就是当一个作业所需使用的独占设备能得到满足时,该作业才能被装入主存储器执行。
在操作系统中,设置“ 设备分配表 ”来记录计算机系统所配置的独占设备类型、台数和分配情况等。设备分配表由“设备类表”和“设备表”两部分组成。通过查表和修改表的操作完成设备分配工作。
四、磁盘的驱动调度( 领会 )
1、磁盘的结构(动画)
2、访问磁盘的操作时间(动画)
3、磁盘的 驱动调度 :在多道程序设计系统中,同时有多个访问者请求磁盘操作,此时系统采用一定的调度策略来决定各等待访问者的执行次序,所以系统决定等待磁盘访问者的 执行次序 的工作就是磁盘的“ 驱动调度 ”
4、对磁盘进行驱动调度的目的:尽可能的降低多个访问者执行输入输出操作的总时间,增加单位时间内的输入输出操作次数,有利于系统效率的提高。
5、磁盘调度分为 移臂调度 和 旋转调度 .根据访问者指定的柱面位置来决定执行次序的调度称“移臂调度”;当移动臂定位后,如有多个访问者等待访问该柱面时,根据延迟时间来决定执行次序的调度称为“旋转调度”。
6、移臂调度算法包括以下四种:
1)先来先服务算法;
2)最短寻找时间优先调度算法;
3)电梯调度算法;
4)单向扫描调度算法。
以上几种算法要能够区分,如给你一个访问序列和访问条件,应能根据各种算法做出调度后的访问序列。
7、 信息的优化分布 :知道信息在磁盘上排列不一定是按顺序最优,对于一些能预知处理要求的信息采用优化分页可以缩短输入输出操作时间,提高系统效率。
五、外围设备的启动( 识记 )
要想提高效率就要大胆放权,让下属对事负责而不是对人负责。
CPU是很忙的,如果所有的事情都自己做,做得再好也不一定好,如果有人能帮他处理一些事情,他就可以腾出时间来做更多的事。通道就是中层干部,发挥他们的作用就能提高效率。
1、 通道 (channel):计算机系统中能够独立完成输入输出操作的硬件装置,也称为“ 输入输出处理机 ”。
CPU并不直接操作外围设备,他连接通道(I/O处理机),通道连接设备控制器,设备控制器连接设备。CPU只需把“I/O”设备启动,并给出相关的操作要求。然后就由通道来处理输入输出事宜,做完后报告CPU。
2、通道命令和通道程序:
通道命令 (CCW)规定设备的一种操作,通常由 命令码 、 数据主存地址 、 传送字节个数 及 标志码 等部分组成。
操作系统用一组通道命令来执行一次输入输出应做的工作,这 一组通道命令 就组成了一个“ 通道程序 ”。
命令码分成三类:数据传输类、通道命令转移类和设备控制类。
数据主存地址对于不同的命令有不同的作用,比如命令码为写的操作,主存地址指定的区域存放输出到外围设备的信息。
标志码:为非0时表示通道程序未结束。为0时表示通道程序结束。
传送字节个数,表示本命令应传输的字节个数。
3、通道地址字(CAW)和通道状态字(CSW)
用来存放通道程序首地址的主存固定单元称为“ 通道地址字 ”。
通道状态字 :用于记录通道和设备执行情况的主存单元。通常包括通道命令地址、设备状态、通道状态和剩余字节个数等几个字段。
4、I/O中断:是指中央处理器和通道协调工作的一种手段。通道借助I/O中断请求CPU进行干预,CPU根据产生的I/O中断事件了解输入输出操作的执行情况,I/O中断事件是由于通道程序的执行或其他外界原因引起的,对通道操作而言,当操作正常结束或异常结束(如设备故障、设备特殊情况引起异常结束)形成I/O中断,由CPU根据相应情况分别处理。
六、虚拟设备SPOOL系统( 领会 )
1、实现 虚拟设备 的目的:用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。
2、实现虚拟设备的 硬件条件 :大容量磁盘;中断装置和通道;中央处理器与通道并行工作的能力。(另外,实现虚拟设备的软件条件是要求操作系统采用多道程序设计技术。)
3、虚拟设备的实现原理:对于多道程序,输入时将一批作业的信息通过输入设备预先传送到磁盘上。输出时将作业产生的结果也全部暂时存在磁盘上而不直接输出,直到一个作业得到全部结果而执行结束时再行输出。(就是用磁盘来模拟输入机和打印机的工作,把它们的工作内容先保存起来,然后一并执行)
4、SPOOL系统的组成和实现:
井:为实现虚拟设备在磁盘上划出的专用存储空间,用于存放作业的初始信息和执行结果。
SPOOL系统由三部分程序组成:
预输入程序 .通过该程序把作业流中每个作业的初始信息传送到“输入井”保存起来以以备作业执行时使用。
井管理程序 :通过该程序来保证作业正确及时地从“井”中读取或写入信息。它使得每个用户感觉到自己都在使用独立的输入输出设备。
缓输出程序 .它负责查看“输出井”中是否有待输出的结果信息,若有则启动打印机把作业结果输出。
为什么可以提高效率?简单地说就是这么几件事:并行工作、代替操作、同时进行。
一个技术创新可以提高多少效率啊。
5、实现虚拟设备为什么可以提高系统效率:
SPOOL系统借助硬件的中断装置和通道技术使得中央处理器与各种外围设备以及各外围设备之间均可 并行工作。操作系统采用多道程序设计技术,合理分配处理器,实现联机的外围设备同时操作。
作业执行时从磁盘上读写信息来 代替 从输入机和打印机的读写 操作 ,不仅使多个作业可以同时执行,而且加快了作业的执行速度,提高了单位时间内处理作业的能力。在作业执行的 同时 还可利用输入机继续预输入作业信息和利用打印机输出结果,于是,整个系统可以是第一批作业的执行结果在打印输出,第二批作业正在处理,第三批作业信息正在预输入到磁盘的“输入井”中。
这种联机 同时操作 极大地提高了独占设备的利用率,也使计算机系统的各种资源被充分利用。