chapter3内存管理2.ppt

上传人:hyn****60 文档编号:70746658 上传时间:2023-01-27 格式:PPT 页数:79 大小:1.14MB
返回 下载 相关 举报
chapter3内存管理2.ppt_第1页
第1页 / 共79页
chapter3内存管理2.ppt_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《chapter3内存管理2.ppt》由会员分享,可在线阅读,更多相关《chapter3内存管理2.ppt(79页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章 存 储 器 管 理 第三章 存储管理第三章 存 储 器 管 理 3.3 基本分页存储管理方式基本分页存储管理方式连续分配方式会形成许多碎片,虽然通过连续分配方式会形成许多碎片,虽然通过“紧凑紧凑”可以拼接,但是必须付出很多开销。可以拼接,但是必须付出很多开销。因此产生了离散分配方式,如果因此产生了离散分配方式,如果离散分配基离散分配基本单位本单位是是页页,则称为,则称为分页存储管理分页存储管理方式;如方式;如果离散果离散分配基本单位是段分配基本单位是段,则称为分段存储,则称为分段存储管理方式。管理方式。第三章 存 储 器 管 理 3.3.1 页面与页表页面与页表1)分页存储的基本原理分

2、页存储的基本原理分页存储管理,是将一个分页存储管理,是将一个进程的逻辑地址空间进程的逻辑地址空间分成分成若干个若干个大小相等的片大小相等的片,称为,称为页面或页页面或页,并为各页加,并为各页加以编号,从以编号,从0开始,如第开始,如第0页、第页、第1页等。页等。把把内存空间分成与页面相同大小的若干个存储块内存空间分成与页面相同大小的若干个存储块,称为称为(物理物理)块或页框块或页框(frame),也同样为它们加以也同样为它们加以编号,如编号,如0块、块、1块等等。块等等。以块为单位以块为单位将进程中的若干个将进程中的若干个页页分别分别装入到多个可装入到多个可以不相邻接的物理块中以不相邻接的物理

3、块中。由于进程的最后一页经常装不满一块而形成了不可由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为利用的碎片,称之为“页内碎片页内碎片”。第三章 存 储 器 管 理 3.3.1 页面与页表页面与页表2)页面大小页面大小 在分页系统中的在分页系统中的页面其大小应适中页面其大小应适中。页面若。页面若太小,一方面虽然可使内存碎片减小,有利于提太小,一方面虽然可使内存碎片减小,有利于提高内存利用率,但另一方面也会使每个进程占用高内存利用率,但另一方面也会使每个进程占用较多的页面,从而导致进程的页表过长,占用大较多的页面,从而导致进程的页表过长,占用大量内存;量内存;此外,还会降低页面换进

4、换出的效率。此外,还会降低页面换进换出的效率。如果选择的页面较大,又会使页内碎片增大。因如果选择的页面较大,又会使页内碎片增大。因此,页面的大小应选择得适中,且页面大小应是此,页面的大小应选择得适中,且页面大小应是2的幂,的幂,通常为通常为512 B8 KB。第三章 存 储 器 管 理 3)地址结构地址结构 分页地址中的地址结构如下:分页地址中的地址结构如下:页号页号P位移量位移量W3112110 对对某某特特定定机机器器,其其地地址址结结构构是是一一定定的的。若若给给定定一一个个逻逻辑辑地地址址空空间间中中的的地地址址为为A,页页面面的的大大小小为为L,则则页页号号P和和页页内地址内地址d可

5、按下式求得:可按下式求得:第三章 存 储 器 管 理 4)页表页表 图 3-11 页表的作用 第三章 存 储 器 管 理 3.3.2 地址变换地址变换页式存储管理采用动态重定位方式装入进程。页式存储管理采用动态重定位方式装入进程。页表的功能可以由一组专门的寄存器来实现。页表的功能可以由一组专门的寄存器来实现。在执行检索之前,先将在执行检索之前,先将页号与页表长度进行比较页号与页表长度进行比较,如果页号大于页表长度,产生如果页号大于页表长度,产生“地址越界地址越界”中断。中断。若未出现越界错误,则将页表始址与页号相加,便若未出现越界错误,则将页表始址与页号相加,便得到该表项在页表中的位置,从中得

