存储管理的基本概念
存储器配置原则
配置方案的原则和设施:
- 少量的快速昂贵存储介质作为缓存部件
- 配置中级别存储接孩子,构成主体。
- 低速,便宜的磁盘存储器作为外部存储或者虚拟存储的后备支持。
目前的配置方案有两种:
- 寄存器、内存、外存相配合
- 寄存器、高速缓存、内存、外存相配合
存储管理的基本任务
- 储存空间的分配和回收
- 地址变换
- 存储共享和保护
- 存储器扩充
- 提高主存储器的利用率
地址重定位
逻辑地址空间
程序经过编译后形成目标代码程序,这类程序中,指令运行和数据访问会限定在一个地址范围内,这个地址空间范围就叫逻辑地址空间,或相对地址空间,或虚地址空间。
物理地址空间
物理地址空间也被称作实地址空间,或绝对地址空间。
描述的是计算机系统中直接存储器所包含的存储单元地址集合。
地址重定位
实和虚地址的操作过程称为重定位
常用存储技术
连续内存分配方式
- 单一连续分区管理:分为系统区和用户区。这种分配机制只支持单机单用户。
- 多分区连续分配管理:内存分为大小不相等的分区,当系统程序占用一个分区,其他用户占用各个分区,分区是连续分配的。可以在使用内存中同时保留多个程序,一次就有可能支持并发程序运行。
覆盖和交换技术
代码段数据段,运行时按照使用的先后,覆盖的方式占用公共内存空间。
将程序中必要的部分安排在常驻内存分区中。不常用的安排在交换内存分区中。不存在调用关系的模块,可以放置在外存。
分页管理技术
分页管理的基本思想
将物理内存视为线性空间,将此空间划分为相同大小的页面,分配内存时以页面单位进行分配。程序的逻辑地址也分为固定大小的页面。可实现逻辑空间向物理空间转换。
动态和静态分页管理
略
段式管理技术
分段管理的基本思想:
将线性空间转换为二维线性空间
其他略
虚拟存储技术
局部性原理
- 程序执行大部分是顺序执行的指令,少部分是调用和转移指令
- 嵌套的深度不会超过五层
- 程序中会存在相当多的循环结构
- 数组的操作局限在一个相当小的范围内
虚拟存储思想
主体思想
- 只将需要执行的程序读到内存中,就可以让程序开始执行。
- 程序执行过程中,缺少代码就请求调用,继续执行。
- 空间不够的时候,暂时不使用的放入交换区中。
优势
- 小空间执行大程序。
- 空间可随意扩展大小
- 有利于并发支持
- 降低设计者难度,不必考虑程序的覆盖结构
需要解决的问题
- 存储空间不连续
- 内外存交换效率低
虚拟存储实现方法
略
存储管理策略
交换策略
0号进程不断地从交换区中换入进程,内存不够时再将进程换出交换区。没有进程换入换出,0号处于睡眠状态。
请求调页策略
内存只保留活动进程页面,而不是全部进程的都放在内存中。需要不活动进程的页面时候会发出缺页中断请求。调取页面。
交换式管理的有点是过程简单,系统开销小。
linux内存管理实现技术
略