一、名词解释
1.地址映射
把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为地址重定位。
2.动态重定位
地址变换过程在程序执行期间,随着对每条指令或数据的访问自动进行的,称为动态重定位。
3.虚拟存储器
具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
4.静态链接
事先进行链接而以后不再拆开的链接方式。
5.对换
把内存中暂时不能运行的进程或者暂时不用的程序和数据换出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据换入内存。
二、选择题
1.静态重定位是在作业的(装入过程)中进行的,动态重定位是在作业(执行过程)中进行的。
A,B:(1)编译过程;(2)装入过程;(3)修改过程;(4)执行过程。
2.在动态分区式内存管理中,倾向于优先使用低址部分空闲区的算法是(首次适应算法);能使内存空间中空闲区分布得比较均匀的算法是(循环首次适应算法);每次分配时,把既能满足要求,又是最小的空闲区分配给进程的算法是(最佳适应算法)。
A,B,C:(1)最佳适应算法;(2)最坏适应算法;(3)首次适应算法;(4)循环首次适应算法。
**必考!!3.在回收内存时可能出现下述几种情况:(1)释放区与插入点前一分区F1相邻接,此时应(以F1分区的表项作为新表项,并修改新表项的大小);(2)释放区与插入点后一分区F2相邻接,此时应(以F2分区的表项作为新表项,同时修改新表项的大小和起始地址);(3)释放区不与F1和F2相邻接,此时应(为回收区建立一个分区表项,填上分区的大小和起始地址)。
4.下述存储管理方式中,会产生内部碎片的是(分页式,段页式),会产生外部碎片的是(分段式,可变分区)。
A,B:(1)分段式;(2)分页式;(3)段页式;(4)固定分区;(5)可变分区。
5.在请求调页系统中有着多种置换算法:(1)选择最先进入内存的页面予以淘汰的算法称为(FIFO);(2)选择在以后不再使用的页面予以淘汰的算法称为(OPT);选择自上次访问以来所经历时间最长的页面予以淘汰的算法称为(LRU);(4)选择自某时刻开始以来访问次数最少的页面予以淘汰的算法称为(LFU)。
A,B,C,D:(1)FIFO算法;(2)OPT算法;(3)LRU算法;(4)NRU算法;(5)LFU算法。
三、填空题
1.程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换,也称为(静态重定位)。
2.程序的装入方式包括(绝对)、(可重定位)和(动态运行时)三种。
3.程序的链接方式包括(静态)、(装入时动态)和(运行时动态)三种。
4.单一连续分配内存的基本思想是将内存分为(系统区)和(用户区)两部分。
5.在分区管理方式中,空闲分区的管理所使用的数据结构包括(空闲分区表)和(空闲分区链)。
6.将系统中所有空闲的小分区集中起来形成一个大分区的过程称为(拼凑)。
7.分页管理地址中的地址结构包括(页号)和(页内地址)两部分。
8.分段存储管理的逻辑地址由(段号)和(段内地址)两部分组成。
9.比较分页与分段管理,页的大小是(固定)的,由(系统)决定,而段的大小是(不固定)的,由(用户)决定。
10.虚拟存储器的主要特征包括多次性、(对换性)和(虚拟性)。
四、判断题
1.(F)即使在多道程序设计的环境下,用户也能设计用物理地址直接访问内存的程序。
2.(T)内存分配最基本的任务是为每道程序分配内存空间,其所追求的主要目标是提高存储空间的利用率。
3.(F)虚拟存储器是物理上扩充内存容量。
4.(T)在非虚拟存储器中,要求作业在运行前必须全部装入内存,且在运行过程中也必须一直驻留内存。
5.(F)在请求段页式系统中,以页为单位管理用户的虚空间,以段为单位管理内存空间。
6.(T)在请求分段存储管理中,分段的尺寸受内存空间的限制,但作业的总的尺寸不受内存空间的限制。
7.(F)虚拟性是虚拟存储器最重要的特征。
8.(T)产生时间局部性的典型原因是程序中存在着大量的循环操作。
9.(F)在分页式存储管理和分段式存储管理中,分页的地址空间是一维的,分段的地址空间也是一维的。
10.(T)与分页系统相比,分段系统更容易实现信息的共享。
五、问答题
1. 影响内存利用率的因素有哪些?可以通过什么样的途径提高内存利用率?
因素有碎片多和页表庞大。碎片多的解决方法是实行分页管理,页表庞大的解决方法是适当增加页面尺寸。
2. 某系统采用动态分配方式管理内存,内存空间为640K,高端40K用来存放操作系统,内存分配时系统优先使用空闲区低端的空间。对下列请求序列:作业1申请130K,作业2申请60K,作业3申请100K,作业2释放60K,作业4申请200K,作业3释放100K,作业1释放130K,作业5申请140K,作业6申请60K,作业7申请50K,作业6释放60K。请分别画图,表示出使用首次适应算法和最佳适应算法进行内存和分配回收后内存的使用实际情况。
动作 |
首次适应算法 |
最佳适应算法 |
||
已分配分区(作业,始址,大小) |
空闲分区(始址,大小) |
已分配分区(作业,始址,大小) |
空闲分区(始址,大小) |
|
作业1申请130K |
1,0,130 |
130,470 |
1,0,130 |
130,470 |
作业2申请60K |
1,0,130 2,130,60 |
190,410 |
1,0,130 2,130,60 |
190,410 |
作业3申请100K |
1,0,130 2,130,60 3,190,100 |
290,310 |
1,0,130 2,130,60 3,190,100 |
290,310 |
作业2释放60K |
1,0,130 3,190,100 |
130,60 290,310 |
1,0,130 3,190,100 |
130,60 290,310 |
作业4申请200K |
1,0,130 3,190,100 4,290,200 |
130,60 490,110 |
1,0,130 3,190,100 4,290,200 |
130,60 490,110 |
作业3释放100K |
1,0,130 4,290,200 |
130,160 490,110 |
1,0,130 4,290,200 |
130,160 490,110 |
作业1释放130K |
4,290,200 |
0,290 490,110 |
4,290,200 |
0,290 490,110 |
作业5申请140K |
4,290,200 5,0,140 |
140,150 490,110 |
4,290,200 5,0,140 |
140,150 490,110 |
作业6申请60K |
4,290,200 5,0,140 6,140,60 |
200,90 490,110 |
4,290,200 5,0,140 6,490,60 |
140,150 550,50 |
作业7申请50K |
4,290,200 5,0,140 6,140,60 7,200,50 |
250,40 490,110 |
4,290,200 5,0,140 6,490,60 7,550,50 |
140,150
|
作业6释放60K |
4,290,200 5,0,140 7,200,50 |
140,60 250,40 490,110 |
4,290,200 5,0,140 7,550,50 |
140,150 490,60
|
3. 在一个请求分页系统中,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,目前它还没有任何页面装入内存,当分配给该作业的物理块数分别为3,4时,请分别计算采用LRU和FIFO页面淘汰算法时,访问过程中所发生的缺页次数和缺页率,并比较所得结果。
M=3时,采用LRU替换算法
4 3 2 1 4 3 5 4 3 2 1 5
4 4 4 3 2 1 4 3 5 4 3 2
3 3 2 1 4 3 5 4 3 2 1
2 1 4 3 5 4 3 2 1 5
缺页次数为10次,缺页率为(10/12)*100%=83%
M=3时,采用FIFO替换算法
4 3 2 1 4 3 5 4 3 2 1 5
4 4 4 3 2 1 4 4 4 3 5 5
3 3 2 1 4 3 3 3 5 2 2
2 1 4 3 5 5 5 2 1 1
缺页次数为9次,缺页率为(9/12)*100%=75%
M=4时,采用LRU替换算法
4 3 2 1 4 3 5 4 3 2 1 5
4 4 4 4 3 2 1 1 1 5 4 3
3 3 3 2 1 4 3 5 4 3 2
2 2 1 4 3 5 4 3 2 1
1 4 3 5 4 3 2 1 5
缺页次数为8次,缺页率为(8/12)*100%=67%
M=4时,采用FIFO替换算法
4 3 2 1 4 3 5 4 3 2 1 5
4 4 4 4 4 4 3 2 1 5 4 3
3 3 3 3 3 2 1 5 4 3 2
2 2 2 2 1 5 4 3 2 1
1 1 1 5 4 3 2 1 5
缺页次数为10次,缺页率为(10/12)*100%=83%
通过以上对缺页次数和缺页率的计算可以看出,对于LRU算法,增加物理块数可以减少缺页次数,降低缺页率;对于FIFO算法,增加物理块数不一定能减少缺页次数。
4. 什么是虚拟存储器?如何实现页式虚拟存储器?
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
实现页式虚拟存储器的硬件支持:请求分页的页表机制;缺页中断机构;地址变换机构。软件支持:用于实现请求调页的软件和实现页面置换的软件。