一、单项选择题
1、存储管理的目的是( C) 。
A、方便用户 B、提高主存空间利用率
C、方便用户和提高主存利用率 D、增加主存实际容量
对内存(主存)的管理:存储器管理
对外存的管理:文件管理
2、存储器管理中,下列说法正确的是( B )
A、无论采用哪种存储管理方式,用户程序的逻辑地址均是连续的
B、地址映射需要有硬件支撑地址变换
C、段表和页表都是由用户根据进程情况而建立的
D、采用静态重定位可实现程序浮动
B:程序的装入过程实际上是将逻辑地址变为物理地址的过程,有三种装入方式:
(1)绝对装入方式:只适合单道程序,且需要知道内存的使用情况。
(2)可重定位装入方式:适合于多道程序环境,在进程装入时一次完成。
(3)动态运行时的装入方式:在程序真正运行的时候装入。
C:分页和分段的区别:
(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;
段是信息的逻辑单位,分页也是离散的分配方式,它含有一组意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
(2)页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
(3)分页的作业地址空间是一维的,即单一的线性空间;页表(页号、块号),取指令或数据需要两次访问内存。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。段表(段号,段长、基址),取指令或数据需要两次访问内存。
段页式:一个段分为若干个页:地址结构(段号,段内页号、页内地址),取指令或数据需要三次访问内存。
D:动态运行时的装入方式,允许程序在内存中的移动。
3、动态重定位是在作业的( B)中进行的。
A、编译过程 B、装入过程 C、修改过程 D、执行过程
程序的装入过程实际上是将逻辑地址变为物理地址的过程,有三种装入方式:
(1)绝对装入方式:只适合单道程序,且需要知道内存的使用情况。
(2)可重定位装入方式:适合于多道程序环境,在进程装入时一次完成。
(3)动态运行时的装入方式:在程序真正运行的时候装入。
4、(A)要求存储分配时具有连续性。
A、固定分区存储管理 B、页式存储管理
C、段式存储管理 D、段页式存储管理
(1)页式存储管理、段式存储管理、段页式存储管理都是采用离散的内存分配方式。
(2)连续分配存储管理方式:
a、单一连续分配:
系统区提供给OS使用,用户区仅装入一道用户程序的分配方式。
b、固定分区分配:
在内存中可以装入多道程序,且这些程序之间不会相互干扰,将用户空间划分为若干个固定大小的区域,每个分区装入一道作业。
划分分区时有两种划分方式:其中分区大小相等的分配方式缺乏灵活性,可以通过采用分区大小不等的分配方式来增加存储器分配的灵活性。
c、动态分区分配:
根据进程的实际需要,动态地为之分配内存空间
数据结构:空闲分区表、空闲分区链
分配算法:首次适应算法(FF)、循环首次适应算法(NF)、最佳适应算法(BF)、最坏适应算法(WF)
分配操作:分配内存、回收内存
5、( C )存储管理支持多道程序设计,算法简单,但内部碎片多。
A、段式 B、页式 C、固定分区 D、段页式
在内存中可以装入多道程序,且这些程序之间不会相互干扰,将用户空间划分为若干个固定大小的区域,每个分区装入一道作业。
划分分区时有两种划分方式:其中分区大小相等的分配方式缺乏灵活性,可以通过采用分区大小不等的分配方式来增加存储器分配的灵活性。
6、提高主存利用率主要是通过( A )实现的。
A、内存分配 B、内存保护 C、地址转换 D、内存扩充
7、动态分区管理方式按作业需求量分配主存分区,所以( D)。
A、分区的长度是固定
B、分区的个数是确定的
C、分区长度和个数都是确定
D、分区的长度不是预先固定的,分区的个数是不确定的
根据进程的实际需要,动态地为之分配内存空间
8、( A )存储管理不适合多道程序系统。
A、单一连续分配 B、固定分区 C、可变分区 D、段页式
系统区提供给OS使用,用户区仅装入一道用户程序的分配方式。
固定分区分配:
9、碎片现象的存在使( A)。
A、主存空间利用率降低 B、主存空间利用率提高
C、主存空间利用率得以改善 D、主存空间利用率不受影响
碎片的空间太小不能再利用了。
10、较好地解决了外部碎片问题的存储管理方法是(D)。
A、动态分区管理 B、段式存储管理
C、固定分区管理 D、页式存储管理
优点:由于这种内存分配方式不要求程序或进程的程序段和数据在内存中连续存放,消除了外部碎片,从而能在一定程度提高内存的利用率,又有利于组织多道程序执行。
缺点:易产生页内碎片
11、下列选项中,不会产生内部碎片问题的存储管理方法是(B)。
A、分页存储管理 B、分段存储管理
C、固定分区存储管理 D、段页式存储管理
段是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。段的长度却不固定, 决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。分段的大小是由用户所决定的,用户根据需要而划分,需要多少就分配多少,所以不会产生碎片。
碎片问题总结:
(1)分页:将进程分成若干个大小相等的页,所以进程最后一个页的空间不会被完全占满(因为无法保证进程大小正好整除页的大小),当被放入内存时,最后一页便产生了内部碎片。
由于这种内存分配方式不要求程序或进程的程序段和数据在内存中连续存放,消除了外部碎片,从而能在一定程度提高内存的利用率,又有利于组织多道程序执行。
(2)分段:当一个旧的进程退出内存,一个比它小的新的进程被分配到它原来占据的空间,因为无法占满,与下一个进程占据内存之间便产生了一段间隔,便是外部碎片,但是没有内部碎片。
(3)固定分区:由于分区大小固定,当程序小于分区的时候,会产生内部碎片。
(4)段页式:有内部碎片(由段内的页产生),无外部碎片
12、最佳适应分配算法把空闲区( C )。
A、按地址递增顺序登记在空闲区表中
B、按地址递减顺序登记在空闲区表个
C、按长度以递增顺序登记在空闲区表中
D、按长度以递减顺序登记在空闲区表
按地址递增顺序登记在空闲区表中:首次适应算法
按长度以递增顺序登记在空闲区表中 :最佳适应算法
按长度以递减顺序登记在空闲区表:最坏适应算法
13、某基于动态分区存储管理的计算机,其主存容量为 55MB(初始为空闲),采用最佳适配算法,分配和释放的顺序为:分配 15MB,分配 30MB,释放 15MB,分配 8MB,分配 6MB,此时主存中最大空闲分区的大小是(B)。
A、7MB B、9MB C、10MB D、15MB
在对8MB进行空间分配的时候突出了最佳适应算法的特点:总是把能满足要求的、又是最小的空闲分区分派给作业,所以选择10M的空闲分区,舍弃15M的空闲分区。
14、在未引入快表的分页存储管理时,每读写一个数据,要访问( B )主存。
A、1次 B、2次 C、3次 D、4次
分页:作业地址空间是一维的,即单一的线性空间;页表(页号、块号),取指令或数据需要两次访问内存(页表在内存中)。
分段:作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。段表(段号,段长、基址),取指令或数据需要两次访问内存。
段页式:一个段分为若干个页:地址结构(段号,段内页号、页内地址),取指令或数据需要三次访问内存。
15、动态分区存储管理的( D )总是按作业要求挑选一个最大的空闲区。
A、顺序分配算法 B、最先适应分配算法
C、最优适应分配算法 D、最坏适应分配算法
动态分区分配算法:
(1)首次适应算法:空闲分区以地址递增的顺序链接。
优点:保留了高址部分的大空闲区。
缺点:低址部分会产生内部碎片;每次查找都是从低址部分会增加查找空闲分区的开销。
(2)循环首次适应算法:
优点:减少查找空闲分区的开销;空闲分区分布的均匀。
缺点:缺乏大的空闲区域。
(3)最佳适应算法:容量递增
优点:查找速度快(已经递增排序);避免了“”大材小用“”
缺点:会产生难以满足用户需求的内部碎片
(4)最坏适应算法:容量递减
优点:减少了产生碎片的可能性;查找效率高(已经递减排序)
缺点:分割后空闲块仍然较大,空闲区递减排序,工作一段时间后,难以满足大作业的需要。
16、一个分段存储管理系统中,地址长度为 32 位,其中段号占 8 位,则最大段长是 ( C)。
A、28 B B、216B C、224B D、232B
地址结构:
分页:页号、位偏移量
分段:段号、段内地址
17、抖动是指( B )。
A、使用机器时,造成屏幕闪烁的现象
B、刚被调出的页面又立即被装入所形成的频繁装入\调出的现象
C、系统盘有问题,造成系统不稳定的现象
D、由于主存分配不当,偶然造成主存不够的现象
18、虚拟存储管理系统的基础是程序的( C )理论。
A、动态性 B、全局性
C、局部性 D、虚拟性
程序在执行时呈现出局部性规律,即在一段较短的时间内,程序的执行仅仅局限于某个部分,相应的,它所访问的存储空间也仅仅局限于某个部分。
19、在段式存储管理中,(C)。
A、段间绝对地址一定不连续
B、段间逻辑地址必定连续
C、以段为单位分配,每段分配一个连续主存区
D、每段是等长的
20、虚拟存储技术不能以( A )为基础。
A、分区存储管理 B、段式存储管理 C、页式存储管理 D、段页式存储管理
进程的大小仍然受分区大小或内存可用空间的限制,不能实现虚拟存储。
21、在动态分区存储管理中的拼接技术可以(A)。
A、集中空闲区 B、增加主存容量
C、缩短访问周期 D、加速地址转换
22、在分页系统环境下,程序员编制的程序,其地址空间是连续的,分页是由(D )完成的。
A、程序员 B、编译地址 C、用户 D、系统
23、下列关于虚拟存储器的叙述中,正确的是( B )。
A.虚拟存储只能基于连续分配技术 B.虚拟存储只能基于非连续分配技术
C.虚拟存储容量只受外存容量的限制 D.虚拟存储容量只受内存容量的限制
其逻辑容量受到内存容量加外存容量之和所决定。
24、请求分页系统中的页表项中,访问位供( D)时参考。
A、分配页面 B、调入页面 C、程序访问 D、选择换出页面
请求分页系统在页表中增加了四个字段:
状态位:是否被调入内存
访问位:被访问的次数
修改位:是否被修改,未被修改的话不需要将该页写回外存。
外存地址:通常是物理块号
25、请求分页系统中的页表项中,外存地址供(B)时参考。
A、分配页面 B、调入页面 C、程序访问 D、换出页面
外存地址能够获得物理块号,而程序在外存中,供调入该页时使用。
26、在段页式存储管理系统中,内存等分成( A ),程序按逻辑模块划分成若干( D )。
A、块 B、分区 C、段长 D、段
27、下述(A)页面淘汰算法会产生Belady现象。
A、先进先出 B、最近最少使用 C、最近最久未使用 D、最佳
28、考虑一个分页系统,其页表存放在内存。
(1)如果内存读写周期为1.0微秒,则CPU从内存取一条指令或一个操作数需时间为( )微秒。
(2)如果设立一个可存放8个页表项的快表,80%的地址变换可通过快表完成,内存平均存取时间为( )微秒。(假设快表访问时间可忽略)
A、 1.0 B、 1.1 C、 1.2 D、 2.0
二、计算题
1、在一分页存储管理系统中,某作业的逻辑地址空间为4页(页面大小为2048字节),且第0、1、2、3页依次存放在物理块2、4、6、7中,现有逻辑地址为4865和10020,将它们转换成物理地址。
分页存储管理的地址变换:
当进程要访问某个逻辑地址的数据时,分页地址变换机构会自动地将有效地址分为页号和页内地址两部分,将页号与页表长度比较,如果页号大于或等于页表长度则产生越界中断,如未越界,由页号可以得到块号,从而得到物理地址。
2、现有一个作业,在段式存储管理的系统中已为主存分配建立了如下表示的段表。
段号 |
段长 |
主存起始地址 |
0 |
680 |
1760 |
1 |
160 |
1000 |
2 |
200 |
1560 |
3 |
890 |
2800 |
计算该作业访问[0,550],[2,186],[1,300]和[3,655](方括号中第一个元素为段号,第二个元素为段内地址)时的绝对地址。
(1)将段号与段表长度比较,若段号大于段表长度产生越界中断。
(2)若未越界,获得该段的起始地之后,再检查段内地址是否超过了段长,若超过同样产生越界中断。
(3)若未越界,将该段的起始地址与段内地址相加,产生物理地址。
3、在页式虚拟存储管理的计算机系统中,运行一个共有8页的作业,且作业在主存中分配到4块主存空间,作业执行时访问页面顺序为7,0,1,2,3,0,4,3,2,3,6,7,3,1,5,7,6,2,6,7。请问用FIFO和LRU调度算法时,它们的缺页中断率分别是多少?
虚拟存储器的置换算法:
(1)最佳置换算法:
所选择的被淘汰的页面是以后永远不会被访问的页面,或者是最长时间内不会被访问的页面,采用此算法可以获得最低的缺页率,但是由于页面的访问不能预知,因而该算法是不能实现的。
(2)先进先出(FIFO)页面置换算法:
总是淘汰最先进入内存的页面。
(3)最近最久未使用(LRU):
淘汰自上次被访问以来所经历时间最长的页面。
(4)最少使用置换算法(LFU)
(5)Clock置换算法:
将未使用过的页面换出去,循环扫描。
改进型的Clock置换算法:
不仅考虑到了页面的访问情况,而且考虑了页面置换的代价。
一类:没有被访问,没有被修改,最佳淘汰页。
二类:没有被访问,但是被修改。
三类:已经被访问,没有修改。
四类:被访问,被修改。
4、某操作系统采用可变分区分配存储管理方法,用户区为512K且始址为0,且初始时用户区的512K空间空闲,用户请求下列操作:
Req(300K), req(100K), release(300K), req(150K), req(30K), req(40K), req(60K), release(30K)
回答下列问题:
(1) 采用首次适应算法,空闲分区中有哪些空闲块(给出图示,并给出始址、大小)?
(2) 采用最佳适应算法,空闲分区中有哪些空闲块(给出图示,并给出始址、大小)?