导图社区 OS
OS定义: 操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源以及软件资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,
社区模板帮助中心,点此进入>>
妈妈必读:一张0-1岁孩子认知发展的精确时间表
电费水费思维导图
D服务费结算
人际关系处理
人际交往思维导图
人生导航
处理人际关系6项原则
进行头脑风暴的准则的思维导图
自卑与超越
超强思维训练课
中心主题
内存管理
内存管理概念
内存管理的基本原理和要求
1. 功能
内存空间的分配与回收
地址转换
内存空间的扩充
虚存或覆盖技术 从逻辑上扩充
子主题虚存或覆盖技术 从逻辑上扩充
内存共享
存储保护
2. 程序的装入与链接
编译
链接
静态链接
需要解决两个问题: 1.修改相对地址 2.变换外部调用符号
装入时动态链接
优点
是边装入边链接 优点:便于修改和更新,便于实现对目标模块的共享
运行时动态链接
程序执行时需要用到该目标模块时,才会链接该目标模块 优点:加快程序的装入过程,并能节省内存空间
装入
绝对装入
适用于单道程序环境 是以绝对地址装入
可重定位装入
又称静态重定位 (由于地址变换实在进程装入时一次完成的) 适用于多道程序环境 需要一次性分配给作业要求的全部内存空间
动态运行时装入
也称 动态重定位 地址转换要等到程序真正要执行时才转换为绝对地址。(装入程序把装入模块装入内存后,是相对地址) 需要一个重定位寄存器的支持 优点: 可以将程序分配到不连续的存储区; 只需要部分代码即可运行程序,需要时再动态申请分配内存; 便于程序段的共享
3. 逻辑地址与物理地址
编译后,每个目标模块都从0号单元开始编址,这称为该目标模块的相对地址(或逻辑地址) 物理地址空间是指内存中物理单元的集合,是地址转换的最终地址,进程在运行时执行指令和访问数据,最后都要通过物理地址从主存中存取。 OS通过内存管理部件(MMU)将进程使用的逻辑地址转换为物理地址。 逻辑地址通过页表映射到物理内存,页表由OS维护并被处理器引用
4. 进程的内存映像
一般有下面五个要素: 代码段: 数据段: 进程控制块(PCB): 堆: 栈:
5. 内存保护
在CPU中设置一对上下限寄存器
采用重定位寄存器和届地址寄存器
重定位寄存器含最小的物理地址值, 界地址寄存器含逻辑地址的最大值。 逻辑地址+重定位寄存器中的值=物理地址 再与界地址寄存器中的值比较,未越界则送交内存单元 使用这两个寄存器时需要特权指令。
6. 内存共享
只读区域才可以共享,需要修改时给每个进程配以局部数据区再修改局部数据区的值
7. 内存分配与回收
存储管理方式随OS的发展而不断发展。 在OS由单道->多道时, 存储管理方式由单一连续分配->固定分区分配 为了能适应不同大小的程序要求时, 从固定分区分配->动态分区分配 为了更好地提高内存利用率,从连续分配方式->离散分配方式——页式存储管理 引入分段存储管理的目的:为了满足用户在编程和使用方面的要求
覆盖与交换
多道程序环境下来扩充内存的两种方法
覆盖
思想
将用户空间分为一个固定区和若干覆盖区。 将经常活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区,其他段放在外存中,在需要调用前,系统再将其调入覆盖区,替换覆盖区中原有的段。
特点
打破了必须将一个程序的全部信息装入主存后才能运行的限制,但当同时运行程序的代码量大于主存时仍不能运行 此外,内存中能够更新的地方只有覆盖区的段,不在覆盖区中的段会常驻内存,覆盖技术对用户的程序员不透明 现在该技术已经成为历史
交换
把处于等待状态的程序从内存移到辅存,把内存空间腾出来(这一过程又称换出),把准备好竞争CPU运行的程序从辅存移到内存(...换出)
主要在不同进程(或作业)之间进行 需要注意的问题: 交换需要备份存储。。。。
连续分配方式
这三种内存分区管理方法都是:用户程序在主存中都是连续存放的
单一连续分配
在此方式下,内存分为系统区和用户区, 系统区 仅供OS使用,通常在低地址部分 用户区 仅有一道用户程序 优点:简单,无外部碎片,无须进行内存保护 缺点:只能用于单用户、单任务的OS,有内部碎片,存储器的利用率极低
固定分区分配
是最简单的一种多道程序存储管理方式 两种分区方法: 分区大小相等。程序太小会造成浪费,程序太大又无法装入,缺乏灵活性。 分区大小不等。划分为多个较小的分区、适量的中等分区和少量大分区。 会建立一个分区说明表,按分区大小排队,查看是否已分配 会产生内部碎片
动态分区分配
又称可变分区分配 随时间的推移,内存中会产生越来越多小的内存块,内存的利用率页随之下降,即会产生外部碎片。 四种分配算法: 首次适应算法:空闲分区以地址递增的次序链接。分配内存时,从链首开始顺序查找,找到大小能满足要求的第一个空闲分区分配给作业 邻近适应算法:(循环首次适应算法)分配内存时从上次查找结束的位置开始查找 最佳适应算法:空闲分区按容量递增的次序形成空闲分区链,找到第一个能满足要求且最小的空闲分区分配给作业 最坏适应算法:空闲分区以容量递减的次序链接,找到第一个能满足要求的,即最大的分区,从中分割一部分存储空间给作业
基本分页存储管理
分页的思想:把主存空间划分为大小相等且固定的块,块相对较小,作为主存的基本单位。 不会产生外部碎片 每个进程平均只产生半个块大小的内部碎片(也称页内碎片)
分页存储的几个概念
页面和页面大小
进程中的块称为页或页面 内存中的块称为页框或页帧 外存也以同样的单位进行划分,直接称为块或盘块
地址结构
31 12 11 0 页号P 页内偏移量W 0~11位为页内地址,每页大小为4KB, 12~31位为页号,最多允许2^20页
页表
为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,它记录页面在内存中对应的物理块号,页表一般存放在内存中 作用:实现从页号到物理块号的地址映射 页表是由页表项组成的
基本地址变换机构
具有快表的地址变换机构
基本分段管理
分段
段表
地址变换机构
段的共享与保护
段页式管理
虚拟内存管理
子主题