设备管理是指操作系统对除CPU和内存之外所有设备的管理。

设备的分配

  1. 静态分配:

    用户在作业开始执行前,由系统一次分配该作业所需要的全部设备、控制器和通道。一旦分配,这些设备、控制器和通道就一直为该作业所占用,知道该作业被撤销。

    不会出现死锁现象,但是效率低。

  2. 动态分配:

    在进程执行过程中根据需要进行动态分配所需设备、I/O控制器和通道,用完之后,立即释放资源。

    有利于提高设备的利用率,但是如果分配算法使用不当,可能会造成进程死锁。

    常用的分配策略:先请求先分配;优先级高着先分配

磁盘调度算法

访问磁盘的时间因子:查找时间、等待时间、数据传输时间,其中查找时间是决定因子

考题

(1)假设磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为 _____ ;若对信息存储进行优化分布后,处理10个记录的最少时间为 _____ 。(204ms;60ms

注:

一条记录的时间 = 磁盘旋转的速度 / 记录总数 (20/10=2ms)

读取记录R1需要2ms,处理记录R1需要4ms,则处理R1共需要6ms

在读取并处理R1的过程中,磁头已经转到R4开始处,为了读取R2,必须再转8个记录。因此R2需要2*8+2+4=22ms

so处理10个记录需要(2+4)+9*22=204ms

最短情况为60ms

物理块 1 2 3 4 5 6 7 8 9 10
逻辑记录 R1 R8 R5 R2 R9 R6 R3 R10 R7 R4

(2)某磁盘盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区。假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占用 _____ 个字节空间。(2000

注:

10 * 100 * 16 = 16000个扇区

一个字节是8bit

so,16000 / 8 = 2000

虚拟设备和Spooling技术

Spooling的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,采用一组程序或进程模拟一台输入/输出处理器。

Spooling技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速设备上。

Spooling系统必须有高速、大容量并且可随机存取的外存(磁盘或磁鼓)支持。

考题

(1)一台PC计算机系统启动时,首先执行的是 _____ ,然后加载_____ 。在设备管理中,虚拟设备的引入和实现是为了充分利用设备,提高系统效率,采用 _____ 来模拟低速设备(输入设备或打印机)的工作。(答案:BIOS引导程序; 主引导记录和引导驱动器的分区表,并执行主引导记录; Spooling技术,利用磁盘设备)

(2)由于内存大小有限,为使得一个或多个作业能在系统中运行,常需要外存来换取内存。其中以作业为单位对内外存进行交换的技术成为 _____ 技术,在作业内部对内外存进行交换的技术称为 _____ 技术。用外存换内存是以牺牲程序运行时间为代价的。为提高CPU的有效利用率,避免内外存的频繁交换, _____ 技术常用某种 _____ 来选择换出内存的页面,它的基础是程序 _____ 。据此,操作系统可根据 _____ 来改善系统的性能, _____ 是一个进程在定长的执行时间内涉及到页面的集合。(答案:Swapping;虚拟存储;虚拟存储;页面淘汰策略;局部性;工作集;工作集)

注:

在作业内部以“页”或“段”为单位进行部分信息的调入调出,这就是虚拟存储技术

虚拟存储技术需要选择合适页面置换算法,即页面淘汰策略

工作集是指进程运行时被频繁访问的页面集合