6、到该页的物理得到该表项在页表中的位置,从中得到该页的物理块号,将块号装入物理地址寄存器中。同时,再将块号,将块号装入物理地址寄存器中。同时,再将页内地址直接送物理地址寄存器的块内地址字段。页内地址直接送物理地址寄存器的块内地址字段。经过硬件机制,把物理地址寄存器中的块号和块内经过硬件机制,把物理地址寄存器中的块号和块内地址,转换成物理地址。地址,转换成物理地址。第三章 存 储 器 管 理 3.3.2 地址变换地址变换页表始址页表长度页表寄存器页表页表块号块号页号页号5332712052018物理地址32018逻辑地址越界中断第三章 存 储 器 管 理 地址变换实例地址变换实例如图如图:程序地址

7、空间中有一条指令程序地址空间中有一条指令LOAD B,5346,当,当指令执行时,如何进行地址变换?假定页面大小为指令执行时,如何进行地址变换?假定页面大小为2K,机器的地址长度为机器的地址长度为16位位.5346 =2*2048+125002KB4KB6KB-1页号页号页内位移页内位移LOAD B,543636710011100010000102 12500101115系统向用户提供的逻辑系统向用户提供的逻辑地址空间最大为多少地址空间最大为多少?第三章 存 储 器 管 理 3.3.3 对页式存储管理的改进对页式存储管理的改进 1.有快表的地址变换有快表的地址变换2两级页表的地址转换两级页表的

8、地址转换 第三章 存 储 器 管 理 1.联想存储器联想存储器快表快表如果把页表放在主存中,每次访问主存,首先必须先访问如果把页表放在主存中,每次访问主存,首先必须先访问页表读出块号,之后根据形成的实际地址,再访问主存以页表读出块号,之后根据形成的实际地址,再访问主存以读取操作数读取操作数 两次访问主存。两次访问主存。联想存储器联想存储器快表。快表。为提高查表速度,在地址变换机构为提高查表速度,在地址变换机构中增设一个高速缓存,存放最近访问过的部分页表。中增设一个高速缓存,存放最近访问过的部分页表。地址变换机构自动将逻辑地址中的页号与快表中的所有页地址变换机构自动将逻辑地址中的页号与快表中的所

9、有页号号并行并行比较,若有匹配的页号,快速形成物理地址;若快比较,若有匹配的页号,快速形成物理地址;若快表中没有匹配页号,再访问主存页表形成绝对地址,同时表中没有匹配页号,再访问主存页表形成绝对地址,同时将该页登记到快表。将该页登记到快表。第三章 存 储 器 管 理 具有快表的地址变换机构具有快表的地址变换机构具有快表的地址变换机构具有快表的地址变换机构联想寄存器联想寄存器并行查询;并行查询;空间大小:空间大小:几几K到几十到几十K,部分表项(部分表项(816个)个),就能达到就能达到90%左右的命中率;左右的命中率;快表与页表同时访问;快表与页表同时访问;地址映射过程。地址映射过程。页表始址

10、页表长度页表寄存器页表块号块号页号页号5332712031250物理地址21250逻辑地址越界中断快表块号块号页号页号2051145320输入寄存器第三章 存 储 器 管 理 3.3.3 对页式存储管理的改进对页式存储管理的改进2 两级和多级页表两级和多级页表现代的大多数计算机系统,都支持非常大的逻现代的大多数计算机系统,都支持非常大的逻辑地址空间辑地址空间(232264)。在这样的环境下,页。在这样的环境下,页表就变得非常大,要占用相当大的内存空间。表就变得非常大,要占用相当大的内存空间。例如,对于一个具有例如,对于一个具有32位逻辑地址空间的分页位逻辑地址空间的分页系统,规定页面大小为系统

