计算机操作系统课件:第5章存储器管理02-分页分段_第1页
计算机操作系统课件:第5章存储器管理02-分页分段_第2页
计算机操作系统课件:第5章存储器管理02-分页分段_第3页
计算机操作系统课件:第5章存储器管理02-分页分段_第4页
计算机操作系统课件:第5章存储器管理02-分页分段_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、1第五章 存储器管理第二讲2知识回顾与展开在上一节课中我们主要介绍了:存储器的层次结构程序的装入和链接连续分配方式覆盖技术与交换技术3本节课的主要内容 1 分页式存储管理方式 2 分段式存储管理方式 3 段页式存储管理方式4离散分配方式1 页式存储管理2 段式存储管理3 段页式存储管理 连续分配方式会形成许多碎片。虽然可以通过紧凑的方法将碎片拼接成可用的大块空间,但需要为此付出较大的开销。 因而将连续分配方式改变成为离散的分配方式,允许将一个进程直接分散地装入到不邻接的分区中,无需再进行“靠拢”。 根据分配时所采用的基本单位不同,可将离散分配方式分为以下三种:5基本原理: 将进程的逻辑地址空间

2、分为固定大小的页或页面,而将物理内存划分为同样大小的块或页框。 在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。 由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。进程1进程2进程3内存OS分页式存储管理6内存块(物理块,页框)内存块:内存按页的大小划分为大小相等的区域,称为内存块(物理块,页框)。内存分配以页为单位进行分配,并按作业的页数多少来分。逻辑上相邻的页,物理上不一定相邻,通过页表把进程的各个页面与页框对应起来。 7分页管理中页与页框(物理块号)的对应关系示意图页表的作用是实现从页号到物理块号的映射 8分页式存储管理地址

3、结构 分页地址中的地址结构如下: 页号P位移量W3112110 对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得: 9页式管理的地址变换将指令所给出地址分为两部分:逻辑页号,页内地址(页内位移W,页内偏移)。CPU中的内存管理单元按逻辑页号通过查找进程页表得到物理块号,将物理块号页面大小 + 页内地址=物理地址。处理机每访问一个在内存中的操作数就需要访问两次内存。第一次查找页表,将操作数的逻辑地址变换为物理地址。第二次完成真正的读写操作。10分页系统的地址变换机构11分页管理-逻辑地址到物理地址的转换例题若在一分页存储管理系

4、统中,某页表如右图所示。已知页面大小为1KB,请将逻辑地址996 、1056 、2368、5001转化为相应的物理地址 。12分页存储管理例题逻辑地址996p=996/1024=0对应块号是2w=996%1024=996所以物理地址为10242+996=3044 13分页存储管理例题逻辑地址1056p=1056/1024=1对应块号是3w=1056%1024=32所以物理地址为10243+32=310414分页存储管理例题逻辑地址2368p=2368/1024=2对应块号是1w=2368%1024=320所以物理地址为10241+320=1344 15分页存储管理例题逻辑地址5001p=500

5、1/1024=4所以物理地址是错误地址 16快表为缩短查找时间,提高地址变换速度,可以将页表从内存装入到一个具有并行查找能力的高速缓冲存储器(又称快表,或关联存储器TLB, Translation Lookaside Buffer) 中。通常在快表中存放正在运行程序的当前最常用的页号和相应的物理块号的页表项,而页表的其余部分仍然存放在内存中。17 在CPU给出有效地址后,由地址变换机构自动将页号送入快表,并将此页号与快表中的所有页号进行比较,而且这种比较是同时进行的。 若其中有与此页号相匹配的页号,表示要访问的页的页表项在快表中,于是可直接读出该页所对应的物理块号,这样就无需访问内存中的页表。

6、 每次访问主存时,首先查找快表,若找到所需的页表项,则快速形成物理地址。否则从页表中查找后形成物理地址,同时把该页表项写入快表。如果设计得当,快表的命中率可以很高。 具有快表的地址变换机构18具有快表的地址变换机构19优点:每个内碎片不超过页大小。一个程序不必连续存放。 这样便于改变程序占用空间的大小。即随着程序运行而动态生成的数据增多,地址空间可相应增长。缺点:程序全部装入内存。 没有足够内存就不能执行程序。页式存储管理20段式存储管理的引入 在分页存储系统中,程序的地址空间是一维线性的,这破坏了程序内部天然的逻辑结构,造成共享、保护的困难。为此引入分段存储管理方式。 段式管理是把内存视为二

