操作系统学习-练习题个人总结(七)

操作系统学习-练习题个人总结(七)

第四章 存储器管理

一、第一节-存储器管理概述-课前测试

1、错题解析

在多级存储体系中速度最快的是高速缓存cache。(×)

解析:是CPU寄存器。

2、正确知识点总结

  1. 对主存储器的访问,是(以字节或字为单位)。
  2. 目标程序所对应的地址空间是(虚拟地址空间)。
  3. 即使在多道程序环境下,用户也不能设计用内存物理地址直接访问内存的程序。

补充:

存储器管理功能:

  1. 主存分配(响应请求分配所需的主存空间);
  2. 地址映射(逻辑地址到物理地址的映射);
  3. 存储保护(保护进程之间相互不受影响–由软件和硬件相互配合完成);
  4. 主存扩充(基于虚拟存储器技术在逻辑上扩充主存空间);

地址映射:

  1. 静态地址映射(在程序装入过程中随即进行的地址变换方式);
  2. 动态地址映射(在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射)

程序的链接:是指通过链接程序将编译好的目标模块以及所需要的库函数链接在一起,形成完整的可装入模块的过程。

  • 静态链接:编译时装入内存前就链接好,使用的函数库得不到及时更新,每个程序都得有一份copy函数库。。
  • 装入时动态链接:在程序装入内存时边装入边链接,使用的函数库是最新版本的,但仍然需要为每一个程序copy一份函数库。【能实现目标模块外存共享,但不能实现目标模块内存共享的链接方式】
  • 运行时动态链接:程序运行时才进行链接,不需要未每个程序都copy一份函数库,使用的是共享库。

程序的装入:就是将程序段copy到内存中。

  • 绝对装入:不可更改,装入到内存中事先指定的物理地址,运行时不可改变。
  • 静态重定位装入:一次性装入,将所有地址更改;装入前是逻辑地址,装入后不可更改。
  • 动态重定位装入:装入时不做地址变更,需要地址映射是根据动态重定位原理映射。最灵活的方式。

二、第一节-存储器管理概述-课堂测试

1、错题解析

下面关于存储管理的叙述中正确的是(实现虚拟存储管理必须有相应硬件的支持)。

解析:存储保护的目的是限制内存的分配,防止一个进程占据太多的内存空间。(×是为了保护进程之间相互不受影响);在内存为M、有N个用户的分时系统中,每个用户程序占用M/N的内存空间(× 平均分配显然不对);在虚拟存储系统中,只要磁盘空间无限大,理论上作业就能拥有任意大的编址空间(× 分配空间有相应的规则和算法,视作业本身而定)

2、正确知识点总结

  1. 如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是(可重入码)。
  2. 静态重定位技术依赖于(装入程序)。

三、第二节-连续存储管理-课前测试

1、错题解析

  1. 连续存储方式是指所有的程序首尾相接,相互之间不会有空间间隔。(×)

    解析:空闲区本身不一定连续。

  2. 在动态分区存储管理方式中,可以有条件地采用移动技术来合并内存中的多个分区,以便形成大的空闲分区,装入大作业。(√)

    解析:拼接技术或紧凑技术。

  3. 动态重定位相对于静态重定位而言,其最大的好处是不会产生内存碎片,从而提高内存的利用率。(×)

    解析:重定位方式与是否产生碎片并无直接联系。

2、正确知识点总结

  1. 在固定分区分配中,每个分区的大小是(可以不同但预先固定)。
  2. 在动态分区分配中,(最佳适应)分配算法容易出现较多碎片,并且碎片很小,往往无法用。
  3. 尽量保留高端内存连续空间的分配算法是循环首次适应算法。(×首次适应算法)

补充:

分配算法:

  1. 首次适应算法:是将程序装入到主存中足够装入且地址最低的空闲区中;空闲区按地址由低到高排序;尽量利用主存低地址空闲区,尽量在高地址保留大空闲区。
  2. 最佳适应算法:是将程序装入到主存中与其大小最接近的空闲区中;空闲区按大小由小到大排序;尽量利用存储器中小的空闲区,而尽量保存大的空闲区。
  3. 最坏适应算法:是将程序装入到主存中与其大小差距最大的空闲区中;空闲区按大小由大到小排序;尽量利用存储器中的大空闲区,使剩余空闲区较大。
    回收算法:
    //

四、第二节-连续存储管理-课堂测试

1、错题解析

  1. 在动态分区式内存管理中,能使内存空间中空闲区分布较均匀的算法是(循环首次适应算法)。

解析:特点。

  1. 如图(I,II)在这里插入图片描述解析:III显然不对,不连续是因为空闲区不连续;IV在多道程序环境下,编译程序不可能预知所编译的目标模块应放在内存 的何处,困此,绝对装入方式只适用于单道程序环境。

2、正确知识点总结

  1. 若某系统采用动态分区分配方式管理内存,为了有效利用内存碎片,增加了紧凑功能,则其地址映射方式应该采用(动态重定位)。
  2. 可变分区存储管理采用的地址转换公式是(绝对地址=基址寄存器值+逻辑地址)。

五、第二节-连续分配-课后作业

(本校期末试题)某系统的内存采用伙伴算法分配,初始内存大小为1MB,页面大小为4KB。
(1)请根据如下进程执行过程,描述内存分配和回收的过程。(文字或图示均可)
程序A申请34KB内存,程序B申请66KB内存,程序C申请35KB内存,程序D申请100KB内存,程序B结束,程序D结束,程序A结束,程序C结束。
(2)共用到了几个order队列?(8个)
在这里插入图片描述
六、第三节-分页系统-课堂测试