11、,规定页面大小为4 KB即即212 B,则在每,则在每个进程页表中的页表项可达个进程页表中的页表项可达1兆个之多(兆个之多(232/212)。又因为每个页表项占用一个字节,)。又因为每个页表项占用一个字节,故故每个进程仅仅其页表就要占用每个进程仅仅其页表就要占用1MB的内存空间,的内存空间,而且还要求是连续的。而且还要求是连续的。第三章 存 储 器 管 理 图 4-14 两级页表结构 第三章 存 储 器 管 理 图 4-15 具有两级页表的地址变换机构 第三章 存 储 器 管 理 3.3.4 管理特点管理特点 一一是是,可可以以使使程程序序和和数数据据存存放放在在不不连连续续的的主主存存空空间

12、间,不不必必象象可可变变分分区区管管理理那那样样通通过过增增加加系系统统开开销销来来解解决决“碎碎片片”问问题,它有效地解决了题,它有效地解决了“碎片碎片”多的问题。多的问题。二二是是,通通过过位位示示图图和和页页表表来来记记录录主主存存的的使使用用情情况况和和每每个个进进程程的的分分配配情情况况,当当主主存存很很大大,并并且且进进程程也也很很大大时时,位位示示图图和页表都有可能占用较大的存储空间。和页表都有可能占用较大的存储空间。另另外外,它它要要求求有有相相应应的的硬硬件件支支持持,从从而而增增加加了了系系统统成成本本,也也增增加加了了系系统统开开销销。如如需需要要地地址址变变换换机机构构

13、、快快表表等等。并并且且它它仍仍然然存存在在不不可可利利用用的的空空间间,如如最最后后一一页页的的部部分分空空间间没没有有放放满满等等。它它还还要要求求页页的的大大小小固固定定,不不能能随随程程序序的的大大小小而而变变,对程序的共享和使用造成了许多困难。对程序的共享和使用造成了许多困难。第三章 存 储 器 管 理 3.3.5 页式存储管理举例页式存储管理举例【例例】设一页式存储管理系统,向用户提供逻辑地设一页式存储管理系统,向用户提供逻辑地址空间最大为址空间最大为16页,每页页,每页2048字节,字节,主存中主存中用户区的起始地址为用户区的起始地址为1000,假定页表如下。,假定页表如下。主存

14、总共有主存总共有8个存储块,试问逻辑地址应为多个存储块,试问逻辑地址应为多少位?主存空间有多大?将逻辑地址少位?主存空间有多大?将逻辑地址1011转转换为相应的物理地址。换为相应的物理地址。第三章 存 储 器 管 理 3.4 基本分段存储管理方式基本分段存储管理方式引入分页存储管理方式,主要是为了提引入分页存储管理方式,主要是为了提高内存的利用率。而引入分段存储管理高内存的利用率。而引入分段存储管理方式,主要是为了满足用户在编程和使方式,主要是为了满足用户在编程和使用上的多方面的要求。用上的多方面的要求。第三章 存 储 器 管 理 3.4.1 分段存储管理方式的引入分段存储管理方式的引入引入分

15、段存储管理方式,引入分段存储管理方式,主要是为了满主要是为了满足用户和程序员的下述一系列需要:足用户和程序员的下述一系列需要:1)方便编程方便编程 2)信息共享信息共享 3)信息保护信息保护 4)动态增长动态增长 5)动态链接动态链接 第三章 存 储 器 管 理 4.4.2 分段系统的基本原理分段系统的基本原理1.分段分段按程序自身的逻辑关系把进程的地址空按程序自身的逻辑关系把进程的地址空间划分为若干个程序段,每个程序段都间划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从有一个段名,且有一个段号。段号从0开开始,每一段也从始,每一段也从0开始编址,段内地址是开始编址,段内地址是

16、连续的。连续的。第三章 存 储 器 管 理 分段地址中的地址具有如下结构(二维的):分段地址中的地址具有如下结构(二维的):段号段号段段内地址内地址31 16 15 04.4.2 分段系统的基本原理分段系统的基本原理第三章 存 储 器 管 理 3.4.2 分段系统的基本原理分段系统的基本原理2.段表段表进程中每个分段分配一个连续的内存空进程中每个分段分配一个连续的内存空间(分区),各个段可以离散地存放在间(分区),各个段可以离散地存放在内存中不同的分区。因此系统给每个进内存中不同的分区。因此系统给每个进程建立一张映射表,简称程建立一张映射表,简称“段表段表”。段。段表是用于实现从逻辑段到物理内

