当前位置:
文档之家› 计算机操作系统教程--核心与设计原理习题7答案
计算机操作系统教程--核心与设计原理习题7答案
解 1)根据页面走向,使用最优置换算法时,页面置换情况如下:
页面 走向 4
32143523215
1
4
444
52
5
2
333
33
3
3
21
11
1
缺页 Y Y Y Y
YY
Y
缺页率为 7/12。
页面 走向 4
32143523215
1
4 444
5
2
333
3
3
22
2
4
1
1
缺页 Y Y Y Y
Y
缺页率为 5/12。
6、在某系统中,采用固定分区分配方式,内存分区(单位:字节)情况如下图左所示。现 有大小为 4KB、18KB、50KB、85KB 的多个作业要求进入内存,试画出它们进入内存后的 空间分配情况,并说明主存浪费有多大。 解:从图中可以看出该系统共有 4 个分区,第一个分区的大小为 10KB,第二个分区的大小 为 30KB,第三个分区的大小为 80KB,第四个分区的大小为 100KB。作业进入系统后的情 况如下图右所示。
节;而页面大小为 200 个字节,数组占用 25 页。即 a[0][0],a[0][1],…,a[0][49],a[1][0],a[1][1],…,a[1][49]
占用一页
a[2][0],a[2][1],…,a[2][49],a[3][0],a[3][1],…,a[3][49] 占用一页
…
a[48][0],a[48][1],…,a[48][49],a[49][0],a[49][1],…,a[49][49] 占用一页 初始化数组是按行进行的,即第一页初始化完成进行第二页,一直到最后一页,共计
缺页 Y Y Y Y
YY
Y
缺页率为 7/12
由上述结果可以看出,增加物理块数,可以降低缺页率。
17、下面的引用串:1、2、3、4、1、2、5、1、2、3、4、5, 对范围从 1~6 的页框,使用 FIFO 页面置换算法,确定其产生的缺页数目。画图表示缺页次数和页框数的关系,以说明 Belady 异常。 解
10、简述虚拟存储器的工作原理。 解:将作业放在磁盘上,当作业装入的时候,只装入部分作业,在作业的执行过程中,当需 要访问的信息不在内存,在通过请求调页功能或请求调段功能把需要的信息调入内存。
11、一个 32 位地址的计算机使用两级页表。虚拟地址被分成 9 位的顶级页表域,11 位的二 级页表域和一个偏移量。页面大小是多少?在地址空间中一共有多少个页面? 解:页面大小为 212=4KB,地址空间中一共可以使用的页面是 220个。
1、存储管理的主要功能是什么? 解 内存分配、存储保护、地址变换、存储共享、存储扩充
2、什么是地址空间、存储空间、逻辑地址、物理地址 ? 解:1)地址空间:一个程序可以访问的地址是有限的,这个程序可以访问的地址范围我们 称为地址空间,或者说是指程序用来访问信息所用的地址单元的集合。 2)存储空间:所谓存储空间是指能够访问的主存的范围。一个数据在主存中的位置称为物 理地址或绝对地址。 3)逻辑地址:地址空间单元的编号。 4)物理地址:存储空间单元的编号。
内存中有 8 个存储块,由于分页系统中物理块的大小和逻辑页的大小相同,所以内存空 间为 8K。
9、试述分页系统和分段系统的主要区别。 解:分页存储管理和分段存储管理的有很多相似之处,也有很多不同,它们的主要区别如下: (1) 页是信息的物理单位,分页的主要目的是减少内存的外碎片,提高内存的利用率。
分页是由于系统管理员的需求,而不是用户的需求。段是信息的逻辑单位,分段的目的 是为了程序的完整性,使为了满足用户的需求。 (2) 页的大小是固定的,取决于系统,有系统自动把地址分成页号和块号。段的长度是 不固定的,并且可以不断变化。 (3) 分页的地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符就 可以标识一个地址;分段的地址空间是二维的,程序员在标识一个地址时,即要给出段 名,又要给出段内地址。
3、采用可变式分区存储管理时,能否实现虚拟存储,为什么? 解:不能。可变式分区方式虽然分成程序的大小可以变化,但是要求整个程序都装入内存才 能运行,这样无法进行逻辑上扩充内存。
4、可变分区管理有哪几种存储分配算法? 解:1)首次适应算法(First-Fit)。这种策略总是从链表的开头开始查找。一旦找到了足够 大的、能满足给定的请求的第一个空闲分区,就停止查找。 2)下次适应算法(Next-Fit)。又称为循环首次适应算法。对首次适应算法的一个简单改动 就是每次要从上次查找停止的位置开始查找,也就是前次分配后的空闲分区。 3)最佳适应算法(Best-Fit)。这种策略的直观想法是,总是给内存请求者分配最适合它大 小的空闲分区,提高内存的利用率。
25 页,所以产生 25 次缺页中断。
15、常用的页面置换算法有哪些? 解 1)最优置换算法
当发生缺页时,当前内存中的这几页中,有的页可能以后再也不用了,那么把这个页置 换出去是最好的,如果当前内存中的几页都要使用,那么就选择一个最后用到的页并把它置 换出去。 2)先进先出置换算法
当发生页面置换时,总是选择当前系统中最早进入内存的那一页并把它置换出去。 3)最近最久未用置换算法
动的原因有: 1) 分配的物理块太少; 2) 调度算法选择不当
7、简述页式存储管理的基本原理及地址转换过程。 解:分页存储管理的原理是:把作业分成大小相的的部分,称为页;把内存分成大小与页的 大小相同的分区,称为块。在进行内存分配时,以块为单位,使得作业的多个页可以离散地 存放在内存中。 地址转换过程参见教材中图 7.8。
8、设有一页式存储管理系统,向用户提供的逻辑地址空间最大为 32 页,每页 1024 字节, 内存共有 8 个存储块,试问逻辑地址至少应为多少位?内存空间有多大? 解:每页 1024 字节,即 210,所以页内偏移量占 10 位,逻辑地址空间最大为 32 页,所以 页号部分占用 5 位,因此,逻辑地址应为 15 位。
5、什么是地址重定位?有哪几种常用的地址重定位方法? 解:由于将作业装入到与其地址空间不一致的存储空间所引起的对有关地址部分的调整过程 称为地址重定位。
常用的重定位方法有两种,静态重定位和动态重定位。静态重定位是指在程序运行之前 由链接装入程序进行的重定位。动态重定位是在程序运行过程中,通过重定位寄存器来进行 地址转换。
当发生缺页时,系统会选择当前内存页面中没有被使用时间最久的那一页,即最少使用 的那一页,并将它置换出去。
16、在一个请求分页存储管理系统中,一个作业的页面走向是 4、3、2、1、4、3、5、2、3、 2、1、5,当分配给该作业的物理块数分别为 3、4 时,试计算采用下述页面淘汰算法时的缺
页率(假设开始时内存中没有页面),并比较所得结果。 1) 最优页面置换算法 2) 先进先出置换算法 3) 最近最少使用置换算法
000010 1011000101,即第二页,存放在第四个物理块中,所以得到的物理地址是
000100 1011000101,即 12C5H。
逻辑地址 1AC5H 转换成二进制为 000110 1011000101,即页号为 6,从页表中可以
看出:第六页还没有调入内存,这时产生一个缺页。
14、有一请求分页存储管理系统,页面大小为每页 200 字节,有一个 50×50 的整型数组按 行连续存放,每个整数占 2 个字节,将数组初始化为 0 的程序描述如下:
int a[50][50]
int i,j;
for(i=0;i<50;i++)
for(j=0;j<50;j++)
a[i][j]=0; 若在程序执行时,内存中只有一个存储块用来存放数组信息,试问该程序执行时产生多少次
缺页中断。
解:由题目可知,该数组中有 2500 个整数,每个整数占 2 个字节,共需存储空间 5000 个字
234512
缺页 Y Y Y Y
YYYYYY
缺页 10 次
页面 1 2 3 4 1 2 5 1 2 3 4 5
走向
1 1234
5
2
123
4
3
12
3
4
1
2
5
1
缺页 Y Y Y Y
Y
பைடு நூலகம்
缺页 5 次
页面 走向 1 2 3 4 1 2 5 1 2 3 4 5
1 1234
5
2
123
4
3
12
3
4
1
2
5
1
6
缺页 Y Y Y Y
Y
缺页 5 次
18、在虚拟页式存储管理中,影响缺页率的因素有哪些? 解 1)分配给进程的物理块数。 2)页面大小 3)程序本身结构 4)页面淘汰算法的选择
19、什么是虚拟页式存储管理中的抖动问题,造成抖动问题的因素有哪些? 在虚拟页式存储管理的页面置换算时,如果频繁的发生缺页中断称为系统抖动。造成抖
页面 走向 1 2 3 4 1 2 5 1 2 3 4 5
1 123412312345 缺页 Y Y Y Y Y Y Y Y Y Y Y Y 缺页 12 次 页面 走向 1 2 3 4 1 2 5 1 2 3 4 5
1 123412512345
2
12341251234
缺页 Y Y Y Y Y Y Y Y Y Y Y Y
0KB 30KB 40KB
70KB
操作系统
0KB
30KB 40KB 70KB
4Kb 的作业
18KB 的作业 50KB 的作业
150KB
150KB
256KB
85KB 的作业
256KB
从上图右可以看出,作业进入系统后,第一分区剩余空间为 6KB,第二分区剩余空间 为 12KB,第三分区的剩余空间为 30KB,第四分区剩余的空间为 21KB。主存共浪费 69KB。