【操作系统】24王道考研笔记——第三章 内存管理

第三章 内存管理

一、内存管理概念

1.基本概念

2.覆盖与交换

覆盖技术:

交换技术:

总结:

3.连续分配管理方式

单一连续分配

固定分区分配

动态分区分配

动态分区分配算法:

总结:

4.基本分页存储管理

定义:

页表:

地址转换的实现:

子问题:

逻辑地址结构:

总结:

5.基本地址变换机构

流程:

原理:

例子:

总结:

6.具有快表的地址变换机构

快表,又称联想寄存器(TLB, translation lookaside buffer ),是一种访问速度比内存快很多的高速缓存(TLB不是内存!),用来存放最近访问的页表项的副本,可以加速地址变换的速度。与此对应,内存中的页表常称为慢表。

流程:

原理:

局部性原理:

总结:

7.两级页表

8.基本分段存储管理方式

分段:

进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址 。

内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。

段表:

地址变换:

对比:

总结:

9.段页式管理方式

分别的优缺点:

逻辑地址结构:

总结:

二、虚拟内存管理

1.基本概念

2.请求分页管理方式

请求分页存储管理与基本分页存储管理的主要区别:

  • 在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
  • 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存

机制:

缺页中断机构:

缺页中断是因为当前执行的指令想要访问的目标页面未调入内存而产生的,因此属于内中断 。

一条指令在执行期间,可能产生多次缺页中断。(如:copy A to B,即将逻辑地址A中的数据复制到逻辑地址B,而A、B属于不同的页面,则有可能产生两次中断)

地址变换机构:

3.页面置换算法

请求分页存储管理与基本分页存储管理的主要区别:

  • 在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
  • 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。

此时使用页面置换算法决定应该换出哪个页面

最佳置换算法可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法是无法实现的。

总结:

4.页面分配策略

页面分配:

抖动(颠簸)现象:

工作集:

总结:

5.内存映射文件

传统的:

内存映射文件:

总结:

主要参考:王道考研课程

后续会持续更新考研408部分的学习笔记,欢迎关注。

github仓库(含所有相关源码):408数据结构笔记

相关推荐
谅望者1 天前
数据分析笔记04:抽样方法与抽样分布
数据库·笔记·数据挖掘·数据分析
d111111111d1 天前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
立志成为大牛的小牛1 天前
数据结构——四十二、二叉排序树(王道408)
数据结构·笔记·程序人生·考研·算法
wdfk_prog1 天前
[Linux]学习笔记系列 -- [kernel]kthread
linux·笔记·学习
鸽子一号1 天前
c#笔记之面向对象
笔记
偷偷的卷1 天前
【算法笔记 11】贪心策略六
笔记·算法
河铃旅鹿1 天前
Android开发-java版:布局
android·笔记·学习
im_AMBER1 天前
React 18
前端·javascript·笔记·学习·react.js·前端框架
yun68539921 天前
读书之反思系统架构设计原则_个人笔记
笔记
d111111111d2 天前
STM32中为什么会有APB1和APB2两个外设有什么区别
笔记·stm32·单片机·嵌入式硬件·学习