17、存分区表是用于实现从逻辑段到物理内存分区的映射。的映射。第三章 存 储 器 管 理 图 4-16 利用段表实现地址映射 第三章 存 储 器 管 理 图 4-17 分段系统的地址变换过程 3.地址变换机构地址变换机构 第三章 存 储 器 管 理 3.地址变换机构地址变换机构要访问一个数据,需两次访问内存。同样要访问一个数据,需两次访问内存。同样也可以增设一个联想存储器(快表)。也可以增设一个联想存储器(快表)。一般情况下段比页大,因而段表项的数目一般情况下段比页大,因而段表项的数目比页表项的数目少,其所需的联想存储器比页表项的数目少,其所需的联想存储器也比较小。也比较小。第三章 存 储 器 管

18、理 4.分页和分段的主要区别分页和分段的主要区别(1)页是信息的物理单位,分页是为实现页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外部碎片,离散分配方式,以消减内存的外部碎片,提高内存的利用率。或者说,提高内存的利用率。或者说,分页仅仅分页仅仅是由于系统管理的需要而不是用户的需是由于系统管理的需要而不是用户的需要。要。段则是信息的逻辑单位,它含有一组其段则是信息的逻辑单位,它含有一组其意义相对完整的信息。意义相对完整的信息。分段的目的是为分段的目的是为了能更好地满足用户的需要。了能更好地满足用户的需要。第三章 存 储 器 管 理 4.分页和分段的主要区别分页和分段的主要区别(2)

19、页的大小固定且由系统决定,由系统把逻页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,的页面;而段的长度却不固定,决定于用户所决定于用户所编写的程序,通常由编译程序在对源程序进行编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。编译时,根据信息的性质来划分。(3)分页的进程地址空间是一维的,即单一的分页的进程地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,线性地址空间,程序员只需利用一

20、个记忆符,即可表示一个地址;即可表示一个地址;而分段的进程地址空间则而分段的进程地址空间则是二维的,程序员在标识一个地址时,既需给是二维的,程序员在标识一个地址时,既需给出段名,出段名,又需给出段内地址。又需给出段内地址。第三章 存 储 器 管 理 3.4.3 信息共享信息共享 图 4-18 分页系统中共享editor的示意图第三章 存 储 器 管 理 图 4-19 分段系统中共享editor的示意图 第三章 存 储 器 管 理 3.4.4 段页式存储管理方式段页式存储管理方式1.基本原理基本原理将用户程序划分若干个段,然后再把每个将用户程序划分若干个段,然后再把每个段分成若干页,并为每一段赋

21、一个段名。段分成若干页,并为每一段赋一个段名。第三章 存 储 器 管 理 图 4-20 进程地址空间和地址结构 第三章 存 储 器 管 理 图 3-21 利用段表和页表实现地址映射 第三章 存 储 器 管 理 2.地址变换过程地址变换过程 图 4-22 段页式系统中的地址变换机构 第三章 存 储 器 管 理 要要访访问问一一个个数数据据,需需三三次次访访问问内内存存。同同样样也也可可以以增增设设一个联想存储器(快表),存放段号和页号一个联想存储器(快表),存放段号和页号。第三章 存 储 器 管 理 3.5 虚拟存储器的基本概念虚拟存储器的基本概念两种情况:两种情况:(1)有的进程很大,其所要求

