目录
-
填空题:
- 1. 在动态分区式内存分配算法中,倾向于优先使用低地址部分空闲区的算法是 首次适应算法 ;能使内存空间中空闲区分布较均匀的算法是 循环首次适应算法。
- 2. 在请求调页系统中的调页策略有 预调页策略,它是以预测为基础的;另一种是 请求调页策略 由于较易实现,故目前使用较多。
- 3. 分页存储管理中页面的大小是由地址结构决定的,若页内地址占m位,则页面的大小就是 2^m个字节。
- 4. 页面大小由 系统 确定,分段大小由 用户 确定。
- 5. 局部性原理主要表现在:时间局部性, 空间局部性 。
首次适用算法FF:优先使用内存中低地址部分空闲区; 产生内存碎片;
循环首次适用算法NF:使内存空间中空闲区分布较均匀; 缺乏较大的空闲分区;
最佳适应算法BF:所有空闲分区按照大小排序形成空闲分区链,进行合理分配; 分配剩余在存储器上留下碎片
最坏适应算法WF:整个空闲分区扫描选取最大空闲分区; 缺乏较大空闲分区;
-
选择题:
- 1. 分区分配内存管理方式的主要保护措施是( )
A、界地址保护 B、程序代码保护
C、数据保护 D、栈保护
- 2. 使用修改位的目的是: ( )
A、实现LRU页面置换算法 B、实现NRU页面置换算法
C、在快表中检查页面是否进入 D、检查页面是否最近被写过
- 3. 若一个系统内存有64MB,处理器是32位地址,则它的虚拟地址空间为( )字节。
A、2GB B、4GB C、100KB D、64MB
- 4. 在最佳适应算法中,要求空间分区按( )顺序链接成空闲分区链。
A.空闲区地址递增 B.空闲区首址递减 C.空闲区大小递增 D.空闲区大小递减
- 5. 页式虚拟存储管理的主要特点是( )
A.不要求将作业装入到主存的连续区域
B.不要求将作业同时全部装入到主存的连续区域
C.不要求进行缺页中断处理
D.不要求进行页面置换
- 6. 在联想存储器中的页,其信息( )
A.一定在外存 B.一定在外存和内存中 C.一定在内存 D.以上说法都不对
- 7. 在下列存储管理方案中,不适用于多道程序的是( )。
A.单一连续分配 B.固定式分区分配 C.可变式分区分配 D.段页式存储分配
- 8. 在动态分区式内存管理中,能使内存空间中空闲区分布较均匀的算法是( )
A.最佳适应算法 B.最坏适应算法 C.首次适应算法 D.循环首次适应算法
- 9. 段式存储管理中,分段是由用户决定的,因此( )
A.段内的地址和段间的地址都是连续的
B.段内的地址是连续的,而段间的地址是不连续的
C.段内的地址是不连续的,而段间的地址是连续的
D.段内的地址和段间的地址都是不连续的
- 10. 采用固定分区管理的最大缺点是( )
A.不利于内存的保护 B.分配算法复杂 C.内存的利用率不高 D.零头太多
- 11. 分页式存储管理中,地址转换工作是由( )完成的。
A、硬件 B、地址转换程序 C、用户程序 D、装入程序
- 12. 可能出现抖动的存储管理方法有:( )
A.固定式分区 B.动态分区分配 C.动态重定位分区分配 D.请求分页存储管理
- 13. 采用( )存储管理方式不产生内部碎片。
A.固定分区 B.分段 C.分页 D.段页式
- 14. 在固定分区存储管理中,每个分区的大小是( )
A.相同的 B.可以不同但作业长度固定 C.可以不同但预先固定 D.根据用户要求而定
分区存储管理:
1.固定分区:
提前将内存划分成多个区,区的大小可以不同,但是划分好后,个数和大小都不能发生改变。
优点:易于实现、开销小
缺点:存在内部碎片(分区内未被利用空间)、分区总数固定,限制了并发执行的程序数量
2.动态创建分区:
按照程序申请要求分配。
优点: 没有内部碎片
缺点:有外部碎片(难以利用的小空闲分区)
二、页式存储管理
优点: 没有外部碎片,最后一页可能有内碎片但不大; 程序不必连续存放;便于改变程序占用空间大小。
分页式存储管理可能将连续的指令放置在不同的页中,会发生换页中断,而分段、段页都是逻辑分配空间,段长可变,逻辑上相对连续的指令放在同一段中,不会像分页那样频繁换页操作。
简答题:
- 1. 什么是快表?它在地址转换中起什么作用?(5分)
- 快表是一个高速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。
- 加入快表后,在地址转换时,首先在快表中查找,若找到就直接进行地址转换;
- 未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器中。
- 快表的命中率很高,有效地提高了地址转换的速度。
应用题:
- 1. 在某个采用页式存储管理系统中,现有J1,J2,J3三个作业同驻内存,其中J2有4个页面,被分别装入到内存的第3,4,6,8块中。假设页面和存储块的大小为1KB,内存容量为10KB。
- 1) 写出J2的页表;
- 2) 当J2在CPU上运行时,执行到其地址空间第500号处遇到一条传送指令:MOV 2100,3100时,请计算该指令中两个操作数的物理地址。
- (1)
页号 | 物理块号块 |
0 | 3 |
1 | 4 |
2 | 6 |
3 | 8 |
- (2) MOV 2100 3100
2100 逻辑地址 页号 2100/1024=2 余数52 (页内偏移地址) 物理地址: 6*1024+52=6196
3100 页号 3100/1024=3 余数28(页内偏移) 物理地址 8*1024+28=8220
- 2一个页式虚拟存储管理系统中,页表放在内存,假如:
- 1) 如果内存的存取周期为1.2µs,那么存取一个数据要多少时间?
- 2) 如果有个快表,且快表的命中率为75%,那么有效的存储访问时间是多少(忽略在快表中查找一个页号所需时间)?
(1) 因为页表在内存中,故存取一个数据需要访问两次内存; 所需时间: 1.2µs*2=2.4µs;
(2)命中快表时取数值要一次访问内存,平均存取周期: 1.2µs*0.75 + 2.4µs*0.25=1.5µs
- 3.在一个请求分页系统中,有一个长度为 5 页的进程,假如系统为它分配 3 个物理块 ,并且此进程的页面走向为 2,3,2,1,5,2,4,5,3,2,5,2。试用 FIFO 和 LRU 两种算法分别计算出程序访问过程中所发生的缺页次数和缺页率。
- FIFO:First In First Out,先进先出
- LRU:Least Recently Used,最近最久未使用
- LFU:Least Frequently Used,最不经常使用
- FIFO
-
页面 2 3 2 1 5 2 4 5 3 2 5 2 缺页次数 1 1 1 1 1 1 1 1 1 2出 3出 1出 5出 2出 4出 缺页率: 9/12=75%
-
LRU
-
页面 2 3 2 1 5 2 4 5 3 2 5 2 缺页次数 1 1 1 1 1 1 1 3出 1出 2出 4出 缺页率: 7/12