当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华北电力大学《操作系统》PPT教案_第五课 存储器管理(Memory Management)

资源类别:文库,文档格式:PPT,文档页数:88,文件大小:613KB,团购合买
点击下载完整版文档(PPT)

第五课存储器管理( Memory Management) 教学目的: 存储器是计算机系统的重要组成部分,虽然内存容量在不断 扩大,但内存仍是宝贵资源,如何提高主存储器利用率,并扩 充大主存,对主存信息实现有效保护是存储器管理主要任务, 也是各种不同存储管理方法的目标。“瓶颈”问题

第五课 存储器管理(Memory Management) 教学目的: 存储器是计算机系统的重要组成部分,虽然内存容量在不断 扩大,但内存仍是宝贵资源,如何提高主存储器利用率,并扩 充大主存,对主存信息实现有效保护是存储器管理主要任务, 也是各种不同存储管理方法的目标。“瓶颈”问题

教学要求 熟悉存储管理目的和功能,掌握地址重定位的概念。 熟悉单一连续分配、固定分区分配、动态分区分配实现原理: 掌握可变式分区分配的数据结构和分配回收算法,掌握动态重 定位分区分配实现原理和分配算法。 熟悉覆盖与交换的概念 熟练掌握分页存储管理原理,熟练掌握基本的地址变换机构和 具有快表的地址变换机构,了解两级页表机制。 掌握分段存储管理原理和分段地址变换机构,掌握分页和分段 比较,熟悉分页和分段的共享,掌握段页式存储管理原理和地 址变换机构

教学要求: 熟悉存储管理目的和功能,掌握地址重定位的概念。 熟悉单一连续分配、固定分区分配、动态分区分配实现原理; 掌握可变式分区分配的数据结构和分配回收算法,掌握动态重 定位分区分配实现原理和分配算法。 熟悉覆盖与交换的概念。 熟练掌握分页存储管理原理,熟练掌握基本的地址变换机构和 具有快表的地址变换机构,了解两级页表机制。 掌握分段存储管理原理和分段地址变换机构,掌握分页和分段 比较,熟悉分页和分段的共享,掌握段页式存储管理原理和地 址变换机构

51存储管理概述 存储管理目的和功能: 主存储器(内存)的分配和回收 内存分配的主要任务是为每一道程序分配内存空间,使它们 “各得其所”。使程序员无须关心存储分配问题,由0S完成。 2。存储保护 内存保护的任务是确保每道程序都在自己的内存空间运行, 互不干扰。程序与0S也互不干扰。 3。地址映射:一个应用程序经编译后-—若干个目标程序—链 接形成可装入程序。逻辑地址一—-物理地址 4。内存扩充 内存扩充的任务是从逻辑上来扩充内存容量,使用户认为系统 所拥有的内存空间远比其实际的内存空间(硬件RAM)大的多。 请求调入和置换功能。 提高主存储器的利用率,减少不可用的存储空间(称为“零 头),允许多道程序动态共享主存

5.1 存储管理概述 存储管理目的和功能: 1。主存储器(内存)的分配和回收 内存分配的主要任务是为每一道程序分配内存空间,使它们 “各得其所” 。使程序员无须关心存储分配问题,由OS完成。 2。存储保护 内存保护的任务是确保每道程序都在自己的内存空间运行, 互不干扰。程序与OS也互不干扰。 3。地址映射:一个应用程序经编译后----若干个目标程序—链 接形成可装入程序。逻辑地址----物理地址。 4。内存扩充 内存扩充的任务是从逻辑上来扩充内存容量,使用户认为系统 所拥有的内存空间远比其实际的内存空间(硬件RAM)大的多。 请求调入和置换功能。 提高主存储器的利用率,减少不可用的存储空间(称为“零 头),允许多道程序动态共享主存

52程序的装入和链接 一个用户源程序变为一个可在内存中执行的程序要做: 1)编译用户源代码一>几个目标模块/程序。 2)链接由链接程序把目标模块+它们所需库函数一>可装入模块。 3)装入由装入程序把裝入模块一>内存。 例:一个 PASCAL源程序。 5.2.1程序的装入 内存 OS 装入模块 用户区 2001年9月20日9时23分 计算机操作系统

