目录
3.1内存管理的概念
3.2 虚拟内存管理
连续分配管理方式
内存管理概念(中) 非连续分配管理方式 基本分段存储管理方式内存管理概念(下) 段页式管理方式 分段和分页的区别及优缺点上面的表格是这一部分的框架,这个月的任务应当是看到框架,能够回忆里面的知识点
知识点一:
1.分段是从用户和程序员的角度提出,满足方便编程,信息保护和共享,动态增长及动态链接等多方面的需要
2.段式存储管理每一个段所占用的大小都是不确定的,我们需要记录他的起始地址,终止地址等等
3.对于分页存储管理来说,每一个页所占用的大小都是确定的,我们只需要记录他的起始地址和长度就可以对它进行操作。
做题巩固一下吧:
1.引入段式存储管理方式,主要是为了更好地满足用户的一系列要求。下面选项中不属于这一系列要求的是()
A.方便操作 B.方便编程 C,共享和保护 D.动态链接和增长
答案:A;结合知识点,很快的就知道A不对了,因为分页应该来说会更方便一点。
知识点二:
从上表可以看出,分段主要是为了满足用户,分页主要是为了提高内存
做题巩固一下吧:
段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即
A.用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间
B.用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间
答案:B 由知识点可以知道,分段更适合用来管理用户,因为他的目的就是为了满足用户的需求的。分页更适合管理物理存储空间,因为他的目的是为了提高内存利用率
知识点三:
编译,链接,装入,在装入之前,物理地址都还未形成,此时都是逻辑地址
编译后一个目标程序所限定的地址范围称为该作业的逻辑地址空间,换句话说,地址空间是指程序用来访问信息所用的一系列地址单元的几何;这些单元称为逻辑地址,通常编译地址都是相对始址0的,因而逻辑地址也称为相对地址
注意区分编译后形成的逻辑地址,和链接后形成的最终逻辑地址
编译后的逻辑地址:每个模块都从0号单元开始编址
链接后的逻辑地址:链接将这些模块链接在一起后,形成一个完整的装入模块,将整个模块从0号单元开始编址
题目:
答案:由知识点的内容可以很容知道是B,C
知识点一:
CPU利用率很低,磁盘利用率很高,这里的磁盘利用率是指用于页面交换的磁盘利用率。说明CPU长时间处于等待IO的状态,而因为缺页磁盘进行大量磁盘IO;要想提高CPU利用率,有没有什么办法呢?(理解过后记忆)
1.更换固态硬盘:固态硬盘的IO速率要快不少,所以磁盘IO就能更快的完成,CPU等待时间就会减少,CPU利用率就会变高
2.增大内存:设想一个极端情况,我内存超大,把所有页面都放到内存里面,就不会产生缺页了,CPU就能一直工作
3.减少并发进程的数量,这样一来,磁盘的负荷就小一点,CPU的利用率就会高一点
知识点二:
时钟置换算法(CLOCK算法,或者NRU:最近不用算法)
时钟置换算法给每帧关联一个附加位,称为使用位;具体过程就是查找使用位为0的页帧,如果是1,就置为0;
如果题目中出现了修改位,就应该知道这是改进型CLOCK算法
改进型循环的找帧:
第一轮:找使用位=0,修改位=0的帧,这一轮所有帧都不要动他
第二轮:第一轮没找到,现在就找找看使用位=0,修改位=1的帧,此时,遇到的每一个修改位=0的帧,将使用位赋值0
第三轮:第二轮没找到,但是第二轮有置0操作撒,这一轮就循环第一轮的干的事情
第四轮:还没找到,就再循环第二轮
做题巩固一下吧:
答案:3;1;1;
这里重点说一下NRU算法,根据知识点的内容,我们知道要淘汰的页面应该是(0,0)的页帧
所以淘汰的是1号页面;所以王道上面的答案,有点问题(20版本的王道)
