存储器管理传_第1页
存储器管理传_第2页
存储器管理传_第3页
存储器管理传_第4页
存储器管理传_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

存储器管理传第一页,共四十五页,2022年,8月28日地址结构

用户程序的划分是由系统自动完成的,对用户是透明的。一般,一页的大小为2的整数次幂,因此,地址的高位部分为页号,低位部分为页内地址页号页内地址0111231页号P页内位移量W编号0~1048575相对地址0~4095第二页,共四十五页,2022年,8月28日2023/3/14

页表将页号和页内地址转换成内存地址,必须要有一个数据结构,用来登记页号和块的对应关系和有关信息。这样的数据结构称为页表。页表的作用就是实现从页号到物理块号的地址映射。第三页,共四十五页,2022年,8月28日2023/3/14地址变换过程

第四页,共四十五页,2022年,8月28日2023/3/14计算时要注意:若给出的地址字为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址字的高几位和低几位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。第五页,共四十五页,2022年,8月28日2023/3/14若给出的地址字为10进制,则用公式: 程序地址字/页长商为页号,余数为页内地址。如程序地址为8457,

页长为4KB,则8457/4096可得:商为2,余数为256。第六页,共四十五页,2022年,8月28日2023/3/14分页存储管理中的信息保护分页存储管理中的存储信息保护从两个方面来实现。一、在分离程序地址字的页号和页内地址时判别访问是否合法,若产生的页号满足下式为合法:

0<=页号<程序地址空间的页数 上述判断由硬件自动做,若不合法,硬件产生越界中断,由操作系统的越界中断处理程序进行处理。第七页,共四十五页,2022年,8月28日2023/3/14二、在页表中增加用于存取控制和存储保护的信息,当要访问某页时系统要根据该页的存取控制和存储保护信息检查访问是否合法。(主要用来判断访问是否越权)

第八页,共四十五页,2022年,8月28日2023/3/142、快表和联想存储器在前述的页地址变换过程中有一个严重的问题,那就是每一次对内存的访问都要访问页表,页表是放在内存中的,也就是说每一次访问内存的指令至少要访问两次内存,运行速度要下降一半。第一次访问内存中的页表,从中找到指定页的物理块号,再将块号与页内偏移量W拼接,形成物理地址第二次访问内存时,才是从第一次所得地址中获得所需数据(获向此地址中写入数据)第九页,共四十五页,2022年,8月28日2023/3/14解决这个问题的一种方法是把页表放在一组快速存储器中(Cache),从而加快访问内存的速度。我们把这种快速存储器组成的页表称为快表,把存放在内存中的页表称为慢表。快表又叫联想存储器(associativememory)或TLB(Translationlookasidebuffers)用以存放当前访问的那些页表项第十页,共四十五页,2022年,8月28日2023/3/14地址变换过程:在CPU给出有效地址后,由地址变换机构自动将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中,可直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中如果未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表项中读出的物理块号送地址寄存器;同时将此页表项存入快表的一个寄存器单元中。如果联想寄存器已满,则OS必须找到一个老的且已被认为不再需要的页表项,将它换出。第十一页,共四十五页,2022年,8月28日2023/3/14p’页表地址越界

L比较P>=Lpp’...快表

b+页号p

页内地址dP’d物理地址页表地址寄存器页表长度寄存器逻辑地址有快表的地址映射第十二页,共四十五页,2022年,8月28日2023/3/14两级页表和多级页表当页表项很多时,仅采用一级页表需要大片连续空间,可将页表也分页,并对页表所占的空间进行索引形成外层页表。由此构成二级页表。更进一步可形成多级页表。

第十三页,共四十五页,2022年,8月28日2023/3/14二级页表结构及地址映射逻辑地址结构可描述如下:

第十四页,共四十五页,2022年,8月28日2023/3/14二级页表结构及地址映射第十五页,共四十五页,2022年,8月28日2023/3/14具有两级页表的地址变换机构第十六页,共四十五页,2022年,8月28日2023/3/14页式存储管理方案小结某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为210字节,页表项大小为2字节,逻辑地址结构为逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是()A、64 B、128 C、256 D、512页目录号页号页内偏移量第十七页,共四十五页,2022年,8月28日2023/3/14逻辑地址转物理地址:101734250块号页号10010111000000101001011100000100页表首址+09程序地址0A5C物理地址为:125C第十八页,共四十五页,2022年,8月28日2023/3/14在分页存储管理系统中,有一作业大小为4页,页长为2K,页表如下:试借助地址变换图(即要求画出地址变换图)求出逻辑地址4635所对应的物理地址。页号块号05132736第十九页,共四十五页,2022年,8月28日2023/3/1431637250块号页号01000011011000100100001101100111页表首址+010物理地址为:14875第二十页,共四十五页,2022年,8月28日2023/3/14 有一页式系统,其页表存放在主存中。(1) 如果对主存的一次存取要3us,问实现一次页面访问要多长时间。(2) 如系统有快表,平均命中率为97%,假设访问快表的时间忽略为0,问此时一次页面访问要多长时间。第二十一页,共四十五页,2022年,8月28日2023/3/141、2*3=6us2、0.97*3+0.03*6=3.09us第二十二页,共四十五页,2022年,8月28日2023/3/14页式存储管理方案小结优点:解决了碎片问题便于管理

