408计算机考研笔记(王道考研):操作系统 第三章 内存管理

3.1内存管理概念

3.1.1 内存的基础知识

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第1张图片

1、内存及作用

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第2张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第3张图片

2、常用的数量单位

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第4张图片

3、指令的工作原理

指令的工作基于”地址“,每个地址对应一个数据的存储单元
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第5张图片

4、装入的三种方式

绝对装入

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第6张图片

可重定位装入(静态重定位)

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第7张图片

动态运行时装入(动态重定位)

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第8张图片

5、从写程序到程序运行

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第9张图片

6、链接的三种方式

静态链接

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第10张图片

装入时动态链接

image.png
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第11张图片

运行时动态链接

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第12张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第13张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第14张图片

3.1.2 内存管理的概念

1、内存空间的分配与回收

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第15张图片
操作系统负责内存空间的分配与回收。

2、内存空间的扩展

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第16张图片
操作系统需要提供某种技术从逻辑上对内存空间进行扩充。

3、地址转换

image.png
操作系统需要提供 地址转换功能,负责程序的逻辑地址与物理地址的转换。

实现转换的三种方式:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第17张图片

4、内存保护

操作系统需要提供内存保护功能。保证各进程在各自存储空间内运行,互不干扰。

两种方法:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第18张图片
方法一:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第19张图片
方法二:
image.png

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第20张图片

3.1.3 覆盖与交换

1、覆盖技术

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第21张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第22张图片
但是:覆盖技术必须有程序员声明覆盖结构,操作系统完成自动覆盖。
缺点:对用户不透明,增加了用户编程负担
覆盖技术只用于早期的操作系统中,现在已成为历史。

2、交换技术

设计思想:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第23张图片
暂时换出外存等待的进程状态为 挂起状态(挂起态)
挂起态又可以进一步细分外就绪挂起、阻塞挂起两种状态。
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第24张图片

image.png

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第25张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第26张图片

3.1.4 连续分配管理方式

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第27张图片

分区分配内存方式也称为连续分配管理方式


1、单一连续分配

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第28张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第29张图片

2、固定分区分配

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第30张图片

分区大小相等

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第31张图片408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第32张图片

分区大小不等

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第33张图片408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第34张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第35张图片

3、动态分区分配(可变分区策略)

image.png
问题1:
系统要用什么样的数据结构记录内存的使用情况?
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第36张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第37张图片
问题2:
当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?
利用动态分区算法—>下一小节
问题3:
如何进行分区的分配与回收操作?
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第38张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第39张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第40张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第41张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第42张图片

3.1.5 动态分区分配算法

1、首次适应算法

image.png

2、最佳适应算法

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第43张图片
缺点:
每次都选最小的分区进行分配,会留下越来越多的、很小的、难以利用的内存块。因此这种方法会产生很多的外部碎片。

3、最坏适应算法

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第44张图片
image.png

4、邻近适应算法

又称 循环首次适应算法
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第45张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第46张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第47张图片

非连续分配管理方式:

3.1.6 基本分页存储管理的概念

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第48张图片

1、什么是分页存储

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第49张图片

2、重要的数据结构-页表

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第50张图片
问题1:

每个页表项占多少字节?

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第51张图片
计算机中内存块的数量---->页表项中块号至少占多少字节

问题2:

如何实现地址的转换?

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第52张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第53张图片

如何确定一个逻辑地址对应的页号、页内偏移量?

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第54张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第55张图片

页面大小刚好是2的整数幂的好处:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第56张图片

3、逻辑地址结构

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第57张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第58张图片

3.1.7 基本地址变换机构

属于基本分页存储管理
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第59张图片
image.png

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第60张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第61张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第62张图片


对页表项大小进一步讨论
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第63张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第64张图片

3.1.8 具有快表的地址变换机构

--------->是基本地址变换机构的改进版本

1、快表(TLB)

image.png
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第65张图片
但是不能把整个页表都放在TLB,因为速度更快的价格越贵
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第66张图片

2、引入快表后,地址的变换过程

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第67张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第68张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第69张图片

3、局部性原理

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第70张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第71张图片

3.1.9 两级页表

----->用于解决单机页表存在的问题

1、单级页表存在的问题

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第72张图片
image.png
image.png

2、如何解决

问题1
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第73张图片

3、两级页表的原理、地址结构

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第74张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第75张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第76张图片


问题2
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第77张图片

4、注意的细节

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第78张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第79张图片

3.1.10 基本分段存储管理方式

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第80张图片

1、分段

image.png
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第81张图片

2、地址变换

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第82张图片

3、分段、分页管理的对比

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第83张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第84张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第85张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第86张图片

3.1.11 段页式管理方式

是分段和分页的结合