2001年9月20日9时23分 计算机操作系统 5.2程序的装入和链接 一个用户源程序变为一个可在内存中执行的程序要做: 1)编译 用户源代码—>几个目标模块/程序。 2)链接 由链接程序把目标模块+它们所需库函数—>可装入模块。 3)装入 由装入程序把装入模块—>内存。 例:一个PASCAL源程序。 5.2.1 程序的装入 装入模块 内存 OS 用户区

52程序的装入和链接 例:一个可执行程序 ball. exe/ play. exe,直接输入bal/play即可, 装入程序→内存运行(涉及到内存分配问题) 次装入→静态分配问题(一次性地把进程所需资源分配给它) 部分装入→动态分配问题 绝对装入 可重定位装入 运行时装入 、绝对装入方式(适应于单用户系统)汇编8088中启动各个段 由编程人员指定位置装入内存/或编译程序对源程序编译时,所 用的是实际存储地址。若是多用户,必须默契,实际工作中不 可能。所以多用户系统不采用该方式 2001年9月20日9时23分 计算机操作系统

2001年9月20日9时23分 计算机操作系统 5.2程序的装入和链接 例:一个可执行程序 ball.exe/play.exe,直接输入ball/play即可, 装入程序→内存运行(涉及到内存分配问题)。 一次装入→静态分配问题(一次性地把进程所需资源分配给它)。 部分装入→动态分配问题 绝对装入 可重定位装入 运行时装入 一、绝对装入方式(适应于单用户系统)汇编8088中启动各个段。 由编程人员指定位置装入内存/或编译程序对源程序编译时,所 用的是实际存储地址。若是多用户,必须默契,实际工作中不 可能。所以多用户系统不采用该方式

52程序的装入和链接 二、可重定位装入 在装入时才确定对进程/作业的内存分配,需采用下述两个技术手段: 1)把逻辑地址与物理地址分开; 2)对逻辑地址采用地址重定位; 两个概念:地址空间和存储空间 1、地址空间 在源程序中,是通过符号名来访问子程序和数据的,我们把程序中符号名 的集合称为“名字空间”。汇编语言源程序经过汇编,或者高级语言源程序 经过编译,得到的目标程序是以“0”作为参考地址的模块。然后多个目标模 块由连接程序连接成一个具有统一地址的装配模块,以便最后装入内存中执 行。我们把目标模块中的地址称为相对地址(或称为“逻辑地址”),而把 相对地址的集合称为“相对地址空间”或简称为“地址空间”。 2、存储空间主存中一系列存储信息的物理单元的集合。这些单元的编号成为 物理地址或绝对地址。 2001年9月20日9时23分 计算机操作系统

2001年9月20日9时23分 计算机操作系统 5.2程序的装入和链接 二、可重定位装入 在装入时才确定对进程/作业的内存分配,需采用下述两个技术手段: 1)把逻辑地址与物理地址分开; 2)对逻辑地址采用地址重定位; 两个概念:地址空间和存储空间。 1、地址空间 在源程序中,是通过符号名来访问子程序和数据的,我们把程序中符号名 的集合称为“名字空间”。汇编语言源程序经过汇编,或者高级语言源程序 经过编译,得到的目标程序是以“0”作为参考地址的模块。然后多个目标模 块由连接程序连接成一个具有统一地址的装配模块,以便最后装入内存中执 行。我们把目标模块中的地址称为相对地址(或称为“逻辑地址”),而把 相对地址的集合称为“相对地址空间”或简称为“地址空间”。 2、存储空间 主存中一系列存储信息的物理单元的集合。这些单元的编号成为 物理地址或绝对地址

