《操作系统教程》(第三版)CH4应用题参考答案
答:虚拟存储器实际是一种存储扩充技术。它把作业程序存放在辅助存储器里,运行时只装入程序的一部分。遇到不在内存的程序时,再把所需要的部分装入。这样在内存和辅存之间调入、调出的做法,使用户的作业地址空间无需顾及内存的大小。给用户造成的印象是,无论程序有多大,它在这个系统上都可以运行。这种以辅助存储器作为后援的虚幻存储器,就称为虚拟存储器。虚拟存储器的大小是由系统的地址结构确定的。
5.为什么请求分页式存储管理能够向用户提供虚拟存储器?
答:请求分页式存储管理的基本思想是:操作系统按照存储块的尺寸,把用户作业地址空间划分成页,全部存放在磁盘上。作业运行时,只先装入若干页。运行过程中遇到不在内存的页时,操作系统就把它从磁盘调入内存。这样一来,用户的作业地址空间无需顾及内存的大小。这与虚拟存储器的思想是完全吻合的。所以,请求分页式存储管理能够向用户提供虚拟存储器。 6.在请求分页式存储管理中,为什么既有页表,又有快表?
答:在分页式或请求页式存储管理中,通常是利用内存储器构成页表的。当CPU执行到某条指令、要对内存中的某一地址访问时,因为这个地址是相对地址,所以先要根据这个地址所在的页号去查页表(访问一次内存),然后才能由所形成的绝对地址去真正执行指令(第二次访问内存)。可见,由于页表在内存,降低了CPU的访问速度。
为了提高相对地址到绝对地址的变换速度,人们想到用一组快速寄存器来代替页表。这时查页表是以并行的方式进行,立即就能输出与该页号匹配的块号,这样做无疑比内存式的页表要快得多。但是,快速寄存器的价格昂贵,由它来组成整个页表是不可取的。考虑到程序运行时具有局部性,因此实际系统中总是一方面采用内存页表、另一方面用极少几个快速寄存器组成快表来共同完成地址的变换工作。这时的地址变换过程,如教材中的图3-22所示。 7.试述缺页中断与页面淘汰之间的关系。
答:在请求页式存储管理中,当根据虚拟地址查页表而发现所要访问的页不在内存时,就会产生缺页中断。系统响应中断后,就由操作系统到辅存把所需要的页读入内存。这时,内存可能有空闲的块,也可能没有。只有当内存中没有空闲块时,才会出现将内存现有页面淘汰出去的问题,即要进行页面淘汰。所以,缺页中断和页面淘汰之间的关系是:页面淘汰一定是由缺页中断所引起;但缺页中断则不一定引起页面淘汰。 8.试述缺页中断与一般中断的区别。
答:在计算机系统中,由于某些事件的出现,打断了当前程序的运行,而使CPU去处理出现的事件,这称为“中断”。通常,计算机的硬件结构都是在执行完一条指令后,去检查有无中断事件发生的。如果有,那么就暂停当前程序的运行,而让CPU去执行操作系统的中断处理程序,这叫“中断响应”。CPU在处理完中断后,如果不需要对CPU重新进行分配,那么就返回被中断进程的程序继续运行;如果需要进行CPU的重新分配,那么操作系统就会去调度新进程。
由上面的讲述可以看出,缺页中断与一般中断的区别如下。
(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。
(2)处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了,或重新调度,去执行别的进程程序。
9.怎样理解把相对地址划分成数对:(页号,页内位移)的过程对于用户是“透明”的?
11
《操作系统教程》(第三版)CH4应用题参考答案
答:在操作系统中,所谓“透明”,即指用户不知道的意思。对于分页式存储管理来说,用户向系统提供的相对地址空间,是一个一维的连续空间。系统接受了这个作业后,在内部把这个相对地址空间划分成若干页。由于这种划分对于用户来说是根本不知道的,所以说把相对地址划分成数对:(页号,页内位移)的过程对于用户是“透明”的。
10.做一个综述,说明从单一连续区存储管理到固定分区存储管理,到可变分区存储管理,到分页式存储管理,再到请求分页式存储管理,每一种存储管理的出现,都是在原有基础上的发展和提高。 答:教材共介绍了5种存储管理策略,它们适用于不同的场合,如图3-9所示。图中,在单一连续分区存储管理与固定分区存储管理之间画了一条线,那表明位于线以上的存储管理策略只适用于单道程序设计,以下的适用于多道程序设计;在可变分区存储管理与分页式存储管理之间画了一条线,那表明位于线以上的存储管理策略都要求为进入内存的作业分配一个连续的存储区,以下的存储管理策略打破了连续性的要求;在分页式存储管理与请求页式存储管理之间画了一条线,那表明位于线以上的存储管理策
请求页式存储管理 部分 图3-9 各种存储管理策略的适用场合
单道 单一连续分区存储管理 固定分区存储管理 多道 连续 可变分区存储管理 分页式存储管理 不连续 全部 略都要求使作业程序全部进入内存,而以下的存储管理策略打破了全部的要求,只要部分装入内存就可以了。
由此可见,每一种存储管理的出现,都是在原有存储管理基础上的一次发展和提高。它们从简单到复杂,从不完善到逐渐完善。
四、计算
1.在可变分区存储管理中,按地址法组织当前的空闲分区,其大小分别为:10KB,4KB,20KB,18KB,7KB,9KB,12KB和15KB。现在依次有3个存储请求为:12KB,10KB,9KB。试问使用最先适应算法时的分配情形如何?那么最佳适应、最坏适应呢? 解:我们用表来说明实行各种分配算法时的情形。 (1)最先适应算法 请求队列 初始 12K 10K 9K
(2)最佳适应算法 请求队列 初始
10K 4K 20K 最佳适应算法 18K 12
7K 9K 12K 15K 10K 10K 0 0 4K 4K 4K 4K 20K 8K 8K 8K 最先适应算法 18K 18K 18K 9K 7K 7K 7K 7K 9K 9K 9K 9K 12K 12K 12K 12K 15K 15K 15K 15K 《操作系统教程》(第三版)CH4应用题参考答案
12K 10K 9K
10K 0 0 4K 4K 4K 20K 20K 20K 18K 18K 18K 7K 7K 7K 9K 9K 0 0 0 0 15K 15K 15K (3)最坏适应算法 请求队列 初始 12K 10K 9K
可见,分配算法不同,选择的分配对象也不一样。
2.系统内存被划分成8块,每块4KB。某作业的虚拟地址空间共划分成16个页面。当前在内存的页与内存块的对应关系如下表所示,未列出的页表示不在内存。 页 号 0 1 2 3
试指出对应于下列虚拟地址的绝对地址: (a)20
(b)4100 (c)8300
块 号 2 1 6 0 页 号 4 5 9 11 块 号 4 3 5 7 10K 10K 10K 10K 4K 4K 4K 4K 20K 8K 8K 8K 最坏适应算法 18K 18K 8K 8K 7K 7K 7K 7K 9K 9K 9K 9K 12K 12K 12K 12K 15K 15K 15K 6K 解:(a)虚拟地址20对应的页号是0,页内位移是20。用0去查页表,知道第0页现在存放在内存的第2块。由于每块的长度是4KB,所以第2块的起始地址为8192。因此,虚拟地址20所对应的绝对地址是: 8192+20=8212
(b)虚拟地址4100对应的页号是: 4100/4096=1(“/”是整除运算符) 对应的页内位移是:
4100@96=4(“%”是求余运算符)
用1去查页表,知道第1页现在存放在内存的第1块。第1块的起始地址为4096。因此,虚拟地址4100所对应的绝对地址是: 4096+4=4100
13
《操作系统教程》(第三版)CH4应用题参考答案
(c)虚拟地址8300对应的页号是: 8300/4096=2(“/”是整除运算符) 对应的页内位移是:
8300@96=108(“%”是求余运算符)
用2去查页表,知道第2页现在存放在内存的第6块。第6块的起始地址为 6×4K=24576
6 页面走向→ 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 因此,虚拟地址8300所对应的绝对地址是 2个内存块→ 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 24576+108=24684 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 缺页计数→ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 3.某请求分页式存储管理系统,接收一个共7 √页的作业。作业运行时的页面走向如下: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 页面走向→ 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 若采用最近最久未用(LRU)页面淘汰算法,作业在得到2块和4块内存空间时,各会产生出多少次缺页 6 页面走向→ 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 中断?如果采用先进先出(FIFO)页面淘汰算法时,结果又如何? 6 6 1 1 1 2 3 3 1 2 2 3 3 4 4 2 2 1 1 5 5 6 6 2 2 1 1 2 3 3 7 7 3 3 2 2 6 4个内存块个内存块→ 2 LRU )页面淘汰算法,作业在得到1 3 2 4 3 2 4 1 2 1 5 2 6 6 3 7 6 2 3 1 2 5 6 2 1 22 3 3 2 1 2 3 3 7 6 解:(1)采用最近最久未用(块内存空间时所产生的缺页中断次数为1 1 3 4 2 1 5 5 6 1 2 2 7 6 6 6 1 缺页计数→ √ √ √ 4√ √ √ √ √ √ √ √ √ √ √ √10 √ √ √ (b)所示。18次,如图3-10(a)所示;在得到块内存空间时所产生的缺页中断次数为次,如图3-10
缺页计数→ √ √ √ √ √ (a) 2√ 块时的FIFO √ √√ √ (b) 4块时的LUR 页面走向→ 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
(a) 2块时的LRU 4个内存块→ 1 2 2 2 3 4 5 6 6 2 1 3 3 7 6 6 2 2 (2)采用先进先出(FIFO)页面淘汰算法,作业在得到2块内存空间时所产生的缺页中断次数为18次,
1 2 3 4 图4 3-10 4 5 LRU6 2 时的情形1 1 3 7 6 6 2 1 1 3 3 1 2 3 3 3 4 5 6 2 2 1 3 7 7 6 2 2 1 1 如图3-11(a)所示;在得到4块内存空间时所产生的缺页中断次数为14次,如图3-11(b)所示。
缺页计数→ √ √ √ √ √ √ √ √ √ √ √ √ √ (b) 4块时的FIFO 1 1 1 2 3 4 5 5 6 2 1 1 3 7 7 6 6
图3-11 FIFO时的情形
关于先进先出(FIFO)页面淘汰算法,在给予作业更多的内存块时,缺页中断次数有可能上升,这是所谓的异常现象。但要注意,并不是在任何情况下都会出现异常。是否出现异常,取决于页面的走向。本题所给的页面走向,在FIFO页面淘汰算法下,并没有引起异常:2块时缺页中断次数为18次,4块时缺页中断次数为14次。
14
《操作系统教程》(第三版)CH4应用题参考答案
CH3 第4章
一、填空
1.磁带、磁盘这样的存储设备都是以 块 为单位与内存进行信息交换的。
2.根据用户作业发出的磁盘I/O请求的柱面位置,来决定请求执行顺序的调度,被称为 移臂 调度。 3.DMA控制器在获得总线控制权的情况下能直接与 内存储器 进行数据交换,无需CPU介入。 4.在DMA方式下,设备与内存储器之间进行的是 成批 数据传输。 5.通道程序是由 通道 执行的。
6.通道是一个独立与CPU的、专门用来管理 输入/输出操作 的处理机。
7.缓冲的实现有两种方法:一种是采用专门硬件寄存器的硬件缓冲,一种是在内存储器里开辟一个区域,作为专用的I/O缓冲区,称为 软件缓冲 。
8.设备管理中使用的数据结构有系统设备表(SDT)和 设备控制块(DCB) 。 9.基于设备的分配特性,可以把系统中的设备分为独享、共享和 虚拟 三种类型。 10.引起中断发生的事件称为 中断源 二、选择题
1.在对磁盘进行读/写操作时,下面给出的参数中, C 是不正确的。
A. 柱面号
B.磁头号
C.盘面号
D.扇区号
2.在设备管理中,是由 B 完成真正的I/O操作的。
A.输入/输出管理程序 C.中断处理程序
B.设备驱动程序 D.设备启动程序
3.在下列磁盘调度算法中,只有 D 考虑I/O请求到达的先后次序。
A.最短查找时间优先调度算法 C.单向扫描调度算法
B.电梯调度算法 D.先来先服务调度算法
4.下面所列的内容里, C 不是DMA方式传输数据的特点。
A.直接与内存交换数据 C.与CPU并行工作
B.成批交换数据 D.快速传输数据
5.在CPU启动通道后,由 A 执行通道程序,完成CPU所交给的I/O任务。
A. 通道
B.CPU
C.设备
D.设备控制器
6.利用SPOOL技术实现虚拟设备的目的是 A 。
A.把独享的设备变为可以共享 C.便于对独享设备的管理
7.通常,缓冲池位于 C 中。
A.设备控制器 B.辅助存储器
8. B 是直接存取的存储设备。
A.磁带
B.磁盘
C.打印机
D.键盘显示终端
C.主存储器
D.寄存器
B.便于独享设备的分配
D.便于独享设备与CPU并行工作
9.SPOOLING系统提高了 A 的利用率。
A.独享设备
B.辅助存储器
C.共享设备
D.主存储器
15