操作系统课件:Lecture11 段式存储管理与虚存_第1页
操作系统课件:Lecture11 段式存储管理与虚存_第2页
操作系统课件:Lecture11 段式存储管理与虚存_第3页
操作系统课件:Lecture11 段式存储管理与虚存_第4页
操作系统课件:Lecture11 段式存储管理与虚存_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、Lecture 11: 存储管理(存储管理(2)目的与要求目的与要求: :了解段了解段/ /段页式管理,掌握虚存管段页式管理,掌握虚存管理。理。重点与难点:重点与难点:虚存管理系统内存访问过程。虚存管理系统内存访问过程。段式管段式管理理页式管理页式管理对用户而言不太自然。对用户而言不太自然。 0 1 2 3 4 5 程序段程序段数据段数据段 0 1 2主程序主程序SIN 0 1 2主程序主程序SIN作业作业1 1作业作业2 2 段式管理的特点:段式管理的特点:按作业的自然段将其逻辑空按作业的自然段将其逻辑空间分成若干段,作业以段为单位分配内存。间分成若干段,作业以段为单位分配内存。 空间安排空

2、间安排: : 用户作业逻辑空间为二维空间,由若干自然用户作业逻辑空间为二维空间,由若干自然段组成。段组成。 逻辑地址:段号逻辑地址:段号. .段内偏移,记作段内偏移,记作S,dS,d。编译及。编译及装配时把所有地址记成装配时把所有地址记成(S,d)(S,d)的形式。的形式。 物理内存空间管理:与多道可变划分法一样,物理内存空间管理:与多道可变划分法一样,系统以段为单位分配物理内存。系统以段为单位分配物理内存。段式存储管理段式存储管理 基本思想基本思想逻辑单位逻辑单位内存管理采用可变分内存管理采用可变分区动态分配法。区动态分配法。段表段表总段表总段表/ /系统段表系统段表起始地址起始地址长度长度

3、作业作业ID动态地址转换动态地址转换保护码保护码段长段长 本段内存始地址本段内存始地址段表:段表:由如下格式的段表项组成,作业每段由一由如下格式的段表项组成,作业每段由一个段表项表示。个段表项表示。段表放于系统空间,进程段表放于系统空间,进程PCBPCB表中存有段表始地表中存有段表始地址、段表长度。址、段表长度。段表始地址寄存器、段表长度寄存器段表始地址寄存器、段表长度寄存器段式存储管理段式存储管理 地址转换过程地址转换过程段表控制寄存器段表控制寄存器段号 保护码 段长段内存始址.保护码 段长段内存始址.Sd段表始址段表长度+PA越界地址转换过程地址转换过程LALA联想存储器联想存储器段式存储

4、管理段式存储管理 优点优点 没有内碎片,外碎片可以通过内存紧致来消除。没有内碎片,外碎片可以通过内存紧致来消除。 便于实现共享,即允许若干个进程共享一个或者多个便于实现共享,即允许若干个进程共享一个或者多个段。段。 分页式管理和分段式管理的比较分页式管理和分段式管理的比较段式存储管理段式存储管理内容内容页式存储管理页式存储管理段式存储管理段式存储管理划分依据划分依据系统管理需要系统管理需要用户应用需要用户应用需要页页/ /段大小段大小各页面大小相同各页面大小相同段的大小不固定段的大小不固定逻辑地址逻辑地址只有一个逻辑地址空间只有一个逻辑地址空间每个段一个独立的逻辑每个段一个独立的逻辑地址空间地

5、址空间页表页表/ /段表段表页面较多,页表较长,查页面较多,页表较长,查找费时找费时段较少,段表较短,查段较少,段表较短,查找速度快找速度快碎片碎片存在内碎片存在内碎片存在外碎片存在外碎片内存共享内存共享支持不好支持不好支持支持存储扩充存储扩充不支持不支持不支持不支持 l 对于用户而言对于用户而言,段页式管理与段式相同,用户逻辑,段页式管理与段式相同,用户逻辑地址只涉及段号与段内位移。地址只涉及段号与段内位移。l对于物理内存管理而言对于物理内存管理而言,它与页式系统相同。,它与页式系统相同。系统内的逻辑地址:系统内的逻辑地址:段号段号 段内位移段内位移 - - 段号段号页页号号页内位移。记作:

6、页内位移。记作:S S,P P,W.W.段页式管理段页式管理特点:特点:将作业分成若干段,每段用页式管理实现将作业分成若干段,每段用页式管理实现内存分配内存分配。空间安排:空间安排:逻辑地址格式逻辑地址格式作业空间的内部表示作业空间的内部表示主程序主程序子程序子程序数据数据保护码保护码 长度长度 页表始地页表始地OS段表段表页表页表主存主存作业作业段表段表+ +页表页表动态地址转换动态地址转换段号段号 页号页号 保护码保护码页帧号页帧号.S Sp pd d段表始址段表始址段表长度段表长度+ +越界越界+ + f f f f d d段表段表页表页表Q Q:为了获得一条指令或者数:为了获得一条指令

7、或者数据,需要访问内存几次?据,需要访问内存几次?保护与共享保护与共享保护与段式管理相同。保护与段式管理相同。共享则可以以共享则可以以段或页段或页为单位,也可以共享页表。为单位,也可以共享页表。等效访问时间:等效访问时间:设访存时间为设访存时间为750ns750ns,搜索联想,搜索联想存储器的时间为存储器的时间为50ns50ns,命中率为,命中率为95%95%,则,则95% 95% * *(50+750) + 5% (50+750) + 5% * *(50+750+750+750)(50+750+750+750) = 875ns = 875ns段表段表主程序主程序子程序子程序数据数据作业作业1

8、主程序主程序子程序子程序数据数据作业作业2段表段表页表页表OS主存主存改进的页式管理改进的页式管理将段存放于线性逻辑空间,但是不同段不放在同一将段存放于线性逻辑空间,但是不同段不放在同一页面内,解决了页跨段的问题。页面内,解决了页跨段的问题。 0 1 2 3 4 5 程序段程序段数据段数据段 6 总结总结“放放” 连续存放连续存放 单道连续划分单道连续划分 多道连续固定划分多道连续固定划分 多道连续可变划分多道连续可变划分 不连续存放不连续存放 页式存储页式存储 段式存储段式存储 段页式存储段页式存储 改进的页式存储改进的页式存储内存扩充技术内存扩充技术提出原因提出原因 在基本的存储管理系统中

9、,当一个作业的程序地址在基本的存储管理系统中,当一个作业的程序地址空间大于内存可以使用的空间时,该作业就不能装入空间大于内存可以使用的空间时,该作业就不能装入运行,并发运行进程数受到了内存空间的限制。运行,并发运行进程数受到了内存空间的限制。内存扩充技术内存扩充技术 就是借助大容量的辅存在逻辑上实现内存的扩充,就是借助大容量的辅存在逻辑上实现内存的扩充,来解决内存容量不足的问题。来解决内存容量不足的问题。程序程序(190K)覆盖技术覆盖技术(Overlay)(Overlay)目标:目标:在较小的可用内存中运行较大的程序。在较小的可用内存中运行较大的程序。原理:原理:将用户空间划分成一个固定区和

10、多个覆盖区。主将用户空间划分成一个固定区和多个覆盖区。主程序放固定区,依次调用的子程序则放在同一个覆盖程序放固定区,依次调用的子程序则放在同一个覆盖区。区。操作系统提供覆盖系统调用函数,由用户编程序操作系统提供覆盖系统调用函数,由用户编程序显式调用。显式调用。A(20K)B(50K)C(30K)D(20K)E(40K)F(30K)覆盖段覆盖段覆盖技术的优缺点覆盖技术的优缺点l优点优点有效利用内存空间,提高系统的并发性。有效利用内存空间,提高系统的并发性。l缺点缺点覆盖结构需要程序员在程序编写的时候精心安排覆盖结构需要程序员在程序编写的时候精心安排,并用覆盖描述语言描述,增加编程复杂度;,并用覆

11、盖描述语言描述,增加编程复杂度;从外存装入覆盖文件,是以时间延长来换取空间从外存装入覆盖文件,是以时间延长来换取空间节省的;节省的;覆盖区仍然存在着碎片。覆盖区仍然存在着碎片。内存内存交换技术交换技术(swapping)(swapping)最早应用于最早应用于MITMIT开发的开发的CTSSCTSS中。中。原理:原理:将处于等待状态将处于等待状态( (等等I/OI/O结束结束) )或就绪或就绪( (等等CPU)CPU)状态状态的作业从主存换出到辅存,把将要执行的进程移入主的作业从主存换出到辅存,把将要执行的进程移入主存。存。外存外存Job2Job3Job1Job4交换技术的优缺点交换技术的优缺

12、点l优点:优点:增加并发运行的程序数目增加并发运行的程序数目可以提供优先级服务可以提供优先级服务l缺点:缺点:对换入和换出的控制增加处理机开销;对换入和换出的控制增加处理机开销;程序换入时的重定位问题。程序换入时的重定位问题。交换技术和覆盖技术的区别交换技术和覆盖技术的区别内容内容覆盖技术覆盖技术交换技术交换技术适用情况适用情况作业内部作业内部作业之间作业之间对程序结构的影响对程序结构的影响有有无无虚拟存储技术虚拟存储技术虚拟存储技术也是一种存储扩充技术。虚拟存储技术也是一种存储扩充技术。基础基础l程序中不是每一条指令都会在程序的一次运行过程中执行到。程序中不是每一条指令都会在程序的一次运行过

13、程中执行到。 错误处理子程序错误处理子程序 条件语句条件语句(if.else.)(if.else.)l程序中有的指令可能只执行一次程序中有的指令可能只执行一次 程序的初始化部分程序的初始化部分l程序执行的局部性原理:在一段时间内,作业一般不会执行到所程序执行的局部性原理:在一段时间内,作业一般不会执行到所有程序的指令,也不会存取绝大部分数据,执行的代码和要存取有程序的指令,也不会存取绝大部分数据,执行的代码和要存取的数据往往集中在某些区域中的数据往往集中在某些区域中( (例如一个循环、一个数组例如一个循环、一个数组) )。虚存的基本思想虚存的基本思想虚拟存储管理虚拟存储管理目的:目的:提供用户

14、进程一个巨大的虚拟存储空间。提供用户进程一个巨大的虚拟存储空间。手段:手段:利用外存利用外存( (磁盘磁盘) )实现此虚空间。实现此虚空间。系统为进程提供一个比物理内存大得多的虚拟存储空间,系统为进程提供一个比物理内存大得多的虚拟存储空间,虚拟空间大小不受物理内存大小的限制。虚拟空间大小不受物理内存大小的限制。 虚拟空间的容量由系统的有效地址长度决定。假设地址虚拟空间的容量由系统的有效地址长度决定。假设地址长度为长度为3232,按字节寻址,则虚拟存储空间大小为,按字节寻址,则虚拟存储空间大小为2 23232个字个字节。节。虚拟存储技术虚拟存储技术 原理:原理: 在程序装入时,不必一次将其全部读

15、入到内存,而在程序装入时,不必一次将其全部读入到内存,而只需将当前需要执行的某些区域读入到内存,然后只需将当前需要执行的某些区域读入到内存,然后程序开始执行。在程序执行过程中,如果需执行的程序开始执行。在程序执行过程中,如果需执行的指令或访问的数据尚未在内存,则由处理器通知操指令或访问的数据尚未在内存,则由处理器通知操作系统将相应的区域调入内存,然后继续执行。作系统将相应的区域调入内存,然后继续执行。 带来的好处带来的好处 程序的大小可以突破内存容量限制,使得用户感觉程序的大小可以突破内存容量限制,使得用户感觉到系统好像提供了一个容量极大的到系统好像提供了一个容量极大的“主存主存”。 内存中容

16、纳更多程序并发执行。内存中容纳更多程序并发执行。虚拟存储技术虚拟存储技术虚拟存储技术分类虚拟存储技术分类l虚拟页式存储管理虚拟页式存储管理纯页式管理纯页式管理 请求调页请求调页l虚拟段式存储管理虚拟段式存储管理纯段式管理纯段式管理 请求调段请求调段l虚拟段页式存储管理虚拟段页式存储管理虚拟页式管理虚拟页式管理 虚拟段式管理虚拟段式管理实现页式虚空间的基本方法是:实现页式虚空间的基本方法是: 在页式管理的基础上,仅将进程的一部分在页式管理的基础上,仅将进程的一部分页放于主存。页表项中注明该页是否在主存。页放于主存。页表项中注明该页是否在主存。程序执行时,如果访问的页不存主存,根程序执行时,如果访

17、问的页不存主存,根据页表项的指示,将其从外存调入主存,如果此据页表项的指示,将其从外存调入主存,如果此时无可用的内存空间,则先淘汰若干页帧。时无可用的内存空间,则先淘汰若干页帧。逻辑地址空间逻辑地址空间物理地址空间物理地址空间虚拟页式存储技术虚拟页式存储技术 工作原理工作原理012345678.012CPUOS缺页中断缺页中断缺页中断处缺页中断处理子程序理子程序3页表页表Q Q:当内存中没有空闲页面时,如果还要调入一个新页,如何处理?:当内存中没有空闲页面时,如果还要调入一个新页,如何处理?内存内存 进程虚存进程虚存外存交换区外存交换区外存执行文件外存执行文件页式虚存示意页式虚存示意( (进程

18、页表表示进程页表表示) )交换区(交换区(SWAPSWAP):):进程刚建立时,进程页面所在辅存即程进程刚建立时,进程页面所在辅存即程序文件所在的辅存位置。序文件所在的辅存位置。程序文件中一般包含有程序的二进制目程序文件中一般包含有程序的二进制目标码及数据初始值和初值为标码及数据初始值和初值为0 0的工作区。后两的工作区。后两者在回写时不能写入程序文件,在需要让其者在回写时不能写入程序文件,在需要让其让出内存时将内存原数据写入交换区中。让出内存时将内存原数据写入交换区中。页表项结构页表项结构: :合法位合法位 修改位修改位 页类型页类型 保护码保护码 外存块号外存块号 页帧号页帧号合法位:合法

19、位:置上表示该页在内存。置上表示该页在内存。修改位:修改位:置上表示该页被修改过,在释放或淘汰时应写置上表示该页被修改过,在释放或淘汰时应写 回外存。回外存。页类型:页类型:零页时:表示该页在分配物理页帧时应清零页时:表示该页在分配物理页帧时应清0 0页帧页帧 空间空间; ;回写回写swapswap区页时区页时: :表示回写表示回写swapswap区。区。保护码:保护码:R R、WW、E E保护说明。保护说明。外存块号:外存块号:该页所在外存的块号。该页所在外存的块号。页页 帧帧 号:号:当合法位置上时代表该页所在内存的当合法位置上时代表该页所在内存的页帧号。页帧号。页式虚存管理页式虚存管理页

20、表建立页表建立 分配分配pidpid给子进程,分配给子进程,分配PCBPCB空间空间; ; 初始化初始化PCBPCB(进程标识,调度信息)(进程标识,调度信息); ; 分配子进程页表空间分配子进程页表空间; ; 拷贝父进程的程序区页表项,使程序共享拷贝父进程的程序区页表项,使程序共享; ;部分复制父进程页表部分复制父进程页表 ( (如如UNIXUNIX的的fork()fork()初始化页表方法:初始化页表方法:在进程创建时建立页表,页表项在初始时,合法在进程创建时建立页表,页表项在初始时,合法位、修改位及页帧号都未置上。位、修改位及页帧号都未置上。 复制父进程的数据区和栈区,为数据区和栈复制父

21、进程的数据区和栈区,为数据区和栈区分配区分配swapswap空间,复制并修改数据区和栈区页空间,复制并修改数据区和栈区页表项内容表项内容; ; 继承父进程对其他资源的访问接口继承父进程对其他资源的访问接口; ; 用父进程用父进程PCBPCB中现场区初始化子进程的现场区,中现场区初始化子进程的现场区,且保证子进程恢复现场从且保证子进程恢复现场从forkfork()返回处开始()返回处开始运行,且运行,且fork()fork()返回值为返回值为0; 0; 将子进程挂到就绪队列将子进程挂到就绪队列; ; 返回子进程返回子进程pidpid给父进程。给父进程。 为执行程序页面建页表项,保护码为可执行,外

22、存块号为执行程序页面建页表项,保护码为可执行,外存块号即该页所在的文件的外存块号。(不必回写)即该页所在的文件的外存块号。(不必回写) 为所有初始数据页建页表项,保护码为可读写,页类型为所有初始数据页建页表项,保护码为可读写,页类型说明成回写说明成回写swapswap页,外存块号即该页所在文件的物理块页,外存块号即该页所在文件的物理块号,待该页回写时,再分配号,待该页回写时,再分配swapswap区空间,改外存块号栏区空间,改外存块号栏并清除页类型。并清除页类型。 为所有临时数据页建页表项,保护码为可读写,页类型为所有临时数据页建页表项,保护码为可读写,页类型说明成零页,外存块号栏空,当第一次

23、访问该页时,分说明成零页,外存块号栏空,当第一次访问该页时,分配页帧并清配页帧并清0 0页帧,回写时,再分配页帧,回写时,再分配swapswap区空间,填外区空间,填外存块号栏并清除页类型。存块号栏并清除页类型。用一个可执行的文件来初始化页表(如用一个可执行的文件来初始化页表(如Windows)Windows)在执行虚存访问指令时在执行虚存访问指令时, ,由硬件合成物理地址由硬件合成物理地址: :首先若能在联想存储器中获得该虚页的物理页帧号,则首先若能在联想存储器中获得该虚页的物理页帧号,则访问之访问之( (联想存储器中的页表项都是合法页的页表项联想存储器中的页表项都是合法页的页表项) )。若要查当前进程页表,须先检查该页页表项的合法位,若要查当前进程页表,须先检查该页页表项的合法位,若置上,则从页表项中获得页帧号,得物理地址访问之。若置上,则从页表项中获得页帧号,得物理地址访问之。否则要发一个页故障否则要发一个页故障(page fault)(page fault)或叫缺页中断(异常),或叫缺页中断(异常),当缺页中断处理完后,返回。当缺页中断处理完后,返回。重新执行访存指令。重新执行访存指令。硬件动

温馨提示

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

评论

0/150

提交评论