可以使程序和数据存放在不连续的主存空间缺点:不易实现共享不便于动态连接 页表都有可能占用较大的存储空间。 要求有相应的硬件支持,从而增加了系统成本,也增加了系统开销第二十三页,共四十五页,2022年,8月28日2023/3/144.5分段存储管理

4.5.1分段存储管理方式的引入

4.5.2分段系统的基本原理

4.5.3信息共享4.5.4段页式存储管理方式第二十四页,共四十五页,2022年,8月28日2023/3/144.5.1分段存储管理方式的引入

引入:主要是为了满足用户和程序员的需要方便用户:用户希望逻辑分段信息共享信息保护动态增长动态连接第二十五页,共四十五页,2022年,8月28日2023/3/144.5.2分段系统基本原理1、分段用户程序划分按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从0开始,每一段段内也从0开始编址,段内地址是连续的。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。逻辑地址:由段号和段内地址组成段号段内地址第二十六页,共四十五页,2022年,8月28日2023/3/14...0S工作区段[B]主程序段[M]......0EP子程序段[X]0K...CALL[X][E].........CALL[Y][F]CALL[A]116......0FL子程序段[Y]0116N数组[A]12345...第二十七页,共四十五页,2022年,8月28日2023/3/14内存划分内存空间被动态的划分为若干个长度不相同的区域,称为物理段,每个物理段由起始地址和长度确定内存分配

以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少),但各段之间可以不连续存放第二十八页,共四十五页,2022年,8月28日2023/3/14操作系统.....B0SA0NY0LX0PM0K逻辑段号01234作业1的地址空间10003200500060008000PKSLN主存K3200P1500L6000N8000S5000段号段地址01234操作系统第二十九页,共四十五页,2022年,8月28日2023/3/142、段表段映射表。每个程序有一个段表程序的每个段在表中占有一个表项,其中记录了该段在内存中的起始地址和段的长度。可放在内存中,也可放在寄存器中。段表是用于实现从逻辑段到物理内存区的映射。

段号012段首址段长度58K20K100K110K260K140K第三十页,共四十五页,2022年,8月28日2023/3/143、地址变换机构段地址映射过程为:系统中设置了段表寄存器,用于存放段表始址和段表长度TL。取出段号S和段内位移W。若S>TL,段号太大—越界。根据段表始址找到段表,查找段号为S的表目,得到该段在内存的起始地址。检查段内地址d是否起过该段的段长SL。若超过越界。把段首地址与段内位移相加,形成内存物理地址。第三十一页,共四十五页,2022年,8月28日2023/3/143、地址变换机构第三十二页,共四十五页,2022年,8月28日2023/3/14同页地址变换一样,在段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可采用快速存储器组成快表。第三十三页,共四十五页,2022年,8月28日2023/3/14

Cl

Cb+段号S段内地址d比较比较b

+d段表S>=Cl快表物理地址段表始址寄存器段表长度寄存器逻辑地址Lb...SLb地址越界d>=Ld>=L地址映射及存储保护机制地址越界地址越界比较第三十四页,共四十五页,2022年,8月28日2023/3/144、分页与分段的主要区别两者都采用离散分配方式,且都要通过地址变换机构来实现地址变换。分段与分页主要有以下差别:页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。第三十五页,共四十五页,2022年,8月28日2023/3/144、分页与分段的主要区别页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

第三十六页,共四十五页,2022年,8月28日2023/3/14段式存储管理方案小结优点:便于动态申请内存管理和使用统一化便于共享便于动态链接缺点:产生碎片第三十七页,共四十五页,2022年,8月28日2023/3/14练习基本分段系统中,给出如下段表,请求出逻辑地址(0,137),(1,4000),(2,3600),(5,230)转换成物理地址。段号内存始址段长050k10k160k3k270k5k3120k8k4150k4k第三十八页,共四十五页,2022年,8月28日2023/3/144.5.4段页式存储管理方式产生背景:

结合页式段式优点,克服二者的缺点基本原理地址变换过程第三十九页,共四十五页,2022年,8月28日2023/3/14基本原理用户程序划分 按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)逻辑地址内存划分 按页式存储管理方案内存分配 以页为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论