新第4章存储器管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《新第4章存储器管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 管理 课件
- 资源描述:
-
1、本章要点 存储器管理的有关概念存储器管理的有关概念 内存的覆盖和交换技术内存的覆盖和交换技术 存储器的具体管理方法存储器的具体管理方法内存的分配和回收提高内存的利用率实现地址映射“扩充”主存容量存储保护:哪些是已分配的,哪些是未分配的 在系统程序或用户提出申请时,分配相应的空间,同时修改内存记录表,并相应地修改分配记录表 用户作业使用的逻辑地址 装入内存按照实际的地址空间 所以需要有从逻辑地址到实际地址的转换机制 扩种不是物理的增大内存容量,而是对内存空间的逻辑扩充(通过软件的方法),即:用户感受到的内存容量,比实际的内存容量大确保各道作业都在所分配的存储区诶操作,互不干扰程序员在编写程序时,
2、或编译程序对源程序进行编译时,所用的是实际存储地址,为用户分配内存就按照这个实际地址进行分配前提:存储器的可用容量是固定且可知的 存储分配所要解决的问题是:1、程序在装入的时候才确定实际地址2、一个作业装入时必须分配其要求的全部存储量3、存储空间不够,不能装入该作业4、作业退出系统前,一直占用它的存储空间1、程序在装入的时候才确定实际地址2、一个作业无需全部一次性装入3、在其执行过程中可根据需要申请存储空间 4、作业的占用的存储空间,可以在不需要的时候,归还给系统():任何一个程序的逻辑地址空间都是的逻辑地址的集合,逻辑地址空间的地址称为逻辑地址。逻辑地址又称为相对地址,程序中的逻辑地址,相对
3、于地址0 LOAD A,10hLOAD A,20h000H200H000H230H():一个程序在执行时所占用的内存空间称作它的物理存储空间,不同程序的存储空间不能冲突LOAD A,10hLOAD A,20h000H200H000H230HLOAD A,10hLOAD A,20h作业编译后的目的程序逻辑地址空间存储空间作业的逻辑地址空间作业的实际地址空间装入内存一个编译好的程序,存在于它自己的逻辑空间内,装入内存时,才把它装入内存空间在一般情况下,一个作业在装入时,分配到的实际存储空间地址和它的逻辑地址空间是不一致的。由于一个作业装入到与其逻辑地址空间不一致的存储空间所引起的对,就是我们所说的
4、地址重定位LOAD A,220h000H200H2345220HA=2345LOAD A,87650220H0000H1200H1000H23451220H 作业由装配程序进行的地址变换方式,称为 当访问指令或数据时(),由附加的地址变换机构进行的地址变换方式,称为LOAD A,1、地址映射是在程序装入的时候,集中一次性完成2、由编译程序将程序中出现的逻辑地址改成实际的物理地址1、地址映射是在程序执行的时候,由硬件地址映射机构完成2、采用基地址寄存器BR,存放现行程序的内存空间的起始地址只要改变基地址寄存器BR的内容,便可把程序定位在新的内存空间。虚拟存储器管理的基本思想是利用来逻辑扩充内存,
5、产生一种,通过对这种虚拟存储器的管理,充分发挥内存资源的利用率,使系统能够有效地支持多道程序的并发运行以及解除对用户作业大小的限制,从而增强系统的处理能力。虚拟存储器虚拟存储器是指对内存的虚拟一级存储器概念作业地址空间概念虚拟存储器的实现条件要有相当容量的辅存要有一定容量的主存要使用动态分配和动态重定位要有交换技术的支持交换技术 交换技术使得一个作业同时被分配到内存和外存两部分运行成为可能,所以只有使用了交换技术才能实现虚拟存储一个区域供操作系统占用,另一个区域则为用户的应用程序所使用。采用静态分配技术,作业一次性装入内存一旦进入内存,等该作业结束后才能释放内存空间当作业需求的空间大于实际可用
6、空间时,系统会出现内存不足的错误致使作业无法运行把一个大的程序划分成一系列的。每个覆盖是一个相对独立的程序单位。把程序执行时并不要求同时装入主存的覆盖组,组成一组,称为通常,一个大作业的覆盖结构要求编程人员事先给出;为了实现覆盖管理,则需要得到相应的编译程序和连接装配程序的协助。只需要考虑对操作系统程序区域的保护自动地址修改 若操作系统位于低端(如低4KB区域),则对用户的存储访问,地址自动加上4K。高端同理。0页、1页寻址 用户程序和操作系统各占一半空间(不同页)界限寄存器 又称隔离寄存器(上、下限寄存器)内存分配内存分配 1)对地址空间进行分段方法 2)覆盖技术基本思想:把内存划分成若干个
7、连续区域,称为分区,每个分区装入一个作业运行。1、系统初始化时,把存储空间划分成的区域,作业运行时,为其选择一个合适的区域2、存储区域是在系统启动时划定的,在用户作业装入及运行过程中,其区域的大小和边界是不能改变的3、为了实现这种固定分区的分配,系统需要建立一张。在每个分配的分区中,通常都有一部分未被作业占用而浪费掉。这种分配给用户而未被利用的部分,称作存储区的“内碎片”(Internal Fragmentation)。112K20K已分配232K32K已分配364K64K已分配4128K128K未分配操作系统作业A作业B作业C空分区可变分区是指系统不预先划分固定分区,而是在装入作业时划分,使
8、分区的大小正好适应作业的需求量,且分区的个数是可变的。一个可变分区分配和回收的示例减少存储区的“内碎片”,提高主存的利用率操作系统作业A(16K)空闲区10K作业B(90K)作业C(30K)作业D(70K)空闲区24K操作系统作业A(16K)空闲区10K作业B(90K)作业C(30K)空闲区94K作业作业D(70k)和作业)和作业E(50k)请求装入)请求装入操作系统作业A(16K)空闲区10K作业B(90K)作业C(30K)作业D(70K)空闲区24K操作系统空闲区26K作业B(90K)空闲区30K作业D(70K)空闲区24K作业作业A和作业和作业C完成完成作业作业E仍然不能分配仍然不能分配
9、描述主存分配信息的表格一般用两张表格:“已分配区表”和“空闲区表”可变分区的分配(装入作业)从空闲区表中找一个区域分配,修改“空闲区表”修改“已分配区表”,加入新装入的作业可变分区的回收(作业结束)“空闲区表”的修改有下面三种情况:归还区有归还区有归还区既有区归还区有起始地址长度标志7001000未分配2300800未分配40002000未分配80001000未分配2300归还区有起始地址长度标志7001000未分配2300800未分配40002000未分配80001000未分配1700归还区有起始地址长度标志7001000未分配2300800未分配40002000未分配80001000未分配
10、17002300 为一作业选择分区时总是寻找最接近于作业所要求的存储区域。换句话:分配作业后,剩下的空白区最小缺点:1、回收时,插入到空白区链比较麻烦2、容易产生一些较小的无法再分配的碎片如何从空闲区中选择一个区域分配给作业?为作业选择存储区域时,总是寻找最大空白区。为了支持这个算法的实现,空白块应以大小递减的顺序链接起来。首次适应算法是对它们进行折中考虑后设计出来的算法思想:空白区按照地址从小到大链接,为作业分配空间,从中查找,找到第一个足以满足该作业的空白区,分配给作业。随着分配和回收次数的增加,必然导致“碎片”的出现。通过重新安排作业在内存中的位置成一个大的空闲区。必须有动态重定位的支持
11、。采用移动技术时必须注意下列问题:移动会增加系统开销移动是有条件的P118,习题7:在用可变分区方式管理主存时,假定主存中按地址顺序依次有,空闲区的大小依次为32K,10K,5K,228K,100K。现有五个作业J1,J2,J3,J4和J5,它们各需主存1K,10K,108K,28K和115K。若采用能把这五个作业按的顺序全部装入主存吗?可使主存空间利用率最高。5k10k32k100k228k10k32k100k228k4k32k100k228k4k32k100k4k100k120k按怎样的次序装入这五个作业可使主存空间利用率最高?答:上图分配结果,存在两个4k和1个5k的碎片,若再来三个5k
12、的作业,分配不下。更改次序,使得最后的空闲区链表中有多于3个5k空闲区,则内存利用率会提高。本题,只要J4在J1之前进入内存,利用率就会提高4k100k把主存的存储空间,分成相同大小的块,这些块称为物理页面(物理块),将这些存储块编号,称为页面号设内存容量为16MB,假如每4KB为一块,可分成4096个块,页面号为0-4095同理,将每个作业的地址空间,分成与内存大小相等的片,并称为页(Page),其编号为 在为一个作业分配内存空间时,总是以块(页)为单位,将每一个作业的页,放到一个内存的物理块中所谓静态分页系统,就是在调度一个作业时,使用的是静态分配的方法,系统调度另外的作业运行.为了实现逻
展开阅读全文