22、的内存空间有的进程很大,其所要求的内存空间超过了内存总容量,进程不能全部被装入内存,超过了内存总容量,进程不能全部被装入内存,导致该进程无法运行。导致该进程无法运行。(2)有大量进程要求运行,但是由于内存有大量进程要求运行,但是由于内存容量不足以容纳所有这些进程,只能将少数的容量不足以容纳所有这些进程,只能将少数的进程装入内存让它们先运行,而将其它大量的进程装入内存让它们先运行,而将其它大量的进程留在外存上等待。进程留在外存上等待。第三章 存 储 器 管 理 3.5.1 虚拟存储器的引入虚拟存储器的引入1.常规存储器管理方式的特征常规存储器管理方式的特征(1)一次性。(2)驻留性。第三章 存

23、储 器 管 理 3.5.1 虚拟存储器的引入虚拟存储器的引入局部性原理局部性原理 (1)时间局部性。如果程序中的某条指令一时间局部性。如果程序中的某条指令一旦执行,旦执行,则不久以后该指令可能再次执行;如则不久以后该指令可能再次执行;如果某数据被访问过,果某数据被访问过,则不久以后该数据可能再则不久以后该数据可能再次被访问。产生时间局限性的典型原因,是由次被访问。产生时间局限性的典型原因,是由于在程序中存在着大量的循环操作。于在程序中存在着大量的循环操作。(2)空间局部性。一旦程序访问了某个存储空间局部性。一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被单元,在不久之后,其附近的

24、存储单元也将被访问,即程序在一段时间内所访问的地址,可访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,其典型情况便是程能集中在一定的范围之内,其典型情况便是程序的顺序执行。序的顺序执行。第三章 存 储 器 管 理 3.虚拟存储器定义虚拟存储器定义所谓虚拟存储器,所谓虚拟存储器,是指具有请求调入功是指具有请求调入功能和置换功能,能和置换功能,能从逻辑上对内存容量能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的其运行速度接近于内存速度,而每位

25、的成本却又接近于外存。成本却又接近于外存。第三章 存 储 器 管 理 3.5.2 虚拟存储器的实现方法虚拟存储器的实现方法1.分页请求系统分页请求系统(以页面为单位)(以页面为单位)(1)硬件支持。)硬件支持。请求分页的页表机制,它是在纯分页的页表机制上请求分页的页表机制,它是在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构;增加若干项而形成的,作为请求分页的数据结构;缺页中断机构,即每当用户程序要访问的页面尚未缺页中断机构,即每当用户程序要访问的页面尚未调入内存时调入内存时 便产生一缺页中断便产生一缺页中断,以请求,以请求OS将所缺将所缺的页调入内存;的页调入内存;地址变换机构

26、,地址变换机构,它同样是在纯分页地址变换机构它同样是在纯分页地址变换机构的基础上发展形成的。的基础上发展形成的。(2)实现请求分页的软件实现请求分页的软件(调页算法和置换算法)(调页算法和置换算法)第三章 存 储 器 管 理 3.5.3 虚拟存储器的特征虚拟存储器的特征1.多次性。是指一个进程被分多次调入内存。多次多次性。是指一个进程被分多次调入内存。多次性是虚拟存储器最重要的特征。性是虚拟存储器最重要的特征。2.对换性。是指允许在进程的运行过程中换进、换对换性。是指允许在进程的运行过程中换进、换出。换进和换出能够有效提高内存利用率。出。换进和换出能够有效提高内存利用率。3.虚拟性虚拟性。指能

27、够从逻辑上扩充内存容量,使用。指能够从逻辑上扩充内存容量,使用户所看到的内存容量远远大于实际容量。虚拟性户所看到的内存容量远远大于实际容量。虚拟性是以多次性和对换性为基础的。是以多次性和对换性为基础的。第三章 存 储 器 管 理 3.6 请求分页存储管理方式请求分页存储管理方式 3.6.1 请求分页中的硬件支持请求分页中的硬件支持 1.页表机制页表机制 页号页号 物理块号物理块号 状态位状态位P 访问字段访问字段A 修改位修改位M外存地址外存地址 第三章 存 储 器 管 理 2.缺页中断机构缺页中断机构 图 4-23 涉及6次缺页中断的指令 第三章 存 储 器 管 理 3.地址变换机构地址变换

