《存储器管理传精选PPT.ppt》由会员分享,可在线阅读,更多相关《存储器管理传精选PPT.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、存储器管理传存储器管理传第1页,此课件共45页哦2023/4/131第六章 存储管理n地址结构地址结构 用户程序的划分是由系统自动完成的,对用户是透用户程序的划分是由系统自动完成的,对用户是透明的。一般,一页的大小为明的。一般,一页的大小为2的整数次幂,因此,地址的整数次幂,因此,地址的高位部分为的高位部分为页号页号,低位部分为,低位部分为页内地址页内地址页号页号 页内地址页内地址0111231页号页号P页内位移量页内位移量W编号编号01048575相对地址相对地址040952023/4/13第2页,此课件共45页哦页表页表n将页号和页内地址转换成内存地址,必须要有一个数据结构,用来登记页号和
2、块的对应关系和有关信息。n这样的数据结构称为页表。n页表的作用就是实现从页号到物理块号的地址映射。2023/4/13第3页,此课件共45页哦地址变换过程地址变换过程n2023/4/13第4页,此课件共45页哦计算时要注意:若给出的地址字为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址字的高几位和低几位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。2023/4/13第5页,此课件共45页哦若给出的地址字为10进制,则用公式:程序地址字/页长 商为页号,余数为页内地址。如程序地址为8457,页长为4KB,则8457/4
3、096可得:商为2,余数为256。2023/4/13第6页,此课件共45页哦分页存储管理中的信息保护分页存储管理中的信息保护分页存储管理中的存储信息保护从两个方面来实现。一、在分离程序地址字的页号和页内地址时判别访问是否合法,若产生的页号满足下式为合法:0=页号=Lpp.快表快表 b+页号页号p 页内地址页内地址dPd物理地址物理地址页表地址寄存器页表地址寄存器页表长度寄存器页表长度寄存器逻辑地址逻辑地址有快表的地址映射有快表的地址映射2023/4/13第12页,此课件共45页哦4.3.34.3.3两级页表和多级页表两级页表和多级页表n当页表项很多时,仅采用一级页表需要大片连续空间,可将页表也
4、分页,并对页表所占的空间进行索引形成外层页表。由此构成二级页表。n更进一步可形成多级页表。2023/4/13第13页,此课件共45页哦二级页表结构及地址映射二级页表结构及地址映射逻辑地址结构可描述如下:2023/4/13第14页,此课件共45页哦二级页表结构及地址映射二级页表结构及地址映射2023/4/13第15页,此课件共45页哦具有两级页表的地址变换机构2023/4/13第16页,此课件共45页哦页式存储管理方案小结页式存储管理方案小结n某计算机采用二级页表的分页存储管理方式,按某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为字节编制,页大小为210字节,页表项大小为字节,页表
5、项大小为2字字节,逻辑地址结构为节,逻辑地址结构为 n逻辑地址空间大小为逻辑地址空间大小为216页,则表示整个逻辑地址页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是()空间的页目录表中包含表项的个数至少是()nA、64B、128C、256D、512页目录号页号页内偏移量2023/4/13第17页,此课件共45页哦逻辑地址转物理地址:逻辑地址转物理地址:101734250块号块号页号页号10010111000000101001011100000100页表首址页表首址+09程序地址程序地址 0A5C物理地址为:物理地址为:125C2023/4/13第18页,此课件共45页哦在分页存储管
6、理系统中,有一作业大小为在分页存储管理系统中,有一作业大小为4页,页,页长为页长为2K,页表如下:,页表如下:试借助地址变换图(即要求画出地址变换图)试借助地址变换图(即要求画出地址变换图)求出逻辑地址求出逻辑地址4635所对应的物理地址。所对应的物理地址。页号块号051327362023/4/13第19页,此课件共45页哦31637250块号块号页号页号01000011011000100100001101100111页表首址页表首址+010物理地址为:物理地址为:148752023/4/13第20页,此课件共45页哦有一页式系统,其页表存放在主存中。有一页式系统,其页表存放在主存中。(1)如
7、果对主存的一次存取要如果对主存的一次存取要3us,问实现一,问实现一次页面访问要多长时间。次页面访问要多长时间。(2)如系统有快表,平均命中率为如系统有快表,平均命中率为97%,假设,假设访问快表的时间忽略为访问快表的时间忽略为0,问此时一次页面访,问此时一次页面访问要多长时间。问要多长时间。2023/4/13第21页,此课件共45页哦n1、2*3=6usn2、0.97*3+0.03*6=3.09us2023/4/13第22页,此课件共45页哦页式存储管理方案小结页式存储管理方案小结n优点:解决了碎片问题优点:解决了碎片问题 便于管理便于管理可以使程序和数据存放在不连续的主存空间可以使程序和数
8、据存放在不连续的主存空间n缺点:不易实现共享缺点:不易实现共享 不便于动态连接不便于动态连接 页表都有可能占用较大的存储空间。页表都有可能占用较大的存储空间。要要求求有有相相应应的的硬硬件件支支持持,从从而而增增加加了了系系统统成成本,也增加了系统开销本,也增加了系统开销2023/4/13第23页,此课件共45页哦4.5 4.5 分段存储管理分段存储管理 n4.5.1 4.5.1 分段存储管理方式的引入分段存储管理方式的引入 n4.5.2 4.5.2 分段系统的基本原理分段系统的基本原理 n4.5.3 4.5.3 信息共享信息共享n4.5.4 4.5.4 段页式存储管理方式段页式存储管理方式2
9、023/4/13第24页,此课件共45页哦4.5.1 4.5.1 分段存储管理方式的引入分段存储管理方式的引入 n引入:主要是为了满足用户和程序员的需要引入:主要是为了满足用户和程序员的需要u方便用户:用户希望逻辑分段方便用户:用户希望逻辑分段u信息共享信息共享u信息保护信息保护u动态增长动态增长u动态连接动态连接2023/4/13第25页,此课件共45页哦4.5.2 4.5.2 分段系统基本原理分段系统基本原理1、分段、分段n用户程序划分 按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从0开始,每一段段内也从0开始编址,段内地址是连续的。段的长度由相应的逻
10、辑信息组的长度决定,因而各段长度不等。n逻辑地址:由段号和段内地址组成段号 段内地址2023/4/13第26页,此课件共45页哦.0S工作区段工作区段B主程序段主程序段M.0EP子程序段子程序段X0K.CALL X E.CALL Y FCALL A 116.0FL子程序段子程序段Y0116N数组数组A12345.2023/4/13第27页,此课件共45页哦n内存划分内存划分 内存空间被动态的划分为若干个长度不相内存空间被动态的划分为若干个长度不相同的区域,称为物理段,每个物理段由起同的区域,称为物理段,每个物理段由起始地址和长度确定始地址和长度确定n内存分配内存分配 以段为单位分配内存,每一个
11、段在内存中以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少占据连续空间(内存随机分割,需要多少分配多少),分配多少),但各段之间可以不连续存放但各段之间可以不连续存放2023/4/13第28页,此课件共45页哦操作系统操作系统.B0SA0NY0LX0PM0K逻辑段号逻辑段号01234作业作业1的地址空间的地址空间10003200500060008000PKSLN主存主存K 3200P 1500L 6000N 8000S 5000段号段号 段地址段地址01234操作系统操作系统2023/4/13第29页,此课件共45页哦n2、段表、段表 段映射表。每个程序有一个段表段映射
12、表。每个程序有一个段表 程序的每个段在表中占有一个表项,其中程序的每个段在表中占有一个表项,其中记录了该段在内存中的起始地址和段的长记录了该段在内存中的起始地址和段的长度。可放在内存中,也可放在寄存器中。度。可放在内存中,也可放在寄存器中。段表是用于实现从逻辑段到物理内存区的段表是用于实现从逻辑段到物理内存区的映射。映射。段号段号012段首址段首址段长度段长度58K20K100K110K260K140K2023/4/13第30页,此课件共45页哦3 3、地址变换机构、地址变换机构段地址映射过程为:n系统中设置了段表寄存器,用于存放段表始址和段表长度TL。n取出段号S和段内位移W。n若STL,段
13、号太大越界。n根据段表始址找到段表,查找段号为S的表目,得到该段在内存的起始地址。n检查段内地址d是否起过该段的段长SL。若超过越界。n把段首地址与段内位移相加,形成内存物理地址。2023/4/13第31页,此课件共45页哦3 3、地址变换机构、地址变换机构2023/4/13第32页,此课件共45页哦n同页地址变换一样,在段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可采用快速存储器组成快表。2023/4/13第33页,此课件共45页哦 Cl Cb+段号段号S S 段内地址段内地址d比较比较比较比较b +d段段表表S=Cl快表快表物理地址物理地址段表始址寄存器段表始址寄存器
14、段表长度寄存器段表长度寄存器逻辑地址逻辑地址Lb.SLb地址越界地址越界d=Ld=L地址映射及存储保护机制地址映射及存储保护机制地址越界地址越界地址越界地址越界比较比较2023/4/13第34页,此课件共45页哦4、分页与分段的主要区别 两者都采用离散分配方式,且都要通过地址变换机构来实现地址变换。分段与分页主要有以下差别:分段与分页主要有以下差别:n页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。2023/4/
15、13第35页,此课件共45页哦4、分页与分段的主要区别n页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。n分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。2023/4/13第36页,此课件共45页哦段式存储管理方案小结段式存储管理方案小结优点:优点:便于动态申请内存便于动态申请内存 管理
16、和使用统一化管理和使用统一化 便于共享便于共享 便于动态链接便于动态链接缺点:产生碎片缺点:产生碎片2023/4/13第37页,此课件共45页哦练习练习 n基本分段系统中,给出如下段表,请求出逻基本分段系统中,给出如下段表,请求出逻辑地址(辑地址(0,137),(1,4000),(2,3600),(5,230)转换成物理地址。转换成物理地址。段号内存始址段长050k10k160k3k270k5k3120k8k4150k4k2023/4/13第38页,此课件共45页哦4.5.4 4.5.4 段页式存储管理方式段页式存储管理方式产生背景产生背景:结合页式段式优点,克服二者的缺点结合页式段式优点,克
17、服二者的缺点n基本原理基本原理n地址变换过程地址变换过程2023/4/13第39页,此课件共45页哦基本原理基本原理n用户程序划分用户程序划分按段式划分(对用户来讲,按段的逻辑关系进行划分;对按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)系统讲,按页划分每一段)n逻辑地址逻辑地址n内存划分内存划分按页式存储管理方案按页式存储管理方案n内存分配内存分配以页为单位进行分配以页为单位进行分配段号段号段内地址段内地址页号页号页内地址页内地址2023/4/13第40页,此课件共45页哦n段表:记录了每一段的页表始址和页表长度段表:记录了每一段的页表始址和页表长度n页表:记录了
18、逻辑页号与内存块号的对应关页表:记录了逻辑页号与内存块号的对应关系(每一段有一个,一个程序可能有多个页系(每一段有一个,一个程序可能有多个页表)表)n内存分配管理:同页式管理内存分配管理:同页式管理地址变换过程地址变换过程 2023/4/13第41页,此课件共45页哦图 4-21 利用段表和页表实现地址映射 2023/4/13第42页,此课件共45页哦地址变换过程地址变换过程图 4-22 段页式系统中的地址变换机构2023/4/13第43页,此课件共45页哦n在段页式系统中,为了获得一条指令数据,在段页式系统中,为了获得一条指令数据,须三次访问内存。须三次访问内存。1、访问内存中的段表,从中取
19、得页表始址、访问内存中的段表,从中取得页表始址2、访问内存中的页表,从中取出该页所在的、访问内存中的页表,从中取出该页所在的物理块号,将该块号与页内地址一起形成指物理块号,将该块号与页内地址一起形成指令或数据的物理地址令或数据的物理地址3、从物理地址中取出指令或数据。、从物理地址中取出指令或数据。快表快表地址变换过程地址变换过程 2023/4/13第44页,此课件共45页哦练习练习 n在没有快表的情况下,分页系统每访问一次在没有快表的情况下,分页系统每访问一次数据,要访问()次内存;分段系统每访问数据,要访问()次内存;分段系统每访问一次数据,要访问()次内存;段页式系统一次数据,要访问()次内存;段页式系统每访问一次数据,要访问()次内存。每访问一次数据,要访问()次内存。n页是信息的()单位,其大小是()(固定页是信息的()单位,其大小是()(固定/可变)的,进行分页是出于()的需要;段可变)的,进行分页是出于()的需要;段是信息的()单位,其大小(),分段是出是信息的()单位,其大小(),分段是出于()的需要。于()的需要。2023/4/13第45页,此课件共45页哦