6.1存储管理功能 存储分配和去配 分配去配对象 内存、外存(相同方法) 分配去配时刻 ●进程创建、撤销、交换、长度变化 ●存储共享 目的:节省内存、相互通讯 内容:代码、数据 ●存储保护 防止地址越界 防止操作越权
6.1 存储管理功能 ⚫ 存储分配和去配 – 分配去配对象 ⚫ 内存、外存(相同方法) – 分配去配时刻 ⚫ 进程创建、撤销、交换、长度变化 ⚫ 存储共享 – 目的:节省内存、相互通讯 – 内容:代码、数据 ⚫ 存储保护 – 防止地址越界 – 防止操作越权
6.1存储管理功能(Cont) 存储扩充 内存、外存结合,虚拟存储体系 速度接近内存,容量相当外存 地址映射 逻辑地址一>物理地址 硬件支持 ●基址寄存器(base)、限长寄存器(limt)、快表 ●使用上述寄存器完成地址映射过程; ●不能正常完成地址映射时产生中断
6.1 存储管理功能(Cont.) ⚫ 存储扩充 – 内存、外存结合,虚拟存储体系 – 速度接近内存,容量相当外存 ⚫ 地址映射 – 逻辑地址=>物理地址 – 硬件支持 ⚫ 基址寄存器(base)、限长寄存器(limit)、快表; ⚫ 使用上述寄存器完成地址映射过程; ⚫ 不能正常完成地址映射时产生中断
62内存资源管理 62.1内存分区 分区时刻 ●静态分区:系统初始化时分 ●动态分区:申请时分。 分区大小 ●等长分区:2 ●异长分区:依程序、程序单位、对象大小。 通常作法 ●静态+等长(页式、段页式) ●动态+异长(段式、界地址)
6.2 内存资源管理 ⚫ 6.2.1 内存分区 – 分区时刻 ⚫ 静态分区:系统初始化时分; ⚫ 动态分区:申请时分。 – 分区大小 ⚫ 等长分区:2 i ⚫ 异长分区:依程序、程序单位、对象大小。 – 通常作法 ⚫ 静态+等长(页式、段页式) ⚫ 动态+异长(段式、界地址)
62.2内存分配 ●静态等长分区的分配 字位映象图 空闲页面表 空闲页面链 ●动态异长分区的分配 最先适应( First fit 最佳适应( Best fit 最坏适应( Worst fit)
6.2.2 内存分配 ⚫ 静态等长分区的分配 – 字位映象图 – 空闲页面表 – 空闲页面链 ⚫ 动态异长分区的分配 – 最先适应 (First Fit) – 最佳适应 (Best Fit) – 最坏适应 (Worst Fit)
字位映象图( bit map) 用一个b代表一页状态,0表空闲,1表占用。(多单元) 1p可10 第第第 012 页页页 第一页 第=页 分配:自头寻找第一个为0的位,改为1,返回页号; 去配:页号对应的位(b)置为0
字位映象图(bit map) 1 0 0 … 1 ... 1 0 第 0 页 第 2 页 第 1 页 第k 页 第n 页 ... ... 分配:自头寻找第一个为0的位,改为1,返回页号; 去配:页号对应的位(bit)置为0。 用一个bit代表一页状态,0表空闲,1表占用。( 多单元)
空闲页面表 首页号空页数 占用 120页 120 4 121页 122页 123页 特点:可以分配连续页面。 占用
空闲页面表 首页号 空页数 ... ... ... ... 120 4 特点:可以分配连续页面。 占用 占用 120页 121页 122页 123页 ...