28、机构 图 4-24 请求分页中的地址变换过程 第三章 存 储 器 管 理 3.6.3 调页策略调页策略 1.何时调入页面何时调入页面 1)预调页策略 2)请求调页策略 第三章 存 储 器 管 理 2.从何处调入页面从何处调入页面 在请求分页系统中的外存分为两部分:用于存在请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。放文件的文件区和用于存放对换页面的对换区。由于对换区是采用连续分配方式,而对换区是由于对换区是采用连续分配方式,而对换区是采用离散分配方式,故对换区的磁盘采用离散分配方式,故对换区的磁盘I/O速度速度比文件区的高。这样,每当发生缺页请求时,比文件区

29、的高。这样,每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三系统应从何处将缺页调入内存,可分成如下三种情况:种情况:第三章 存 储 器 管 理(1)系统拥有足够的对换区空间,这时可系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高以全部从对换区调入所需页面,以提高调页速度。为此,在进程运行前,调页速度。为此,在进程运行前,便须便须将与该进程有关的文件,从文件区拷贝将与该进程有关的文件,从文件区拷贝到对换区。到对换区。第三章 存 储 器 管 理(2)系统缺少足够的对换区空间,这时凡系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区是不会被修改的文件,都

30、直接从文件区调入;而当换出这些页面时,由于它们调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出,以后再未被修改而不必再将它们换出,以后再调入时,仍从文件区直接调入。但对于调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出那些可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时,再时,便须调到对换区,以后需要时,再从对换区调入。从对换区调入。第三章 存 储 器 管 理(3)UNIX方式。由于与进程有关的文件方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过都应从文件区调入。而对

31、于曾经运行过但又被换出的页面,由于是被放在对换但又被换出的页面,由于是被放在对换区,因此在下次调入时,应从对换区调区,因此在下次调入时,应从对换区调入。由于入。由于UNIX系统允许页面共享,因此,系统允许页面共享,因此,某进程所请求的页面有可能已被其它进某进程所请求的页面有可能已被其它进程调入内存,此时也就无须再从对换区程调入内存,此时也就无须再从对换区调入。调入。第三章 存 储 器 管 理 3.页面调入过程页面调入过程 每当程序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后,转入缺页中断处理程序。该程序通过查找页表,得到该页在外存的物理块后

32、,如果此时内存能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出;如果该页未被修改过,可不必将该页写回磁盘;但如果此页已被修改,则必须将它写回磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表中。在缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。第三章 存 储 器 管 理 3.页面调入过程页面调入过程每当程序所要访问的页面未在内存时,便向每当程序所要访问的页面未在内存时,便向CPU发出一发出一缺页中断,中断处理程序首先保留缺页中断,中断处理程序

33、首先保留CPU环境,分析中断环境,分析中断原因后,原因后,转入缺页中断处理程序。转入缺页中断处理程序。该程序通过查找页表,得到该页在外存的物理块后,该程序通过查找页表,得到该页在外存的物理块后,如如果此时内存能容纳新页,则启动磁盘果此时内存能容纳新页,则启动磁盘I/O将所缺之页调将所缺之页调入内存,然后修改页表。入内存,然后修改页表。如果内存已满,则须先按照某种置换算法从内存中选出如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出;如果该页未被修改过,可不必将该页写一页准备换出;如果该页未被修改过,可不必将该页写回磁盘;但如果此页已被修改,回磁盘;但如果此页已被修改,则必须将它写回磁

34、盘,则必须将它写回磁盘,然后再把所缺的页调入内存,然后再把所缺的页调入内存,并修改页表中的相应表项,并修改页表中的相应表项,置其存在位为置其存在位为“1”,并将此页表项写入快表中。,并将此页表项写入快表中。在缺页调入内存后,利用修改后的页表,在缺页调入内存后,利用修改后的页表,去形成所要访去形成所要访问数据的物理地址,再去访问内存数据。问数据的物理地址,再去访问内存数据。第三章 存 储 器 管 理 3.7 页面置换算法页面置换算法页面置换算法是选择换出页面的算法。页面置换算法是选择换出页面的算法。置换算法的好坏,将直接影响到系统的置换算法的好坏,将直接影响到系统的性能。性能。第三章 存 储 器

