收藏 分销(赏)

存储器管理分析总结.docx

上传人:精**** 文档编号:9795894 上传时间:2025-04-08 格式:DOCX 页数:10 大小:208.12KB 下载积分:8 金币
下载 相关 举报
存储器管理分析总结.docx_第1页
第1页 / 共10页
存储器管理分析总结.docx_第2页
第2页 / 共10页


点击查看更多>>
资源描述
存储器管理分析总结 一、理解主存管理需要实现的功能 1、地址映射 1)定义:为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,此过程即为地址映射。 2)地址映射分类: a. 静态重定位 当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成)。 b. 动态重定位 在程序运行过程中要访问数据时再进行地址变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成。由硬件支持,软件硬件结合完成。硬件上一般需要一对寄存器的支持)。 3)个人理解: a.地址映射的目的:增加逻辑地址的概念,可以理解为系统为每个任务提供了一个虚拟内存,任务执行时同时存在两个内存,虚拟内存和物理内存,操作系统对虚拟内存进行操作,对内存管理起来更方便;而物理内存主要就是对应硬件的真实地址; b.地址映射的步骤:对于静态地址映射,在程序烧写到处理器时,已经完成了地址的映射,并且映射关系已固定,一般内核中大部分代码就是实现的静态地址映射;对于动态地址映射,首先操作系统先申请一块虚拟内存,之后调用映射函数之后,才实现了物理内存的分配,这个主要用于用户进程中。 2、主存储空间的分配和释放 1)定义:合理地分配和使用存储空间也是内存管理的重要内容,通过实时合理的分配和释放内存,能达到内存使用率的最大化。 2)个人理解:这个所谓的主存储的分配和释放,是指操作系统是否对虚拟内存进行管理分配,不是完全有用户程序决定。 3、主存储空间的保护 1)定义:对于主存储器而言,其同时存在多个用户程序和系统软件。为使系统正常工作,必须防止由于一个用户程序出错而破坏同时存在主存内的系统软件或其他用户的程序,还须防止一个用户程序不合法地访问并非分配给它的主存区域。因此,存储保护是多道程序和多处理机系统必不可少的部分,也是存储管理中非常重要的一部分。 2)存储保护方法分类: a.对于连续存储区域,采用防止地址越界方法:采用界限寄存器,限定存储区域的上下界限。 b.对于非连续存储区域,采用防止操作越权方法:(这其中又可以细化为二种方法) --键式保护:每个页面区域都包含一个存储键,表明了存储区域控制和保护的信息。 --环状保护:把系统程序和用户程序按重要性分层,称为环,对每个环都规定访问它的级别,违反规定的存取操作是非法的,以此实现对正在执行的程序的保护。 3)个人理解: a.后面的所有存储保护机制都是采用防止地址越界和防止操作越权两种方法来实现的。 4、主存储空间的共享 1)定义:允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址。 2)优点:使用共享内存进行进程间的通信实现方便,数据的共享还使进程间的数据不用传送,而是直接访问内存,也加快了程序的效率。 3)缺点:多个进程使用共享内存块时,必须达成一种协议,不然会造成混乱,这个必须通过其他的比如信号量等方式来实现。 5、主存储空间的扩充 1)定义:有限的内存容量远远不能满足大程序以及共存于内存的多个程序的存储要求,这就得借助于一些存储技术来实现内存的扩充。 2)实现方法:一般采用虚拟存储技术(涉及到交换技术),其使每个用户作业都对应有一个虚存,用户编程时不必考虑实存的大小,也就是说,一个虚拟存储器就是一个作业的逻辑地址空间。虚存的容量和内存的容量没有直接联系,而是由处理机的地址线的位数来决定的。其具体实现采用了交换技术,实现缓存和内存之间的交换。 二、主存管理方式的发展及其对比 1、连续存储空间管理方式具体有多种形式 大类别 连续存储空间管理方式 小类别 无管理 单一分区 固定分区 (亦为静态分区) 动态分区 定义 无操作系统用于对于内存的管理的方式 有操作系统,内存分为系统区和用户区。 系统区用于存放操作系统程序,用户区用于存放用户程序 系统开机初启时,系统操作员根据当天作业情况把主存的用户区划分成大小可以不等但位置固定的分区 系统根据进程需要分配内存,不划分固定分区 特点 1)由于没有操作系统内存管理的支持,用户通过自己编程负责所有的内存管理工作,直接对物理地址进行操作; 2)仅有物理内存,没有虚拟内存; 3)不存在内存的分配和释放问题,用户面对的是一个内存全为空的内存,用户可以以任意方式使用内存,具有最大的灵活性; 4)仅适用于单道程序设计。 1)用户区最多存放一道用户程序。 2)可以使用静态地址映射。若有硬件(重定位寄存器)的支持,也可以使用动态地址映射; 3)基本不存在存储扩充的问题。在上面的右图中,若用户程序较大,覆盖了操作系统程序中可被覆盖的部分,则当此用户程序结束后,操作系统需重新加载被覆盖的部分。这种方式在一定程序上扩充了用户区域; 4)不存在内存的分配和释放问题,用户面对的用户区内存全为空,用户可以以任意方式使用内存,具有最大的灵活性; 5)一般仅适用于单道系统。所以这种方式具有单道系统的所有缺点,主要是系统效率不高; 6)使用交换技术,也可以支持多道系统。 1)存储管理需设置一张“主存分配表”,用以记录主存中划分的分区和分区的使用情况。当一个程序需要加载运行,系统可以择一个大小合适的空闲分区分配出去。当程序结束而释放分区时,将分区状态设置为空闲即可; 2)存在内部碎片(分区内未被利用空间); 3)实现地址映射。静态地址映射或者动态地址映射; 4)实现存储保护,防止地址越界和防止操作越权; 5)实现共享很困难; 6)可以使用交换技术或覆盖技术扩充内存。 1)不对用户区实施固定分区,在实现主存储空间的分配和释放时,由操作系统根据用户需要来分配内存; 2)这样产生的问题是容易产生内存外部碎片(难以利用的小空闲分区),可以采用拼接技术,解决碎片问题。 3)程序动态增长问题,如果该程序相邻的分区是空闲的,将此空闲分区分配给该进程;若和该程序相邻的分区不空闲,则将该程序移动到一个更大的空闲分区中,或者将内存中的一个或多个非空闲分区交换到磁盘上的交换区中,若交换区已满,则该程序只能等待或者被杀死。 4)其唯一的优点就是实现简单。 相较于之前管理方式的区别 1)无地址映射 2)无主存分配和释放 3)无存储保护 4)无主存储空间的共享 5)无主存储空间的扩充 1)实现了地址映射,可以采用静态地址映射或动态地址映射 2)实现存储保护,静态地址映射采用防止地址越界方法,动态地址映射采用防止操作越权方法 3)可以牺牲系统区来扩充内存,方法不是很好 1)在内存分配时,把用户区分成一个个固定大小的分区,再来分配 2)实现主存储空间的分配和释放,系统对用户区分配实行控制 3)使用交换技术或覆盖技术扩充内存,仍存在问题 1)改善了主存储空间的分配和释放,摒弃了用户区固定分区 亟待优化功能     1)预先规定了分区大小,使得大程序无法装入 2)主存空间的利用率不高,一个作业不可能恰好填满分区;同时一个作业运行中要求动态扩充主存,采用固定分区难实现 3)各分区作业要共享程序和数据也难实现。 4)分区的数目是在系统初启时确定的,这就限制了多道运行的程序数。 1)对空间分配的连续性要求使得对于空间的使用不灵活,导致空间使用效率不高。 2)存在碎片问题,也会导致空间使用效率降低。尽管可以使用拼接技术解决碎片问题,但是拼接技术是一个成本很高的方法。提高分配阀值虽有助于减少碎片,但是会降低内存使用空间效率。 3)程序的动态增长较困难。 4)几乎不支持虚拟存储技术 5)不支持内存共享。 2、非连续存储空间管理方式也具有多种形式 大类别 非连续存储空间管理方式 小类别 页模式 段模式 段页模式 定义 通过对内存分页,实现虚拟存储技术 通过对内存分段,实现虚拟存储技术 通过对内存分段同时分页,实现内存管理 特点 1)分页机制支持虚拟存储技术; 2)虚拟存储技术,用户只关心虚拟地址,其物理地址的实现可以通过交换技术,实现缓存和内存的切换,从而实现对内存的扩充; 3)使用分页时,每个端被划分为页面(通常每页4KB),页面存储和物理内存或硬盘上,操作系统通过维护一个页目录和一些页表来留意这些页表信息; 4)分页管理页面的保护,可采用的是防止操作越权的保护方式,在页表中增加一些访问标志位;也可采取存储保护键作为保护机制;或者越界访问控制。 1)实现内存分段,通过段模式实现对主存储器的共享操作。 1)段页式管理的地址映射,实现段和页的二级映射虚拟地址到线性地址再到物理地址; 2)段页式管理是基于页式管理的分配和释放,所以段页式管理的主存分配和释放和页式管理相同; 3)段页式管理所支持的虚拟存储综合分页和分段的虚拟存储; 4)段页式管理所支持的共享和保护综合和分页和分段的共享和保护。需要注意的是,可能存在两级访问控制:段的访问控制和页的访问控制,显然,页的访问控制不能超过段的访问控制。 相较于之前管理方式的区别 1)增加页概念,优化了存储保护; 2)主存储空间的扩充中实现了虚拟存储技术, 1)区别于页模式的一种段模式处理方式; 2)实现了主存储的共享问题。 1)实现地址映射 2)实现主存分配和释放 3)实现存储保护 4)实现主存储空间的共享 5)实现主存储空间的扩充 亟待优化功能 1)对于内存的共享没有很好的解决   1)庞大的映射表对于存储来说也是一种负担; 2)不断查询映射表也会增加系统负担,影响系统效率。 3、页模式、段模式和段页模式的深层次对比分析 类别 页模式 段模式 段页模式 目的 1.页是信息的物理单位; 2.分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率; 3.分页仅仅是由于系统管理的需要,而不是用户的需要 1.段是信息的逻辑单位,它含有一组其意义相对完整的信息。 2.分段的目的是为了能更好的满足用户的需要 1.分页系统能有效地提高内存的利用率,而分段系统能反映程序的逻辑结构,便于段的共享和保护,将分页和分段两种存储方式结合起来,就形成了段页式存储管理方式; 2.在段页式存储管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小相等的页。对于主存空间也分成大小相等的页,主存的分配以页为单位; 3.段页式系统中,作业的地址结构包含三部分的内容: 段号 页号 页内位移量 4.程序员按照分段系统的地址结构将地址分为段号和段内位移量,地址变换机构将段内位移量分解为页号和页内位移量; 5.为实现段页式存储管理,系统应为每个进程设置一个段表,包括每段的段号,该段的页表始址和页表长度。每个段有自己的页表,记录段中的每一页的页号和存放在主存中的物理块号。 长度 1.页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面 1.段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分 地址表示 1.分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址 1.分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址 存取权限 1.只有读和写 1.有读、写和执行 内存连续性 1.物理内存不连续 1.物理空间不连续,但段内连续 优势 1.也可以实现程序和数据的共享,但没有段模式方便易行 1.易于实现段的共享,允许若干个进程共享一个或多个分段,且对段的保护也十分简单易行 三、分页管理机制 1、页式管理的基本概念 分页机制支持虚拟存储技术。在使用虚拟存储的环境中,大容量的线性地址空间需要使用小块的物理内存以及 某些外部存储空间来模拟。使用分页时,每个端被划分为页面(通常每页4KB),页面存储于物理内存或硬盘上, 操作系统通过维护一个页目录和一些页表来留意这些页表信息。 2、页表结构 3、页式管理的地址映射 4、页式管理要解决的一些问题 1)如何标识一个页是否位于内存中。 2)当需要从若干个已经在内存中的逻辑页中选择一个淘汰掉,那么淘汰哪一个。 3)若已经决定将某页淘汰,但是发现此页是一个脏页(dirty page),即该页被放置到内存中后,曾经被修改过,那么如何标识一个脏页,又如何淘汰脏页。 4)从理论上来说,仅分配给该程序一个内存块就可以使程序运行,这样做会有什么后果?给一个程序分配多少个内存块是合适的?分配给一个程序的内存块数是固定的,还是随着程序的执行,分配给程序动态变化的内存块数?在程序执行之初,应该初始分配给程序多少个内存块。 5)对于较大的程序,以至于其页表本身的大小超过一个页的大小时,如何解决页表本身的存储问题。 6)系统中存在多个并发进程,每个进程都拥有一张页表,所有的页表加起来会占用很多内存空间,那么如何降低页表所需的内存空间。 四、分段管理机制 1、分段管理的基本概念 分段提供了隔绝各个代码、数据和堆栈区域的机制,因此多个程序(任务)可以运行在同一个处理器上而不会互相干扰。分段机制把处理器可寻址的线性地址空间划分成一些较小的称为段的受保护地址空间区域。为了定位指定段中的一个字节,程序必须提供一个逻辑地址,逻辑地址包括一个段选择符和一个偏移量,段选择符是一个段的唯一标识,同时还提供了段描述符表中一个数据结构的偏移量。 线性地址空间和物理地址空间具有相同的结构。相对于两维的逻辑地址空间来说,它们两者都是一维地址空间。虚拟地址空间可以包含最多16K个段,而每个端最长可达4GB,所以虚拟地址空间容量达到64TB(2^46)。线性地址空间和物理地址空间都是4GB(2^32)。实际上,如果禁用分页机制,线性地址空间就是物理地址空间。 2、分段管理的地址映射 3、段式管理的段共享和保护 五、段页式管理机制 1、段分段管理的基本概念 2、段分段管理的地址映射 六、Linux的内存管理机制 未完待续….. 10 / 10
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服