memory具体操作系统原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§5.1 存储管理的功能
5.1.2 地址转换(映射) 内存的每个存储单元都有一个编号,这种编号称为内存地
址(或称为物理地址,绝对地址)。内存地址的集合称为 内存空间(或物理地址空间)。 源程序经过汇编或编译后,形成目标程序,每个目标程序 都是以0为基址顺序进行编址的,原来用符号名访问的单元 用具体的数据——单元号取代。这样生成的目标程序占据 一定的地址空间,称为作业的逻辑地址空间,简称逻辑空 间。在逻辑空间中每条指令的地址和指令中要访问的操作 数地址统称为逻辑地址。
§5.2 连续内存分配
§5.2 连续内存分配
在动态分区存储管理中,要有相应的数据结构来登记空闲区 的说明信息,它包括空闲区的大小和位置。
不同系统根据设计要求采用不同的结构。常用的有表结构和 队列结构。
空闲区表的每个表目记录一个空闲区,主要参数包括区号、 长度和起始地址。空闲区队列则是利用每个内存空闲区的头 几个单元存放本空闲区的大小及下个空闲区的起始地址,从 而把所有的空闲区链接起来。
第5章 存储管理
§5.1 存储管理的功能
内存是现代计算机系统的中心,是指CPU能直接存取指令和数 据的存储器,CPU和I/O设备都要和内存打交道。
内存由很大的一组字或字节所组成,每个字或字节都有它们自 己的编号,称为内存地址。
对内存的访问是通过一系列对指定地址单元进行读写来实现的。
§5.1 存储管理的功能
§5.1 存储管理的功能
5.1.3 主存空间的共享和保护 在多道程序设计环境下,内存中的许多用户或系统 程序和数据段可供不同的用户进程共享。这种资源 共享将会提高内存的利用率。但是,反过来说,除 了被允许共享的部分之外,又要限制各进程只在自 己的存储区活动,各进程不能对别的进程的程序和 数据段产生干扰和破坏,因此须对内存中的程序和 数据段采取保护措施。
将要访问的程序地址转换为内存地址。 动态重定位依靠硬件地址Hale Waihona Puke Baidu换机构完成。地址重定位机构需
要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地 址寄存器VR。指令或数据的内存地址MA与逻辑地址的关系为:
MA=(BR)+ (VR) 这里,(BR)与(VR)分别表示寄存器BR与VR中的内容。
§5.1 存储管理的功能
§5.1 存储管理的功能
§5.1 存储管理的功能
5.1.4 主存空间的扩充 对内存进行逻辑上的扩充,现在普遍采用虚拟存储管理技术。 虚拟存储技术的基本思想是把有限的内存空间与大容量的外
存统一管理起来,构成一个远大于实际内存的、虚拟的存储 器。此时,外存是作为内存的直接延伸,用户并不会感觉到 内、外存的区别,即把两级存储器当作一级存储器来看待。 一个作业运行时,其全部信息装入虚存,实际上可能只有当 前运行的必需一部分信息存入内存,其他则存于外存,当所 访问的信息不在内存时,系统自动将其从外存调入内存。
地址映射的方式: 1、静态地址重定位
程序被装入内存时由操作系统的连接装入程序完成程序的 逻辑地址到内存地址的转换。
假定程序装入内存的首地址为BR,程序地址为VR,内存地 址为MR,则地址映射按下式进行:MR=BR+VR 。
§5.1 存储管理的功能
2、动态重定位 动态地址重定位是在程序执行的过程中,每次访问内存之前,
§5.1 存储管理的功能
源程序
逻辑地址空间
0
物理地址空间
Load A data1
100
编译 连接
data1 3456
200
BA=1000
Load A 200
地址映射
Load A 200
3456
1200
3456 。 。
§5.1 存储管理的功能
我们把用户程序装入内存时对有关指令的地址部分的修改 定义为从程序地址到内存地址的地址映射,或称为地址重 定位。
§5.2 连续内存分配
某系统的内存容量为256K,操作系统占用低地址的20K,其 余空间划分成4个固定大小的分区。如下图:
§5.2 连续内存分配
2、动态分区法 动态分区法在作业执行前并不建立分区,分区的建
立是在作业的处理过程中进行的,且其大小可随作 业或进程对内存的要求而改变。这就改变了固定分 区法中那种即使是小作业也要占据大分区的浪费现 象,从而提高了内存的利用率。 采用动态分区法,在系统初启时,除了操作系统中 常驻内存部分之外,只有一个空闲分区。随后,分 配程序将该区依次划分给调度选中的作业或进程。
§5.2 连续内存分配
§5.2 连续内存分配
5.2.2 分区的分配和回收 1.固定分区的分配和回收
当用户程序要装入执行 时,存储管理程序根据 用户程序的大小查询分 区说明表,从中找出一 个满足要求的空闲分区, 并将其分配给申请者。
§5.2 连续内存分配
§5.1 存储管理的功能
内存保护的方式: (1)上、下界存储保护:上、下界保护是一种简单的
存储保护技术。系统可为每个作业设置一对上、下 界寄存器,分别用来存放当前运行作业在内存空间 的上、下边界地址,用它们来限制用户程序的活动 范围。 (2)基址—限长存储保护:上、下界保护的一个变种 是采用基址—限长存储保护。
5.1.1 存储空间的分配和回收 内存的分配与回收是内存管理的主要功能之一。用户程
序通常以文件的形式保存在计算机外存上,为了执行用户程 序,用户程序必须全部或部分装入内存,因此在内外存之间 必须不断交换数据。能否把外存中的数据和程序调入内存, 取决于能否在内存中为它们安排合适的位置。因此,存储管 理模块要为每一个并发执行的进程分配内存空间。另外,当 进程执行结束之后,存储管理模块又要及时回收该进程所占 用的内存资源,以便给其他进程分配空间。
§5.2 连续内存分配
5.2.1 分区管理的基本原理 分区管理的基本原理是给每一个内存中的进程划分一块适当
大小的存储区,以连续存储各进程的程序和数据,使各进程得 以并发执行。 按分区的时机,分区管理可以分为固定分区和动态分区两种 方法。 1、固定分区法:
把内存区固定地划分为若干个大小不等的区域。划分的原则 由系统操作员或操作系统决定。分区一旦划分结束,在整个 执行过程中每个分区的长度和内存的总分区个数将保持不变。