35、 管 理 3.7.1 最佳置换算法和先进先出置换算法最佳置换算法和先进先出置换算法 1.最佳(Optimal)置换算法 最佳置换算法是由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。第三章 存 储 器 管 理 3.7.1 最佳置换算法和先进先出置换算法最佳置换算法和先进先出置换算法1.最佳最佳(Optimal)置换算法置换算法最佳置换算法是一种理论上的算法。最佳置换算法是一种理论上的算法。其所其所选择的被淘汰页面,将是以后永不使用的,选择的被淘汰页面,将是以后永

36、不使用的,或许是在最长或许是在最长(未来未来)时间内不再被访问的时间内不再被访问的页面。采用最佳置换算法,通常可保证获页面。采用最佳置换算法,通常可保证获得最低的缺页率。得最低的缺页率。第三章 存 储 器 管 理 假假定定系系统统为为某某进进程程分分配配了了三三个个物物理理块块,并并考考虑虑有有以以下下的页面号引用串:的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 进进程程运运行行时时,先先将将7,0,1三三个个页页面面装装入入内内存存。以以后后,当当进进程程要要访访问问页页面面2时时,将将会会产产生生缺缺页页中中断断。此此时时OS根根据据最佳置

37、换算法,最佳置换算法,将选择页面将选择页面7予以淘汰。予以淘汰。图 4-25 利用最佳页面置换算法时的置换图 第三章 存 储 器 管 理 2.先进先出先进先出(FIFO)页面置换算法页面置换算法 图 4-26 利用FIFO置换算法时的置换图 第三章 存 储 器 管 理 3.7.2 最近最久未使用最近最久未使用(LRU)置换算法置换算法 1.LRU(Least Recently Used)置换算法的描述置换算法的描述 图 4-27 LRU页面置换算法 第三章 存 储 器 管 理 2.LRU置换算法的硬件支持置换算法的硬件支持 1)寄存器寄存器 为为了了记记录录某某进进程程在在内内存存中中各各页页

38、的的使使用用情情况况,须须为为每每个个在内存中的页面配置一个移位寄存器在内存中的页面配置一个移位寄存器,可表示为,可表示为 R=Rn-1Rn-2Rn-3 R2R1R0 第三章 存 储 器 管 理 3.7.3 Clock置换算法置换算法 1.简单的简单的Clock置换算法置换算法 图 4-30 简单Clock置换算法的流程和示例 第三章 存 储 器 管 理 2.改进型改进型Clock置换算法置换算法 由访问位由访问位A和修改位和修改位M可以组合成下面四种类型的页面:可以组合成下面四种类型的页面:1类类(A=0,M=0):表表示示该该页页最最近近既既未未被被访访问问,又又未未被被修修改改,是最佳淘

39、汰页。是最佳淘汰页。2类类(A=0,M=1):表表示示该该页页最最近近未未被被访访问问,但但已已被被修修改改,并并不是很好的淘汰页。不是很好的淘汰页。3类类(A=1,M=0):最最近近已已被被访访问问,但但未未被被修修改改,该该页页有有可可能能再被访问。再被访问。4类类(A=1,M=1):最近已被访问且被修改,最近已被访问且被修改,该页可能再被访该页可能再被访问。问。第三章 存 储 器 管 理 3.8 请求分段存储管理方式请求分段存储管理方式 3.8.1 请求分段中的硬件支持请求分段中的硬件支持 1.段表机制段表机制 段名段名 段长段长 段的段的基址基址 存取存取方式方式 访问访问字段字段A

40、修改修改位位M 存在存在位位P 增补增补位位 外存外存始址始址 第三章 存 储 器 管 理 在在段段表表项项中中,除除了了段段名名(号号)、段段长长、段段在在内内存存中中的的起起始地址外,始地址外,还增加了以下诸项:还增加了以下诸项:(1)存取方式。存取方式。(2)访问字段访问字段A。(3)修改位修改位M。(4)存在位存在位P。(5)增补位。增补位。(6)外存始址。外存始址。第三章 存 储 器 管 理 2.缺段中断机构缺段中断机构 图图 4-31 请求分段系统中的中断处理过程请求分段系统中的中断处理过程第三章 存 储 器 管 理 3.地址变换机构地址变换机构 图 4-32 请求分段系统的地址变

