第七讲存储器管理 SILBERSCHAT 中国科学技术大学计算机系 计算机操作系统 陈香兰 opera system xlanchen@ustc.edu.cn Concepts 2013Fall ◆大是 嵌入式系统实验室 EMBEDDED SYSTEM LA日口RAT口RY SUZHOU INSTITUTE FOR ADVANCED STUDY OF USTC
第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn 2013Fall
内容提要 ◆存储器的层次结构 ◆程序执行的基础知识、程序的装入和链接 ☆连续分配存储管理方式 ◆分页存储管理方式 冷分段存储管理8 ◆段页式存储管理 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
内容提要 ❖存储器的层次结构 ❖程序执行的基础知识、程序的装入和链接 ❖连续分配存储管理方式 ❖分页存储管理方式 ❖分段存储管理 ❖段页式存储管理
连续内存分配方式( contiguous memory allocation) ☆ Reading: Operating System Concepts, p284 ◆连续分配存储管理方式 >单一连续 1958 固定分区 动态分区 ◆对换 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
连续内存分配方式(contiguous memory allocation) ❖Reading: ➢Operating System Concepts,p284- ❖连续分配存储管理方式 ➢单一连续 ➢固定分区 ➢动态分区 ❖对换
☆内存通常被划分为两个分区( partitions): 系统区:常驻操作系统,通常位于内存低端 用户区:提供给用户(进程)使用,常位于内存高端 ◆连续内存分配是指 从用户区中为每个进程分配一个单独的、连续的 内存空间。 ◆主要有以下两种方式 >单一连续分配方式 多分区式分配方式 ●固定分区式 动态分区式(可变分区式 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
❖内存通常被划分为两个分区(partitions): ➢系统区:常驻操作系统,通常位于内存低端 ➢用户区:提供给用户(进程)使用,常位于内存高端 ❖连续内存分配是指: 从用户区中为每个进程分配一个单独的、连续的 内存空间。 ❖主要有以下两种方式 ➢单一连续分配方式 ➢多分区式分配方式 ⚫固定分区式 ⚫动态分区式(可变分区式)
单一连续分配方式 ◆最简单 只能用于单用户、单任务系统 user 1958 512K 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
单一连续分配方式 ❖最简单 ❖只能用于单用户、单任务系统
◆存储保护机制 存储管理单元,MMU limit relocation register register logical physical address yes CPU *address memo trap; addressing error 或者不采用任何存储保护机制 ●出于信任,或采用再启动方式, 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
❖存储保护机制 ➢存储管理单元,MMU ➢或者不采用任何存储保护机制 ⚫出于信任,或采用再启动方式
多分区式分配方式 支持多道程序 >用户区被进一步划分为若干个分区 >每一个分区装载一个进程 多道程序度与分区的个数有关 ◆根据分区大小是固定的还是可变的 >固定分区方式 大小固定;等大小or不等大小 动态分区方式(可变分区方式) ●动态&可变:内存的划分是动态的,分区的大小随进程的大 小确定,分区的数目随系统的运行而不断变化 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
多分区式分配方式 ❖支持多道程序, ➢用户区被进一步划分为若干个分区 ➢每一个分区装载一个进程 ➢多道程序度与分区的个数有关 ❖根据分区大小是固定的还是可变的 ➢固定分区方式 ⚫大小固定;等大小 or 不等大小 ➢动态分区方式(可变分区方式) ⚫动态&可变:内存的划分是动态的,分区的大小随进程的大 小确定,分区的数目随系统的运行而不断变化
固定分区分配方式 ◆支持多道程序,用于60年代BM-360的MFT中 ◆分区的划分方法,两种 等大小 不等大小 但分区的大小一旦确定就不再发生变化 ◆分配算法: 按大小顺序建立分区使用表 嵌入式系统实验室 EM目 EDDED SYSTEM LA口RAT口RY
固定分区分配方式 ❖支持多道程序,用于60年代IBM-360的MFT中 ❖分区的划分方法,两种 ➢等大小 ➢不等大小 但分区的大小一旦确定就不再发生变化 ❖分配算法: ➢按大小顺序建立分区使用表
操作系统 分区号大小(KB)起始地址K状态45作业A 15 30 已分配 作业B 30 45 已分配75k 50 75 已分配 4 100 125 已分配 作业C 固定分区使用表 125K ◆分配算法 225K 嵌入 EM目 EDDED SYSTEM LA口RAT口RY
0 分区号 大小(KB) 起始地址(K) 状态 1 15 30 已分配 2 30 45 已分配 3 50 75 已分配 4 100 125 已分配 操作系统 作业A 作业B 作业C 30K 45K 75K 125K 225K 固定分区使用表 ❖分配算法
令缺点 内存利用率低 冷定义:内部碎片和外部碎片 内部碎片:已经分配出去但得不到利用的存储区域 外部碎片:不能被利用的小分区 心解决方案:动态分区 OS OS OS OS process 3 process 2 process 2 Has to wait process 1 process 1 ntenal fragmentation
❖缺点 ➢内存利用率低 ❖定义:内部碎片和外部碎片 ➢内部碎片:已经分配出去但得不到利用的存储区域 ➢外部碎片:不能被利用的小分区 ❖解决方案:动态分区