幕布笔记链接 根据王道参考书整理 (一)内存管理基础 1.内存管理概念:操作系统对内存的划分和动态分配 内存管理的功能 内存空间的分配与回收 地址转换 内存空间的扩充 存储保护
程序装入与链接:创建进程首先要将数据和程序装入内存。
编译
链接
静态链接
装入时动态链接
运行时动态链接:优点是便于修改与更新,便于实现对目标模块的共享
装入
绝对装入
可重定位装入
又称静态重定位
特点是,一个作业装入内存时,必须分配给它要求的全部内存空间,若没有足够内存,则不能装入该作业。作业一旦进入内存,整个运行期间就不能在内存中移动,也不能再申请内存空间
动态运行时装入
又称动态重定位,需要一个重定位寄存器支持
特点是,可以将程序分配到不连续的存储区中,在程序运行之前可以只装入部分代码即可投入运行,在程序运行期间,根据需要动态申请内存分配,便与程序段的共享,提供更大的地址空间
逻辑地址与物理地址空间
逻辑地址又称相对地址,每个目标模块都从0号单元开始编址。对用户程序和程序员透明。
物理地址空间是指内存中物理单元的集合,是地址转换的最终地址。
当装入程序将可执行代码装入内存时,必须通过地址转换将逻辑地址转换成物理地址,这个过程称为地址重定位
内存保护:保护操作系统不受用户进程的影响,用户进程不受其他用户进程的影响
在CPU中设置一对上、下限寄存器,存放用户作业在主存中的下限和上限地址
采用重定位寄存器(或基址寄存器)和界地址寄存器(又叫限长寄存器)。
重定位寄存器含最小的物理地制值
界地址寄存器含逻辑地址的最大值
覆盖与交换:多道程序环境下扩充内存的方法
覆盖:用于同一个程序或进程中
交换:在不同进程和作业之间进行
2. 连续分配管理方式
单一连续分配
无需进行内存保护,因为只有一道程序
优点是简单、无外部碎片
缺点是只能用于单用户、单任务的操作系统中,有内部碎片,存储器利用率极低
固定分区分配:分为分区大小相等和分区大小不等方式
有可能程序太大放不进任何一个分区;程序小造成内部碎片
无外部碎片,但有内部碎片,存储空间利用率低
动态分区分配
会导致外部碎片,可以通过紧凑的技术来解决,但需要动态重定位寄存器的支持。
动态分区的分配策略
首次适应算法
空闲分区以地址递增的次序链接
最佳适应算法
空闲分区以容量递增的次序链接
最坏适应算法:又称最大适应算法
空闲分区以容量递减的次序链接
邻近适应算法:又称循环首次适应算法
分配内存时从上次查找结束的位置开始继续查找
3.非连续分配管理方式:需要额外的空间去存储分散区域的索引,存储密度小于连续存储方式
基本分页管理方式
分段管理方式
段页式管理方式
(二)虚拟内存管理 1.虚拟内存基本概念 传统存储管理方式的特征 一次性 驻留性
局部性原理
空间局部性原理
时间局部性原理
虚拟存储器的定义和特征
基于局部性原理,为用户提供一个比实际内存大得多的存储器
特征
多次性
对换性
虚拟性
虚拟内存技术的实现
三种方式
请求分页存储管理
请求分段存储管理
请求段页式存储管理
实现需要的硬件支持的方面
一定容量的内存和外存
页表机制,作为主要的数据结构
中断机构
地址变换机构
2.页面置换算法
最佳置换算法(OPT)
先进先出置换算法(FIFO)
最近最少使用置换算法(LRU)
时钟置换算法(CLOCK)。
3.页面分配策略
驻留集大小
固定分配局部置换
可变分配全局置换
可变分配局部置换
调入页面的时机
预调页策略
请求调页策略
从何处调入页面
系统拥有足够的对换区空间
系统缺少足够的对换区空间
UNIX方式
4.工作集
5. 抖动
6.地址翻译
|