41、换过程第三章 存 储 器 管 理 3.8.2 分段的共享与保护分段的共享与保护 1.共享段表共享段表 图 4-33 共享段表项 第三章 存 储 器 管 理(1)共享进程计数count(2)存取控制字段(3)段号第三章 存 储 器 管 理 2.共享段的分配与回收共享段的分配与回收 1)共享段的分配共享段的分配 在在为为共共享享段段分分配配内内存存时时,对对第第一一个个请请求求使使用用该该共共享享段段的的进进程程,由由系系统统为为该该共共享享段段分分配配一一物物理理区区,再再把把共共享享段段调调入入该该区区,同同时时将将该该区区的的始始址址填填入入请请求求进进程程的的段段表表的的相相应应项项中中,

42、还还须须在在共共享享段段表表中中增增加加一一表表项项,填填写写有有关关数数据据,把把count置置为为1;之之后后,当当又又有有其其它它进进程程需需要要调调用用该该共共享享段段时时,由由于于该该共共享享段段已已被被调调入入内内存存,故故此此时时无无须须再再为为该该段段分分配配内内存存,而而只只需需在在调调用用进进程程的的段段表表中中,增增加加一一表表项项,填填写写该该共共享享段段的的物物理理地地址址;在在共共享享段段的的段段表表中中,填填上上调调用用进进程程的的进进程程名名、存存取取控控制制等等,再再执执行行count=count+1操作,以表明有两个进程共享该段。操作,以表明有两个进程共享该

43、段。第三章 存 储 器 管 理 2)共享段的回收共享段的回收 当当共共享享此此段段的的某某进进程程不不再再需需要要该该段段时时,应应将将该该段段释释放放,包包括括撤撤在在该该进进程程段段表表中中共共享享段段所所对对应应的的表表项项,以以及及执执行行count=count-1操操作作。若若结结果果为为0,则则须须由由系系统统回回收收该该共共享享段段的的物物理理内内存存,以以及及取取消消在在共共享享段段表表中中该该段段所所对对应应的的表表项项,表表明明此此时时已已没没有有进进程程使使用用该该段段;否否则则(减减1结结果果不不为为0),则只是取消调用者进程在共享段表中的有关记录。则只是取消调用者进程

44、在共享段表中的有关记录。第三章 存 储 器 管 理 3.分段保护分段保护 1)越界检查越界检查 2)2)存取控制检查存取控制检查(1)只读只读(2)(2)只执行只执行(3)(3)读读/写写(4)3)环保护机构环保护机构(5)一个程序可以访问驻留在相同环或较低特权环中的数据。一个程序可以访问驻留在相同环或较低特权环中的数据。(6)一个程序可以调用驻留在相同环或较高特权环中的服务。一个程序可以调用驻留在相同环或较高特权环中的服务。第三章 存 储 器 管 理 本章小结本章小结 存储器管理的主要任务是分配存储器,存储器管理的主要任务是分配存储器,主要目的是提高存储器的使用效率。它主要目的是提高存储器的使用效率。它的主要功能有:存储器的分配与回收、地址转的主要功能有:存储器的分配与回收、地址转换与保护、主存的扩充。换与保护、主存的扩充。熟悉和掌握以下基本概念:熟悉和掌握以下基本概念:逻辑地址、物理地址、地址转换、静态重定位、动逻辑地址、物理地址、地址转换、静态重定位、动态重定位、主存态重定位、主存“碎片碎片”、对换技术、对换技术熟悉和掌握以下基本知识:熟悉和掌握以下基本知识:1连续存储管理方式连续存储管理方式 2非连续存储管理方式非连续存储管理方式 3虚拟存储管理方式虚拟存储管理方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com