三、地址重定位(映射) (2)动态重定位 在程序执行过程中进行,当CPU访问内存指令时由动态变换机构自动 进行地址转换 时机:在程序执行过程中,cpu每次访问内存单元前才进行地址转换 实现:装配模块不加任何修改而转入内存,由定位寄存器和加法器硬 件完成。 特点:部分、动态地完成。 性能分析: 优点——程序裝入内存之后再搬迁也不会影响其正确执行;每个目标模 块装入的存储区不必顺序相邻,只需要各自对应的定位寄存器即可 缺点——需要硬件支持。 计算机软件技术基础 存储管理
计算机软件技术基础 存储管理 (2)动态重定位 ▪ 在程序执行过程中进行,当CPU访问内存指令时由动态变换机构自动 进行地址转换。 ▪ 时机:在程序执行过程中,cpu每次访问内存单元前才进行地址转换。 ▪ 实现:装配模块不加任何修改而转入内存,由定位寄存器和加法器硬 件完成。 ▪ 特点:部分、动态地完成。 ▪ 性能分析: 优点---程序装入内存之后再搬迁也不会影响其正确执行;每个目标模 块装入的存储区不必顺序相邻,只需要各自对应的定位寄存器即可。 缺点---需要硬件支持。 三、地址重定位(映射)
三、地址量定位(噢射) 例 内存 000 100L0AD1,1300 100LOAD1,300 3005678 13005678 400 1400 0 1000 1000 100LOAD1,300 1100LOAD1,300 3005678 400 13005678 1400 计算机软件技术基础 存储管理
计算机软件技术基础 存储管理 三、地址重定位(映射) ▪ 例: 0 100 300 400 LOAD 1,300 5678 LOAD 1,300 5678 0 100 300 400 1000 1100 1300 1400 LOAD 1,1300 5678 1000 1100 LOAD 1,300 1300 5678 1400 内存 1000 +
9.1概迷 四、存储管理的功能 1.多道并发环境中内存管理面临的问题: 防冲突;保护0S;合理分配;扩充;虚-实。 2.主要功能: 内存的分配与回收; 地址重定位; 内存信息的共享与保护:为了保护存储区内各类程序和信息不受某 些错误程序的破坏和干扰,须采取保护措施。 内存的扩充(满足用户对内存超容量要求):当作业的地址空间大 于分配到的存储空间时需采取内存扩充技术,将内外存联合起来扩 大存储空间,常采用的内存扩充技术有覆盖、交换和虚拟存储技术。 内、外存数据传输的控制。 目标:安全、高效、方便、最大限度地提高内存的利用率。 计算机软件技术基础 存储管理
计算机软件技术基础 存储管理 四、存储管理的功能 1. 多道并发环境中内存管理面临的问题: 防冲突; 保护OS; 合理分配; 扩充;虚---实。 2. 主要功能: ▪ 内存的分配与回收; ▪ 地址重定位; ▪ 内存信息的共享与保护:为了保护存储区内各类程序和信息不受某 些错误程序的破坏和干扰,须采取保护措施。 ▪ 内存的扩充(满足用户对内存超容量要求):当作业的地址空间大 于分配到的存储空间时需采取内存扩充技术,将内外存联合起来扩 大存储空间,常采用的内存扩充技术有覆盖、交换和虚拟存储技术。 ▪ 内、外存数据传输的控制。 目标:安全、高效、方便、最大限度地提高内存的利用率。 9.1 概述
9.2早期的存储管理技术 分区式分配方式 目的:为了满足多道程序设计思想 方法:将内存划分为若干个分区,每个分区分配给一个作业,用静态 重定位方式进行地址转换,提供必要的保护手段,保证各作业互 不干扰。在分区的划分方式上有固定分区和可变分区两种。 团定式分区(静态分区) 思想:存储器事先被划分为若干个大小不等的分区,系统为每个 分区设置一个目录,说明该分区的大小、起始位置、分配状况等 信息,所有分区目录构成一个分区说明表;用户为每个作业规定 所需的最大存储量,存储管理程序负责找出一个足够大的分区分 配给此作业。一旦划分好,在系统运行期间不再重新划分。 实施:通过分区说明表实行内存管理。 计算机软件技术基础 存储管理
计算机软件技术基础 存储管理 目的:为了满足多道程序设计思想。 方法:将内存划分为若干个分区,每个分区分配给一个作业,用静态 重定位方式进行地址转换,提供必要的保护手段,保证各作业互 不干扰。在分区的划分方式上有固定分区和可变分区两种。 一、固定式分区(静态分区) ▪ 思想:存储器事先被划分为若干个大小不等的分区,系统为每个 分区设置一个目录,说明该分区的大小、起始位置、分配状况等 信息,所有分区目录构成一个分区说明表;用户为每个作业规定 所需的最大存储量,存储管理程序负责找出一个足够大的分区分 配给此作业。一旦划分好,在系统运行期间不再重新划分。 ▪ 实施:通过分区说明表实行内存管理。 9.2 早期的存储管理技术 ---分区式分配方式
固定式分区0 OS 区号大小起址标志 JobA(k)}第一分区 8K 20K 已分 28k 32K28K 已分 JobB(25k)}第二分区 234 60k 64K60K 已分 Job C(40k) 第三分区 132K124K未分 124k (a)分区说明表 132K 第四分区 A(6 6k)B(25k)c(40k)D(150k) 256K (c)后备队列作业 (b)内存分配图 性能:分区大小固定,状态表的结构可以是顺序表也可以是链表;实现了 多个作业共享内存;分区的分配和回收算法简单;缺点是内存利用不充 足,有“碎片”,即作业所需空间和分区大小不一定恰好相等。 计算机软件技术基础 存储管理
计算机软件技术基础 存储管理 性能:分区大小固定,状态表的结构可以是顺序表也可以是链表;实现了 多个作业共享内存;分区的分配和回收算法简单;缺点是内存利用不充 足,有“碎片” ,即作业所需空间和分区大小不一定恰好相等。 区号 大小 起址 标志 1 8K 20K 已分 2 32K 28K 已分 3 64K 60K 已分 4 132K 124K 未分 A(6k) B(25k) C(40k) D(150k) (a)分区说明表 0 20k 28k 60k 124k OS Job A(6k) ………… Job B(25k) ………… Job C(40k) ………… 256K 第一分区 第二分区 第三分区 132K 第四分区 (c)后备队列作业 (b)内存分配图 一、固定式分区