【操作系统】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数据结构笔记

相关推荐
__雨夜星辰__2 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
Fhd-学习笔记8 小时前
《大语言模型》综述学习笔记
笔记·学习·语言模型
简知圈10 小时前
【04-自己画P封装,并添加已有3D封装】
笔记·stm32·单片机·学习·pcb工艺
YxVoyager10 小时前
GAMES101学习笔记(五):Texture 纹理(纹理映射、重心坐标、纹理贴图)
笔记·学习·图形渲染
Buring_learn10 小时前
代理模式 -- 学习笔记
笔记·学习·代理模式
池佳齐11 小时前
《AI大模型开发笔记》DeepSeek技术创新点
人工智能·笔记
圆圆滚滚小企鹅。11 小时前
刷题记录 HOT100回溯算法-6:79. 单词搜索
笔记·python·算法·leetcode
大邳草民12 小时前
计算机网络的基础设备
笔记·计算机网络
霸王蟹12 小时前
文本复制兼容方案最佳实现落地。
前端·javascript·vue.js·笔记·学习
linhhanpy13 小时前
自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)
c语言·汇编·c++·python·stm32·操作系统