7、维空间,与进程逻辑相一致。21分段式存储管理 基本原理:将程序的地址空间按照自身的逻辑关系划分为若干个段,各段的长度不等。系统为每个段分配一个连续的分区,而进程中的各个段可以不连续地存放在内存中的不同分区中。程序加载时,操作系统为所有段分配其所需内存,这些段不必连续存放,物理内存的管理采用动态分区的管理方法。22段表 它记录了段号,段的首(地)址和长度之间的关系。 每一个程序设置一个段表,放在内存,属于进程的现场信息。段号012段首址段长度58K20K100K110K260K140K23B0SS0ND0LX0PM0K逻辑段号01234程序的地址空间10003200500060008000PKS

8、LN主存K 3200P 1500L 6000N 8000S 5000长度 段地址01234操作系统程序与段表、存储空间的关系012345段号24分段地址中的地址具有如下结构: 段号段内地址31 16 15 0分段系统25分段系统的地址变换 为了完成进程逻辑地址到物理地址的映射,处理机会查找内存中的段表,由段号得到段的物理空间的首地址,加上段内地址,得到实际的物理地址。(由硬件完成) 操作系统只需在进程切换时,将进程段表的首地址装入处理机的特定寄存器中(段表地址寄存器)。 每访问一次数据两次访问内存,也可在处理机中增设一个高速关联存储器。26分段地址变换机构27页式管理和段式管理的比较页是信息的

9、物理单位,段则是信息的逻辑单位。 分页是出于系统管理内存的需要。分段是出于用户应用的需要。页大小是固定的,由系统(机器硬件)实现。 而段大小则通常不固定,取决于用户程序。页的地址空间是一维的,利用一个标识符即可表示一个地址。分段的地址空间是二维的,标识一个地址需要给出段名和段内地址。28段页式存储管理方式 基本原理: 将用户程序划分若干个段,然后再把每个段分成若干页,并为每一段赋一个段名。 结合段式和页式的优点,用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间。 29基本思想 用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)。 地址结构:

10、 段号段内地址页号页内地址30 1.程序地址空间:如图(a)所示2.地址结构如图(b)所示段页式存储管理方式 31练习题-分页1、在一分页存储管理系统中,若页表如下所示。已知 页面大小为1KB,将逻辑地址900和2256转化为相应 的物理地址。页号 块号0413213232练习题-分页答:逻辑地址900对应的逻辑页号为: P = 900 / 1024 = 0; 根据页表可知,对应的块号是 4; 页内地址D = 900 % 1024 = 900; 所以物理地址为: 1024 * 4 + 900 = 4096 + 900 = 4996 。33练习题-分页答:逻辑地址2256对应的逻辑页号为: P

11、= 2256 / 1024 = 2; 根据页表可知,对应的块号是 1; 页内地址D = 2256 % 1024 = 208; 所以物理地址为: 1024 * 1 + 208 = 1024 + 208 = 1232 。34练习题-分页2、假定某页式管理系统,主存为64KB,分成16块,块号为0、1、2、3、415。设某作业有4页,其页号为0、1、2、3,被分别装入主存的2、4、1、6块。试问: (1)该作业的总长度是多少字节? (2)写出该作业每一页在主存中的起始地址。 (3)若多个逻辑地址0,100 、 1,50 、 2,0、 3,60,试计算出相应的内存地 址。(方括号内的第一个元素为页号,

12、第二 个元素为页内位移。)35练习题-分页答:(1)每块的长度为64KB/16=4KB 在页式存储管理系统中,页与块的大小相等,因 此作业总长度为4KB * 4 = 16KB。 (2)因为页号为0、1、2、3的页分别装入主存的2、 4、1、6块中,所以该作业每一页在主存中的起始 地址如下: 第0页在主存中的起始地址:4KB * 2 = 8KB 第1页在主存中的起始地址:4KB * 4 = 16KB 第2页在主存中的起始地址:4KB * 1 = 4KB36练习题答:(2) 第3页在主存中的起始地址:4KB * 6 = 24KB (3)逻辑地址0,100的内存地址为: 4KB * 2 + 100

13、= 8KB + 100 = 8292 B 逻辑地址1,50的内存地址为: 4KB * 4 + 50 = 16KB + 50 = 16434 B 逻辑地址2,0的内存地址为: 4KB * 1 + 0 = 4KB + 0 = 4096 B 逻辑地址3,60的内存地址为: 4KB * 6 + 60 = 24KB + 60 = 24636 B37练习题-分段3、在某段式管理系统中,有一作业的段表如下所示,求逻辑地址0,65 、 1,55 、2,90、3,20对应的主存地址(按十进制)。(方括号内的第一个元素为段号,第二个元素为段内位移)段号段长主存起始地址状态0200600015085002100100003150-138练习题(续)答:对于逻辑地址0,65

温馨提示

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

评论

0/150

提交评论