52程序的装入和链接 3、什么是地址重定位? 装配模块虽然具有统一的地址空间,但是仍是以“0”作为参考地址,即是 浮动的。要把它装入内存执行,就要确定装入内存的实际物理地址,并修改程 序中与地址有关的代码,这一过程称为地址重定位。即从逻辑地址→物理地址 相对地址→绝对地址 程序的名字空间、地址空间和存储空间之间的关系如图所示 符号 源程序 一连相对目标程地址重 汇编/编谇 绝对目标程 序(装配模 装川序 块) 名字空间 地址空间 存储空间 (相对地址/逻辑地址空间)(绝对地址/物理地址空间

5.2程序的装入和链接 3、什么是地址重定位? 装配模块虽然具有统一的地址空间,但是仍是以“0”作为参考地址,即是 浮动的。要把它装入内存执行,就要确定装入内存的实际物理地址,并修改程 序中与地址有关的代码,这一过程称为地址重定位。即从逻辑地址→物理地址 相对地址→绝对地址 程序的名字空间、地址空间和存储空间之间的关系如图所示: 汇编/编译 地址重定位 连 接 装 入 名字空间 地址空间 存储空间 (相对地址/逻辑地址空间)(绝对地址/物理地址空间) 符 号 源 程 序 相对目标程 序 ( 装配模 块) 绝对目标程 序

4、地址重定位类型 地址重定位完成把相对地址转换成内存中的绝对地址,这个过程称为地址映射 (map)。按照重定位的时机,可分为静态重定位和动态重定位 1)静态重定位 静态地址映射是在程序装入内存时完成从逻辑地址到物理地址的转换的。 在一些早期的系统中都有一个装入程序(加载程序),它负责将用户程序装入系 统,并将用户程序中使用的访问内存的逻辑地址转换成物理地址。如图所示 10u 100 mov r1-[500] 1100mnvr1[15oo1 装入程序 50叫12345 l5012345 599 a程疗地址空 256K-1 b内存空间

4、地址重定位类型 地址重定位完成把相对地址转换成内存中的绝对地址,这个过程称为地址映射 (map)。按照重定位的时机,可分为静态重定位和动态重定位。 1)静态重定位 静态地址映射是在程序装入内存时完成从逻辑地址到物理地址的转换的。 在一些早期的系统中都有一个装入程序(加载程序),它负责将用户程序装入系 统,并将用户程序中使用的访问内存的逻辑地址转换成物理地址。如图所示

地址重定位-2 0 10000 100LOAD1,2500 10100:LOAD1,12500 2500365 12500:365 2600: 12600: 程序的地址空间 内存的地址空间 例如:LOAD1,2500这条指令是把相对地址为2500的存储单元 的内容365装入1号累加器。而这时内容为365的存储单元的实际 物理地址为12500(起始地址10000+相对地址250),所以 LOAD1,2500这条指令中的直接地址码要作相应的修改,即 改为LOAD1,12500

地址重定位-2 0: 10000: 100 LOAD 1,2500 10100: LOAD 1,12500 2500: 365 12500: 365 2600: 12600: 程序的地址空间 内存的地址空间 例如:LOAD 1,2500 这条指令是把相对地址为2500的存储单元 的内容365装入1号累加器。而这时内容为365的存储单元的实际 物理地址为12500(起始地址10000+相对地址2500),所以 LOAD 1,2500 这条指令中的直接地址码要作相应的修改,即 改为LOAD 1,12500

地址重定位-3 在程序中需要修改的位置称为重定位项。程序装入内存中的起 始地址称为重定位因子。为了支持静态重定位,连接程序在生成统 一地址空间和装配模块时,还应产生一个重定位项表。所以操作系 统的装入程序要把装入模块和重定位项表一起装入内存。由装配模 块的实际装入起始地址得到重定位因子,然后取重定位项,加上重 定位因子得到欲修改位置的实际地址,最后对实际地址中的内容再 加上重定位因子,从而完成指令代码的修改。当完成重定位后,就 可以启动程序执行 静态重定位虽然有无须硬件支持的优点,但是也存在明显的缺 点:一是程序重定位以后就不能在内存中移动;二是要求程序的存 储空间是连续的,不能把程序存储到若干个不连续的区域中

地址重定位-3 在程序中需要修改的位置称为重定位项。程序装入内存中的起 始地址称为重定位因子。为了支持静态重定位,连接程序在生成统 一地址空间和装配模块时,还应产生一个重定位项表。所以操作系 统的装入程序要把装入模块和重定位项表一起装入内存。由装配模 块的实际装入起始地址得到重定位因子,然后取重定位项,加上重 定位因子得到欲修改位置的实际地址,最后对实际地址中的内容再 加上重定位因子,从而完成指令代码的修改。当完成重定位后,就 可以启动程序执行。 静态重定位虽然有无须硬件支持的优点,但是也存在明显的缺 点:一是程序重定位以后就不能在内存中移动;二是要求程序的存 储空间是连续的,不能把程序存储到若干个不连续的区域中

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共88页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有