1、错题解析

  1. 某一具有快表的分页系统,其页表存放在主存中,假设对主存的一次存取需要1.5us,快表平均命中率为85%,若查找快表的时间忽略不计,则主存的平均存取时间是多少?

    解析:1.5us* 85%+1.5us* 2* (1-85%)

  2. 在一个系统中对内存采用页式存储管理方法,则所划分的页面大小(按照逻辑地址的结构定)。

    解析:概念。

  3. 在某个基本分页系统中,物理内存为256MB,有256页的逻辑地址空间,且页的大小为1KB,则逻辑地址有(18)位,每个物理块的大小为(1K)字节。

    解析:256-8位页号地址;1KB-10位页内地址;256MB----28-10=18个字节的物理块

2、正确知识点总结

  1. 在基本分页存储管理方式(未采用虚拟存储器)中,关于页表,以下说法正确的是(每个进程拥有一张页表,且进程的页表驻留在内存中)。
  2. 某个采用二级页表的分页系统中,按字节编址,页大小为1KB,页表项大小为2字节,逻辑地址结构为:
页目录号页号页内偏移量

逻辑地址空间大小为2^16页,则表示整个逻辑地址空间的页目录表中包含的表项的个数至少是(128)。

解析:依据题意可知,每个页表页面中可以存放512个页表项,即页号部分占9位,而进程有2 的16次方个页面,因此页目录部分占7位,所以页目录表中最多有2的7次方个表项。

  1. 考虑一个使用32位地址和1KB页面大小的虚拟分页系统,每个页表项需要32位,要求最高级页表限制在一个页面内,则一共需要使用(3级)页表。
    在这里插入图片描述
  2. 在页式存储管理方式中选择页面的大小,需要考虑的因素有(页面大的好处是页表较小;页面小的好处是可以减少由碎片引起的内存浪费;考虑到逻辑地址到物理地址转换的方便性,页面大小通常是2的n次方个字节)。

补充:

页面 程序的地址空间被等分成大小为2k的片段,这些片段称为页面,又称为虚页。
页框 物理内存也被等分成大小相等的片,称为主存块、物理块、页框,又称为实页。
页表 系统为每个进程设置了一张页号到物理块号的映射表,称为页表。

页面的大小决定页内地址的位数,页号位数决定了逻辑地址空间中页面的总数。
例如:下面逻辑地址页面大小为4KB,逻辑地址长32位。

31~1211~0
页号P页内地址(页内位移量)d

逻辑地址=页号“+”页内地址
物理地址=块号“+”块内地址
块内地址=页内地址

两级页表:

31~2221~1211~0
外部页号外部页内地址页内地址(页内位移量)

七、第三节-分页系统-课后作业

某分页系统将页表存储在内存中,请回答如下问题:
(1)如果一次访存的周期为150ns,那么进行一次读取数据的内存访问时间是多少?
(2)如果配置了TLB快表,命中率为90%,访问快表的时间可以忽略不计,那么读取一次数据的内存访问时间是多少?
(3)若希望访问内存的性能损失不超过10%,则TLB的命中率不低于多少?
在这里插入图片描述
八、第四、五节-分段及段页式存储管理-课堂测试

1、错题解析

在段式存储管理方式中,为了让两个不同的进程共享同一代码段,正确方法的是(让进程各自的段表项拥有共享段的相同的段地址和段长度)。

解析:概念理解。

2、正确知识点总结

  1. 在段页式存储管理中,如果没有设置快表,则每读写一个数据,要访问(3次)主存。
  2. (固定分区)存储管理方式支持多道程序设计,算法简单,但存储碎片较多。
  3. 假设一个任务被划分成4个大小相等的段,并且系统为每个段建立了一个有8项的页表。因此,该系统是分段与分页的组合。假设页面大小为2KB,则该任务的逻辑地址空间最大为(64KB)。【8* 2KB* 4=64KB】
  4. 采用段式存储管理时,一个程序如何分段是在(用户编程)时决定的。
  5. 如果希望程序能方便的进行动态链接,则下面内存管理方法中最最有利的是(分段存储管理)。

补充:

段式逻辑地址结构:

31~1615~0
段号s段内地址d

段页式逻辑地址结构:

段号段内页号页内地址

在这里插入图片描述
九、第六节-虚拟存储管理-课堂测试

1、错题解析

  1. 理论上虚拟内存的最大容量只受(计算机的地址位数)的限制。

    解析:概念。

  2. 下面关于请求分页存储管理说法正确的是(程序空间页的大小与计算机物理块的大小总是一致的;页地址变换机制必须由相应的硬件支持;将用户地址空间分为页号和页内偏移量对用户是感觉不到的)。

    解析:在请求调页的系统中,用户程序必须全部装入内存(×显然不对)

2、正确知识点总结

  1. 在虚拟存储系统中,完成地址转换工作的是(硬件)。
  2. 设主存容量为1MB,外存容量为400MB,计算机系统的地址寄存器有24位,那么虚存的最大容量为(16MB)。
  3. 假设系统有m个内存块供分配,初始时全空,页面引用串长度为p,包含了n个不同的页号,则无论用什么页面置换算法,缺页次数不会少于(n)。
  4. 在请求分页系统中的页表中增加的外存始址的作用是(供页面调入时参考)。
  5. 系统“抖动”现象发生的原因是(置换算法选择不当)。

补充:

页面置换算法:【选择页面淘汰的算法】

  • 最佳置换算法OPT:最长时间不用的淘汰–理论算法【无法预知】
  • 先进先出算法FIFO:字面意思–存在Belady现象
  • 最近最久未使用法LRU:
  • 最近最少使用法LFU
  • 时钟算法CLOCK

十、第六节-虚拟存储器-课后作业

  1. 假设系统为某进程分配 了3个内存块,若页面走向为:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,刚开始没有任何一个页面在内存中,求采用LRU页面置换算法时的缺页中断次数。
    12
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值