欢迎来到天天文库
浏览记录
ID:57014750
大小:441.50 KB
页数:39页
时间:2020-07-26
《存储器管理课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章存储器管理存储管理的主要功能存储管理的基本任务存储器的分配:多道环境下,系统统一管理分配内存,将外存中的程序和数据在内存中安排合适的位置。存储器的保护:限制各进程只能在自己的存储空间中活动,不对其他进程产生干扰和破坏。存储器的扩充:相对于不断增大的软件,存储器是始终不够的,系统要用有限的实际存储器实现更大的存储空间。逻辑空间和物理空间逻辑地址:用户程序经编译产生的有效地址或编程所用地址,即相对地址,它以0为基址顺序编址物理地址:指机器执行时实际物理存储单元的地址逻辑空间、物理空间:逻辑地址或物理地址使用的地址范围地址变换
2、和重定位逻辑地址需要在程序实际执行时转换为物理地址,才能有指令的正确寻址,这种转换就是地址重定位,也叫地址映射。程序装载起始地址也叫基地址,则有:物理地址=逻辑地址+基地址静态重定位:在程序执行之前进行地址变换。一般由装配模块在程序加载时进行。程序的加载起始地址(基地址)一定。静态重定位的优点是实现容易,缺点是程序在内存中要连续存放,且定位后不能再移动。在多道环境下断续推进效率低。动态重定位:在程序执行的当时才做定位操作。一般在硬件上设置基地址寄存器存放加载起始地址。这种方法具有适应多道环境的灵活特点,优点是程序在内存中可以移
3、动,也不必连续存放,缺点是需要附加硬件支持。4.1程序的装入和链接对用户程序的处理步骤4.1.1程序的装入1.绝对装入方式(AbsoluteLoadingMode)程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。通常在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。2.可重定位装入方式(RelocationLoadingMode)作业装入内存时的情况3.动态运行
4、时装入方式(DynamicRun-timeLoading)动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。(动态重定位)4.1.2程序的链接1.静态链接方式(StaticLinking)程序链接示意图在将这几个目标模块装配成一个装入模块时,须解决以下两个问题:(1)对相对地址进行修改。(2)变换外部调用符号。2.装入时动态链接(LoadtimeDynamicLinking)装入时动态链接方式有
5、以下优点:便于修改和更新。(2)便于实现对目标模块的共享。3.运行时动态链接(Run-timeDynamicLinking)对上述在装入时链接方式的一种改进。将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。存储管理的主要模式存储管理的主要模式及其特点(数据结构)连续分配方式离散分配方式单一连续
6、分配分区式分配分页存储管理段页式存储管理分段存储管理可变分区固定分区4.2连续分配方式4.2.1单一连续分配最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分。存储管理的功能实现简单。任何时候系统中只有一个进程。实际上进程只占用一部分内存,剩下的空间是浪费掉了。单一分区的优点是实现简单,缺点是作业的大小不能超过实际内存的大小,而且只能有一个作业在内存中。4.2.2固定分区分配固定式分区将把主存预先划分成几个固定大小的分区(分区大小相等或分区大小不等)。当作业到
7、达时,选择一个适合作业要求的最小空闲区分给作业,或当没有可用的空闲分区时,让其在该分区队列中等待。分区分配把主存划分成若干个分区,多个作业同时在内存中,每个作业分配一个连续的分区。系统使用分区说明表(分区表)记载分区参数。内存分配824内存管理过程:当有一个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个能满足要求的尚未分配的分区分给该程序,然后修改分区说明表中该分区表项的状态;若找不到大小足够的分区,则拒绝为该程序分配内存。当进程执行完毕,不再需要内存资源时,管理程序将对应分区的状态置为未分配即可。缺点:主
8、存利用不充分。因为作业的大小几乎不会刚好等于某个分区的大小。碎片问题。优点:简单。4.2.3动态分区分配分区分配中的数据结构分区说明表、空闲分区链。1)分区说明表:已分配区表,未分配分区表当为作业分配主存时:首先从未分配区表中找一个足以容纳该作业的空闲区,若这个分区比较大,则
此文档下载收益归作者所有