4.1 存储器的层次结构
4.1.1 多层结构的存储器系统
- 存储器的多层结构
- 可执行存储器
多层结构:
1> 对通用计算机而言,存储层次至少应具有三级:
✦最高层为CPU寄存器
✦中间为主存
✦最底层是辅存
2> 较高档计算机中,按具体功能可细分为六层:
____CPU寄存器
✦寄存器
____主存
✦高速缓存
✦主存储器
✦磁盘缓存
____辅存
✦固定磁盘
✦可移动存储介质
3> 寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范围。
可执行存储器:
在计算机系统的存储层次中,寄存器和主存储器又被称为可执行存储器。
操作系统的存储管理负责对可执行存储器的分配、回收,以及提供在存储层次间数
据移动的管理机制。
设备和文件管理则根据用户的需求,提供对辅存的管理机制。
4.1.2 主存储器与寄存器
- 主存储器
- 寄存器
- 主存储器:
✦主存储器简称内存或主存。
✦用于保存进程运行时的程序和数据。也称可执行存储器。 - 寄存器:
✦寄存器具有与处理机相同的速度,故对寄存器的访问速度最快。
4.1.3 高速缓存和磁盘缓存
- 高速缓存
- 磁盘缓存
- 高速缓存:
主要用于备份主存中比较常用的数据,以减少处理机对主存储器的访问次数,这样可大幅提高程序执行速度。 - 磁盘缓存:
主要用于暂时存放频繁使用的一部分磁盘数据和信息,以减少访问磁盘的次数。
4.2 程序的装入和链接
4.2.1 程序的装入
- 绝对装入方式
- 可重定位装入方式
- 动态运行时的装入方式
4.2.3程序的链接
- 静态链接方式
- 装入时动态链接
- 静态链接方式
(1)对相对地址进行修改
(2)变换外部调用符号 - 装入时动态链接
(1)便于修改和更新
(2)便于实现对目标模块的共享
4.3 连续分配存储管理方式
4.3.1 单一连续分配
4.3.2 固定分区分配
- 划分分区的方法
- 内存分配
4.3.3 动态分区分配
- 动态分区分配中的数据结构
- 动态分区分配算法
- 分区分配操作
常用的数据结构有以下两种方式:
①空闲分区表
②空闲分区链
分区分配操作:
1> 分配内存。
2> 回收内存。
当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链(表)中找到相应的插入点,此时可能出现以下四种情况之一:
(1)(2)(3)(4)
4.3.4 基于顺序搜索的动态分区分配算法
- 首次适应(FF)算法
- 循环首次适应(NF)算法
- 最佳适应(BF)算法
- 最坏适应(WF)算法
4.3.5 基于索引搜索的动态分区分配算法
- 快速适应算法
- 伙伴系统
- 哈希算法
4.3.6 动态可重定位分区分配
- 紧凑
- 动态重定位
- 动态重定位分区分配算法
1. 连续分配的一个重要特点是:一个系统或用户必须被装入一片连续的内存空间中。
4.4 对换
多道程序环境下的对换技术
- 对换的的引入
- 对换的类型
- 对换:是指把内存中暂时不能运行的进程或者暂时不用的程序和数据换出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据换入内存。
- 对换的类型:
(1)整体对换
(2)页面(分段)对换
4.4.2 对换内存空间的管理
- 对换内存空间管理的主要目标
- 对换区空闲盘块管理中的数据结构
- 对换空间的分配与回收
目标:
(1)对文件区管理的主要目标
(2)对对换空间管理的主要目标
4.4.3 进程的换出与换入
- 进程的换出
- 进程的换入
换出进程可分为两步:
(1)选择被换出的进程
(2)进程换出过程
4.5 分页存储管理方式
4.5.1 分页存储管理的基本方法
- 页面和物理块
- 地址结构
- 页表
4.5.2 地址变换机构
- 基本的地址变换机构
- 具有快表的地址变换结构
4.5.3 访问内存的有效时间
从进程发出指定的地址的访问请求,经过地址变换,到在内存中找到对应的实际物理地址单元并取出数据。
4.5.4 两级和多级页表
- 两级页表
- 多级页表
4.5.5 反置页表
- 反置页表的引入
- 地址变换
4.6 分段存储管理方式
4.6.1 分段存储管理方式的引入
- 方便编程
- 信息共享
- 信息保护
- 动态增长
- 动态链接
4.6.2 分段系统的基本原理
- 分段
- 段表
- 地址变换机构
- 分页和分段的主要区别
分段和分页的主要区别:
(1)页是信息的物理单位
(2)页的大小固定且由系统决定
(3)分页的用户程序地址空间是唯一的。
4.6.3 信息共享
- 分页系统中对程序和数据的共享
- 分段系统中程序和数据的共享
4.6.4 段页式存储管理方式
- 基本原理
- 地址变换过程