-
-
- 动态可重定位分区分配
- 紧凑
- 动态重定位
- 动态重定位分区分配算法 (增加了紧凑功能)
- 动态可重定位分区分配
-
-
对换
-
对换类型:
-
整体对换(进程对换,处理机的中级调度)
必须实现:对换空间管理、进程换出、进程换入
-
页面(分段)对换(部分对换,虚拟存储器管理)
-
-
磁盘空间分为文件区和对换区
-
对换空间的分配与回收
兑换分区采用连续分配方式,算法同动态分区方式(ff cff bf wf)
-
进程的换出与换入
- 换出
- 换入(“就绪”状态但已换出的进程)
-
离散分配:一个进程直接分散的装入到许多不相邻接的分区中,无需紧凑
- 类型:
- 分页存储管理
- 分段存储管理
- 段页式存储管理
- 类型:
-
-
分页存储管理
-
页面和物理块
-
基本原理:
1)内存被划分为大小固定相等的块(Frame帧、页框、主存块),且块相对比较小
2)每个进程装入时被分成同样大小的页(Page),一页装入一帧
3)整个进程被离散装入到多个不连续的帧
-
地址结构:页号P + 位移量W
-
位示图:整个系统一张,记录内存使用情况
-
数据结构:页表(PT):能在内存中找到每个页面对应的物理块,页表中登记进程各页面对应的帧号,供地址映射使用
-
页面分配算法
-
地址划分: 页号(高端地址部分)+ 页内的偏移量(低端地址部分)
-
地址变换机构
-
逻辑地址变换为内存空间中的物理地址
-
页表功能是由一组专门的寄存器来实现的
-
具有快表的地址变换机构-为了提高地址转换速度
a)在一般的分页管理系统中,处理机每次读出/写入一个数据,需要访问( 2 )次内存;而在分区存储管理系统中,需要访问( 1)次内存。
b)在一般的分页管理系统中,执行一条一地址指令,需要访问( 3)次内存;执行一条三地址指令,需要访问( 6)次内存。
- 快表:存储在高速缓存
- 快表:内容为页表中最近使用的页表项
-
-
访问内存的有效时间:从进程发出指定逻辑地址的访问请求,经过地址变换,到在内存中找到对应的实际物理地址单元并取出数据,花费的总时间成为内存的有效访问时间(ETA)
-
无快表:EAT = t + t = 2t
-
有快表:EAT = p*t1 + (t2 + t1) * (1-p) + t2 = 2t2 + t1 - t2 * p
(t1:查找快表需要时间 p:命中率 t2:访问一次内存需要时间)
-
有效访存时间 = 地址转换时间 + 读写一个页面的时间
地址转换时间 = 访问一次快表或者页表的时间
读写一个页面的时间 = 访问一次内存的时间
访问一次快表的时间 = 访问一次快存的时间
访问一次页表的时间 = 访问一次内存的时间
-
平均内存有效访问时间T:
T = p * (t1 + t2) + (1 - p) * (t1 + 2t2)
-
-
两级和多级页表
-
反置页表:为每一个物理块设置一个页表项
-
-
分段存储管理方式
- 段是进程的一个组成部分
- 代码段 数据段 堆栈段 内存共享段
- 一段占用一块连续存储区
- 各段占用不连续分区
- 特点:
- 方便编程 2. 信息共享 3. 信息保护 4. 动态增长 5. 动态链接
- 基本原理:
- 分段:各段长度不等
- 逻辑地址:段号 + 段内地址
- 段表ST:段号 + 段长 + 基址
-
分页分段
-
相同点:离散分配 采用地址映射机构实现地址转换
-
区别:
-
信息单位:
页是信息的物理单位 段是信息的逻辑单位
-
划分:
页的页面大小固定 段的长度不固定
-
地址维度:
分页:用户程序地址空间是一维的
分段:用户程序地址空间是二维的
分页存储管理方式 分段存储管理方式 将程序分成固定大小的页 将程序分成不同的段 OS负责实现 编译器负责实现 速度快 速度比分页慢 针对OS 针对用户 有内部碎片 有外部碎片 逻辑地址分为页号和页内偏移量 逻辑地址分为段号和段偏移量 页表 段表 -
-
-
段页式存储管理
先将用户程度分成若干个段,再把每个段分成若干个页
- 地址结构:段号 + 段内页号 + 页内地址
- 段表 + 页表
注意!!!!:先看4 存储器管理(上)