32、在IBM/370中,通过使用密钥来提供内存保护。密钥是一个4位的量。每个2K的内存块都有一个关联的密钥(存储密钥)。CPU也有一个关联的密钥(保护密钥)。只有当两个密钥相等或者其中一个为零时,才允许进行存储操作。以下哪些内存管理方案可以与这种硬件成功配合使用?a. 裸机 b. 单用户系统 c. 固定数量进程的多道程序设计 d. 可变数量进程的多道程序设计 e. 分页 f. 分段
b/c/d/e/f
33、解释内部碎片和外部碎片的区别。
内存碎片类型
外部碎片
采用首次适应和最佳适应内存分配策略时会出现外部碎片。当进程在内存中加载和移除后,空闲内存空间被分割成小块。此时虽然存在足够的总内存空间满足请求,但可用空间不连续,导致存储被分割成大量小空洞。
内部碎片
在多分区分配方案中,若分配的内存块比进程请求的略大,两者的差值即为内部碎片,也就是分区内部未使用的内存。例如在固定大小块分配内存时,分配给进程的内存可能比请求的大,从而产生内部碎片。
34、给定五个内存分区,大小分别为100 KB、500 KB、200 KB、300 KB和600 KB(按顺序排列),那么首次适应、最佳适应和最坏适应算法将如何按顺序放置大小为212 KB、417 KB、112 KB和426 KB的进程呢?哪种算法对内存的使用效率最高?
首次适应算法:
- 212 KB 放入 500 KB 分区,剩余 288 KB
- 417 KB 放入 600 KB 分区,剩余 183 KB
- 112 KB 放入 288 KB 分区,剩余 176 KB
- 426 KB 无法放入
最佳适应算法:
- 212 KB 放入 300 KB 分区,剩余 88 KB
- 417 KB 放入 500 KB 分区,剩余 83 KB
- 112 KB 放入 200 KB 分区,剩余 88 KB
- 426 KB 放入 600 KB 分区,剩余 174 KB
最坏适应算法:
- 212 KB 放入 600 KB 分区,剩余 388 KB
- 417 KB 放入 500 KB 分区,剩余 83 KB
- 112 KB 放入 388 KB 分区,剩余 276 KB
- 426 KB 无法放入
通常最佳适应算法对内存使用效率最高,它能产生最小的剩余空洞,使内存碎片化程度相对较低。
35、假设页面大小为1KB,对于以下以十进制数表示的地址引用,其页号和偏移量分别是多少:a. 2375 b. 19366 c. 30000 d. 256 e. 16385
- a. 页号:2,偏移量:327
- b. 页号:18,偏移量:998
- c. 页号:29,偏移量:344
- d. 页号:0,偏移量:256
- e. 页号:16,偏移量:1
36、考虑一个逻辑地址空间,有32页,每页1024字,映射到有16个帧的物理内存上。a. 逻辑地址需要多少位?b. 物理地址需要多少位?
a. 逻辑地址需要15位。因为有32页(2 5 ),每页1024字(2 10 ),所以共需5 + 10 = 15位。
b. 物理地址需要14位。因为有16个帧(2 4 ),每页1024字(2 10 ),所以共需4 + 10 = 14位。
37、考虑一个具有32位逻辑地址和4KB页面大小的计算机系统。该系统支持高达512MB的物理内存。以下各项分别有多少个条目?a. 传统单级页表 b. 反向页表
-
传统单级页表的条目数 :
逻辑地址空间大小为 $2^{32}$ 字节,页面大小为 4KB($2^{12}$ 字节),则页的数量为
$$
\frac{2^{32}}{2^{12}} = 2^{20}
$$
所以传统单级页表有 $2^{20}$ 个条目。 -
反向页表的条目数 :
物理内存大小为 512MB($2^{29}$ 字节),页面大小为 4KB($2^{12}$ 字节),则物理帧数为
$$
\frac{2^{29}}{2^{12}} = 2^{17}
$$
所以反向页表有 $2^{17}$ 个条目。
38、考虑一个页表存于内存的分页系统。a. 如果一次内存访问需要200纳秒,那么一次分页内存访问需要多长时间?b. 如果我们添加了快表(TLB),并且所有页表引用中有75%可以在快表中找到,那么有效内存访问时间是多少?(假设如果页表项在快表中,查找该页表项的时间为零。)
a. 一次分页内存访问需要两次内存访问(一次访问页表,一次访问所需字节),所以时间为200×2 = 400纳秒。
b. 快表命中时,访问时间为200纳秒;快表未命中时,访问时间为400纳秒。
有效内存访问时间 = 0.75×200 + 0.25×400 = 250纳秒。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