1、分页、分段的优缺点分析

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第87张图片

2、段页式管理的逻辑地址结构

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第88张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第89张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第90张图片

3.2 虚拟内存管理

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第91张图片

3.2.1 虚拟存储的基本概念

1、传统存储管理方式的特征、缺点

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第92张图片

2、局部性原理

可以解决传统存储管理方式的缺点

时间局部性

---->循环

空间局部性

---->数组
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第93张图片

3、虚拟内存的定义和特征

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第94张图片
虚拟内存是操作系统虚拟性的一个体现,实际的物理内存大小没有变,只是在逻辑上进行了扩充。

4、如何实现虚拟内存技术

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第95张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第96张图片

3.2.2 请求分页管理方式

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第97张图片

1、页表机制

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第98张图片

2、缺页中断机构

页面不在内存时---->>状态位为0
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第99张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第100张图片

3、地址变换机构

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第101张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第102张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第103张图片

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第104张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第105张图片

3.2.3 页面置换算法

页面置换算法

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第106张图片

1、最佳置换算法(OPT)

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第107张图片

就是看前一列的内存块分别存放在哪,图中指的前面一列就是7 0 1408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第108张图片
image.png

image.png

2、先进先出置换算法(FIFO)

image.png一共缺页9次
当要分配四个内存时
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第109张图片

image.png

3、最近最久未使用置换算法(LRU)

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第110张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第111张图片
该算法需要专门的硬件支持,虽然算法性能好,但是实现困难,开销大。

4、时钟置换算法(CLOCK)

------->是一种性能和开销较均衡的算法,又称为CLOCK算法,或最近未用算法(NRU)

image.png

简单的CLOCK算法

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第112张图片
例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第113张图片
开始,因为分配5个内存块,所以访问到1,3,4,2,5这5个内存块的时候不考虑淘汰页面
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第114张图片
当访问6号时,所有页面访问位是1,然后第一轮扫描后将所有访问位变为0,开始第二轮扫描
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第115张图片
然后,指针扫描到1号页面,访问位为0,然后将6号页面置换到1号,将6号访问位置换为1,然后指针指向下一个页面3号
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第116张图片
页面被替换时,该指针设置指向被替换页面的下一页
然后接下来,访问3号和4号页面,都在内存中,只是将访问位置换为1,但是指针不转动!!!!
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第117张图片

访问到7号页面时,依次开始3号、4号,把访问位置位0,然后访问到2号页面时发现为0,将2号页面置换为7号,然后将7号页面访问位置为1,指针指向下一页面
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第118张图片

改进型的时钟置换算法

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第119张图片

(访问位,修改位)
访问位=1–>近期被访问过 修改位=1–>页面被修改过
访问位=0–>近期未被访问 修改位=0–>页面未被修改

例子:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第120张图片分配5个内存块

只需一轮扫描,找到(0,0),然后淘汰


408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第121张图片

扫描一轮,没有发现(0,0),
第二轮为408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第122张图片,先将扫描到的(1,1)置换为(0,1),然后淘汰第二个淘汰(0,1)


408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第123张图片
第一轮扫描没有发现
第二轮扫描,修改访问位为0,408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第124张图片没有发现(0,1)
第三轮扫描发现(0,0)408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第125张图片


408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第126张图片
第一轮不满足
第二轮后,修改访问位之后变成408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第127张图片
第三轮没有发现(0,0)
第四轮找到(0,1)408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第128张图片


408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第129张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第130张图片

3.2.4 页面分配策略、抖动、工作集

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第131张图片

1、页面分配、置换策略

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第132张图片

固定分配局部置换

image.png

可变分配全局置换

image.png
未锁定----->系统会锁定一些页面,这些页面中的内容不能置换出外存(如:重要的内核数据可以设定为“锁定”)

可变分配局部置换

image.png
区别:
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第133张图片

2、何时调入页面

预调页策略

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第134张图片

请求调页策略

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第135张图片

3、从何处调入页面

系统拥有足够的对换区空间

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第136张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第137张图片

系统缺少足够的对换区空间

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第138张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第139张图片

UNIX方式

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第140张图片
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第141张图片

4、抖动(颠簸)现象

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第142张图片

5、工作集

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第143张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第144张图片

3.2.5 内存映射文件(大纲新增)

----->大概率考概念型选择题,不会考很深

1、内存映射文件概念

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第145张图片

2、传统的文件访问方式

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第146张图片

3、内存映射文件

第一个作用:方便访问
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第147张图片
第二个作用:共享
408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第148张图片

小结:

408计算机考研笔记(王道考研):操作系统 第三章 内存管理_第149张图片

你可能感兴趣的:(408计算机考研笔记,考研,经验分享)