




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章存储器管理,存储管理的主要功能存储管理的基本任务存储器的分配:多道环境下,系统统一管理分配内存,将外存中的程序和数据在内存中安排合适的位置。存储器的保护:限制各进程只能在自己的存储空间中活动,不对其他进程产生干扰和破坏。存储器的扩充:相对于不断增大的软件,存储器是始终不够的,系统要用有限的实际存储器实现更大的存储空间。,逻辑空间和物理空间逻辑地址:用户程序经编译产生的有效地址或编程所用地址,即相对地址,它以0为基址顺序编址物理地址:指机器执行时实际物理存储单元的地址逻辑空间、物理空间:逻辑地址或物理地址使用的地址范围,地址变换和重定位逻辑地址需要在程序实际执行时转换为物理地址,才能有指令的正确寻址,这种转换就是地址重定位,也叫地址映射。程序装载起始地址也叫基地址,则有:物理地址=逻辑地址+基地址,静态重定位:在程序执行之前进行地址变换。一般由装配模块在程序加载时进行。程序的加载起始地址(基地址)一定。静态重定位的优点是实现容易,缺点是程序在内存中要连续存放,且定位后不能再移动。在多道环境下断续推进效率低。动态重定位:在程序执行的当时才做定位操作。一般在硬件上设置基地址寄存器存放加载起始地址。这种方法具有适应多道环境的灵活特点,优点是程序在内存中可以移动,也不必连续存放,缺点是需要附加硬件支持。,4.1程序的装入和链接,对用户程序的处理步骤,4.1.1程序的装入,1.绝对装入方式(AbsoluteLoadingMode),程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。通常在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。,2.可重定位装入方式(RelocationLoadingMode),作业装入内存时的情况,3.动态运行时装入方式(DynamicRun-timeLoading),动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。(动态重定位),4.1.2程序的链接,1.静态链接方式(StaticLinking),程序链接示意图,在将这几个目标模块装配成一个装入模块时,须解决以下两个问题:(1)对相对地址进行修改。(2)变换外部调用符号。,2.装入时动态链接(LoadtimeDynamicLinking),装入时动态链接方式有以下优点:便于修改和更新。(2)便于实现对目标模块的共享。,3.运行时动态链接(Run-timeDynamicLinking),对上述在装入时链接方式的一种改进。将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。,存储管理的主要模式,存储管理的主要模式及其特点(数据结构),4.2连续分配方式,4.2.1单一连续分配,最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分。存储管理的功能实现简单。任何时候系统中只有一个进程。实际上进程只占用一部分内存,剩下的空间是浪费掉了。单一分区的优点是实现简单,缺点是作业的大小不能超过实际内存的大小,而且只能有一个作业在内存中。,4.2.2固定分区分配,固定式分区将把主存预先划分成几个固定大小的分区(分区大小相等或分区大小不等)。当作业到达时,选择一个适合作业要求的最小空闲区分给作业,或当没有可用的空闲分区时,让其在该分区队列中等待。,分区分配把主存划分成若干个分区,多个作业同时在内存中,每个作业分配一个连续的分区。系统使用分区说明表(分区表)记载分区参数。,内存分配,8,24,内存管理过程:当有一个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个能满足要求的尚未分配的分区分给该程序,然后修改分区说明表中该分区表项的状态;若找不到大小足够的分区,则拒绝为该程序分配内存。当进程执行完毕,不再需要内存资源时,管理程序将对应分区的状态置为未分配即可。缺点:主存利用不充分。因为作业的大小几乎不会刚好等于某个分区的大小。碎片问题。优点:简单。,4.2.3动态分区分配,分区分配中的数据结构分区说明表、空闲分区链。1)分区说明表:已分配区表,未分配分区表,当为作业分配主存时:首先从未分配区表中找一个足以容纳该作业的空闲区,若这个分区比较大,则一分为二,一部分分配给作业,另一部分仍作为空闲区留在表中。再在已分配区表中找一个空表目,填入新分配作业的信息。作业结束时回收分区相应修改分区表。,2)空闲分区链。在每个空闲分区的两端设置附加信息。,2.分区分配算法,(1)首次适应算法FF:要求空闲分区按地址递增的次序排列。优先利用低地址部分的空闲分区,保留了高地址部分的大空闲区。(2)循环首次适应算法:使系统中内存分配比较平均,减少查寻次数,但又造成了缺少大的空闲分区,使得大进程无法进入。(3)最佳适应算法:产生小的碎片。(4)最坏适应算法:从大到小对空闲区排序,以提高查找速度。,分区分配操作,1)分配内存,2)回收内存,分区分配碎片问题,4.2.4可重定位分区分配,1.动态重定位的引入,2.动态重定位的实现,3.动态重定位分区分配算法增加额外的开销,4.2.5对换(Swapping),对换:是指系统根据需要把主存中暂时不运行的某个(或某些)进程部分或全部移到外存,而把外存中的某个(或某些)具有运行条件的进程移到相应的主存区,并使其投入运行。实质:用辅存作缓冲,让用户在较小的存储空间中通过不断地换出、换入而运行较大的进程。对换是提高内存利用率的有效措施。对换空间管理:系统配置相应的数据结构,以记录外存的使用情况。其形式与内存在动态分区分配方式中所用数据结构相似。,了解:进程的换出与换入,(1)进程的换出系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动盘块,将该进程的程序和数据传送到磁盘的对换区上。传送成功便可回收该进程所占用的内存空间,并对该进程的进程控制块做相应的修改。(2)进程的换入系统应定时地查看所有进程的状态,从中找出“就绪”状态但已换出的进程,将其中换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。,4.3基本分页存储管理方式,改变连续分配内存空间的方式,就可能最大程度的消除碎片。4.3.1页面与页表,1、页面和物理块将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,也叫虚页,并为各页从0开始加以编号,页的大小一般在0.5-4K之间。逻辑空间的地址构成如下:3112110,物理空间分为与虚页同样大小位置固定若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0块、1块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。物理地址构成如下。,3112110,理解:给定一个逻辑地址空间中的地址为A,页面的大小为L,则:,2.数据结构页表页表:系统为每个进程建立一张页面映像表PMT(PageMappingTable),用来记录进程在内存中页与块的关系。一般放在内存。页块映射即地址重定位,相邻的页可以存放到不连续的块中。页表最基本的内容应如下:页号块号021825,4.3.2地址变换机构,基本页式管理(静态页式管理)数据结构上使用三个表,即:作业表(JT):记载作业页表的始址PMT:页块映射关系存储块表(MBT):物理块的分配情况。,作业表,1.基本的地址变换机构,PTR,2.具有快表的地址变换机构,在上述地址转换过程中,要存取一个数据或一条指令至少要访问主存两次。把程序的执行速度降低一倍。一次访页表,确定所存取的数据或指令的物理地址,一次根据该地址存取数据或指令。联想寄存器:为了提高存取速度,可在地址变换机构中增设一个具有并行查找能力的高速缓冲寄存器组,用来存放页表的一部分。通常不大。快表:存放在高速缓冲寄存器中的页表。,具有快表的地址变换机构,4.3.3两级和多级页表,现代的大多数计算机系统,都支持非常大的逻辑地址空间(232-264)。这样页表就变得非常大,且还要求是连续的。可采用两种方法来解决:采用离散分配方式存放页表;只将当前需要的部分页表项调入内存。,两级页表(Two-LevelPageTable)逻辑地址结构可描述如下:,两级页表结构,具有两级页表的地址变换机构,2.多级页表对于64位的机器,如果页面大小仍采用4KB,则外层页表项要占用巨大的连续内存空间。这时必须采用多级页表,将外层页表再进行分页。对于64位的计算机,如果要求它能支持2(=1844744TB)规模的物理存储空间,则即使是采用三级页表结构也是难以办到的;而在当前的实际应用中也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(电子商务)网络营销与策划-电子商务法概论参考题库含答案解析(5卷)
- 2025年学历类自考专业(电子商务)电子商务概论-网络营销与策划参考题库含答案解析(5卷)
- 2025作物抗旱育种与农业灾害防控国家地方联合工程实验室开放基金资助项目合同书
- 2025年学历类自考专业(电子商务)商务交流(二)-国际贸易实务(三)参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)知识产权法-法律文书写作参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)法理学-民法学参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)公司法-合同法参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)-法律文书写作参考题库含答案解析(5卷)
- 2025年学历类自考专业(工商企业管理)国际企业管理-企业管理咨询参考题库含答案解析(5卷)
- 保留灌肠术课件
- 九年级历史上册教材课后习题参考答案
- 血液透析的标准预防课件
- 改写地球历史的25种石头
- 全科规培:门诊SOAP病历考核模拟文档
- 《能源概论》课件
- 2023年湖南长沙湘江新区所属事业单位招聘12人笔试参考题库(共500题)答案详解版
- 插花艺术与花艺课件
- CADCAM应用技术(CAXA2020)中职全套教学课件
- 生物医学工程伦理 课件全套 第1-10章 生物医学工程与伦理-医学技术选择与应用的伦理问题
- 仓库管理作业流程规范
- 地面水仓清淤安全技术措施
评论
0/150
提交评论