操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt

上传人:b****3 文档编号:2714619 上传时间:2022-11-08 格式:PPT 页数:83 大小:1.44MB
下载 相关 举报
操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt_第1页
第1页 / 共83页
操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt_第2页
第2页 / 共83页
操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt_第3页
第3页 / 共83页
操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt_第4页
第4页 / 共83页
操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt_第5页
第5页 / 共83页
点击查看更多>>
下载资源
资源描述

操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt

《操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt》由会员分享,可在线阅读,更多相关《操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt(83页珍藏版)》请在冰豆网上搜索。

操作系统09计算机考研统考专业课操作系统(汤)第4章.ppt

第四章存储器管理第四章第四章存储器管理存储器管理4.14.1程序的装入和链接程序的装入和链接4.24.2连续分配方式连续分配方式4.34.3基本分页存储管理方式基本分页存储管理方式4.44.4基本分段存储管理方式基本分段存储管理方式4.54.5虚拟存储器的基本概念虚拟存储器的基本概念4.64.6请求分页存储管理方式请求分页存储管理方式4.74.7页面置换算法页面置换算法4.84.8请求分段存储管理方式请求分段存储管理方式第四章存储器管理4.1程序的装入和链接程序的装入和链接图4-1对用户程序的处理步骤第四章存储器管理4.1.1程序的装入程序的装入1.绝对装入方式绝对装入方式(AbsoluteLoadingMode)程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。

但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。

因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。

第四章存储器管理2.可重定位装入方式可重定位装入方式(RelocationLoadingMode)图4-2作业装入内存时的情况第四章存储器管理3.动态运行时装入方式动态运行时装入方式(DenamleRun-timeLoading)动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。

因此,装入内存后的所有地址都仍是相对地址。

第四章存储器管理4.1.2程序的链接程序的链接1.静态链接方式静态链接方式(StaticLinking)图4-3程序链接示意图第四章存储器管理在将这几个目标模块装配成一个装入模块时,须解决以下两个问题:

(1)对相对地址进行修改。

(2)变换外部调用符号。

第四章存储器管理2.装入时动态链接装入时动态链接(LoadtimeDynamicLinking)装入时动态链接方式有以下优点:

(1)便于修改和更新。

(2)

(2)便于实现对目标模块的共享。

第四章存储器管理3.运行时动态链接运行时动态链接(Run-timeDynamicLinking)近几年流行起来的运行时动态链接方式,是对上述在装入时链接方式的一种改进。

这种链接方式是将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。

凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。

第四章存储器管理4.2连续分配方式连续分配方式4.2.1单一连续分配单一连续分配这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。

采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用。

第四章存储器管理4.2.2固定分区分配固定分区分配1.划分分区的方法划分分区的方法

(1)分区大小相等,即使所有的内存分区大小相等。

(2)

(2)分区大小不等。

第四章存储器管理2.内存分配内存分配图4-4固定分区使用表第四章存储器管理4.2.3动态分区分配动态分区分配1.分区分配中的数据结构分区分配中的数据结构

(1)空闲分区表。

(2)空闲分区链。

图4-5空闲链结构第四章存储器管理2.分区分配算法分区分配算法

(1)首次适应算法FF。

(2)

(2)循环首次适应算法,该算法是由首次适应算法演变而成的。

(3)(3)最佳适应算法。

第四章存储器管理3.分区分配操作分区分配操作1)分配内存图4-6内存分配流程第四章存储器管理2)回收内存图4-7内存回收时的情况第四章存储器管理4.2.4可重定位分区分配可重定位分区分配1.动态重定位的引入动态重定位的引入图4-8紧凑的示意第四章存储器管理2.动态重定位的实现动态重定位的实现图4-9动态重定位示意图第四章存储器管理3.动态重定位分区分配算法动态重定位分区分配算法图4-10动态分区分配算法流程图第四章存储器管理4.2.5对换对换(Swapping)1.对换的引入对换的引入所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。

对换是提高内存利用率的有效措施。

第四章存储器管理2.对换空间的管理对换空间的管理为了能对对换区中的空闲盘块进行管理,在系统中应配置相应的数据结构,以记录外存的使用情况。

其形式与内存在动态分区分配方式中所用数据结构相似,即同样可以用空闲分区表或空闲分区链。

在空闲分区表中的每个表目中应包含两项,即对换区的首址及其大小,它们的单位是盘块号和盘块数。

第四章存储器管理3.进程的换出与换入进程的换出与换入

(1)进程的换出。

每当一进程由于创建子进程而需要更多的内存空间,但又无足够的内存空间等情况发生时,系统应将某进程换出。

其过程是:

系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动盘块,将该进程的程序和数据传送到磁盘的对换区上。

若传送过程未出现错误,便可回收该进程所占用的内存空间,并对该进程的进程控制块做相应的修改。

第四章存储器管理

(2)进程的换入。

系统应定时地查看所有进程的状态,从中找出“就绪”状态但已换出的进程,将其中换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。

第四章存储器管理4.3基本分页存储管理方式基本分页存储管理方式4.3.1页面与页表页面与页表1.页面页面1)页面和物理块分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。

相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0块、1块等等。

在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。

由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。

第四章存储器管理2)页面大小在分页系统中的页面其大小应适中。

页面若太小,一方面虽然可使内存碎片减小,从而减少了内存碎片的总空间,有利于提高内存利用率,但另一方面也会使每个进程占用较多的页面,从而导致进程的页表过长,占用大量内存;此外,还会降低页面换进换出的效率。

然而,如果选择的页面较大,虽然可以减少页表的长度,提高页面换进换出的速度,但却又会使页内碎片增大。

因此,页面的大小应选择得适中,且页面大小应是2的幂,通常为512B8KB。

第四章存储器管理2.地址结构地址结构分页地址中的地址结构如下:

页号P位移量W3112110对某特定机器,其地址结构是一定的。

若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得:

第四章存储器管理3.页表页表图4-11页表的作用第四章存储器管理4.3.2地址变换机构地址变换机构1.基本的地址变换机构基本的地址变换机构图4-12分页系统的地址变换机构第四章存储器管理2.具有快表的地址变换机构具有快表的地址变换机构图4-13具有快表的地址变换机构第四章存储器管理4.3.3两级和多级页表两级和多级页表现代的大多数计算机系统,都支持非常大的逻辑地址空间(232264)。

在这样的环境下,页表就变得非常大,要占用相当大的内存空间。

例如,对于一个具有32位逻辑地址空间的分页系统,规定页面大小为4KB即212B,则在每个进程页表中的页表项可达1兆个之多。

又因为每个页表项占用一个字节,故每个进程仅仅其页表就要占用4KB的内存空间,而且还要求是连续的。

可以采用这样两个方法来解决这一问题:

采用离散分配方式来解决难以找到一块连续的大内存空间的问题:

只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入。

第四章存储器管理1.两级页表两级页表(Two-LevelPageTable)逻辑地址结构可描述如下:

第四章存储器管理图4-14两级页表结构第四章存储器管理图4-15具有两级页表的地址变换机构第四章存储器管理2.多级页表多级页表对于32位的机器,采用两级页表结构是合适的;但对于64位的机器,如果页面大小仍采用4KB即212B,那么还剩下52位,假定仍按物理块的大小(212位)来划分页表,则将余下的42位用于外层页号。

此时在外层页表中可能有4096G个页表项,要占用16384GB的连续内存空间。

必须采用多级页表,将外层页表再进行分页,也是将各分页离散地装入到不相邻接的物理块中,再利用第2级的外层页表来映射它们之间的关系。

对于64位的计算机,如果要求它能支持2(=1844744TB)规模的物理存储空间,则即使是采用三级页表结构也是难以办到的;而在当前的实际应用中也无此必要。

第四章存储器管理4.4基本分段存储管理方式基本分段存储管理方式4.4.1分段存储管理方式的引入分段存储管理方式的引入引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:

1)方便编程2)信息共享3)信息保护4)动态增长5)动态链接第四章存储器管理4.4.2分段系统的基本原理分段系统的基本原理1.分段分段分段地址中的地址具有如下结构:

段号段内地址31161502.段表段表第四章存储器管理图4-16利用段表实现地址映射第四章存储器管理图4-17分段系统的地址变换过程3.地址变换机构第四章存储器管理4.分页和分段的主要区别分页和分段的主要区别

(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。

或者说,分页仅仅是由于系统管理的需要而不是用户的需要。

段则是信息的逻辑单位,它含有一组其意义相对完整的信息。

分段的目的是为了能更好地满足用户的需要。

第四章存储器管理

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

(3)分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

第四章存储器管理4.4.3信息共享信息共享图4-18分页系统中共享editor的示意图第四章存储器管理图4-19分段系统中共享editor的示意图第四章存储器管理4.4.4段页式存储管理方式段页式存储管理方式1.基本原理基本原理图4-20作业地址空间和地址结构第四章存储器管理图4-21利用段表和页表实现地址映射第四章存储器管理2.地址变换过程地址变换过程图4-22段页式系统中的地址变换机构第四章存储器管理4.5虚拟存储器的基本概念虚拟存储器的基本概念4.5.1虚拟存储器的引入虚拟存储器的引入1.常规存储器管理方式的特征常规存储器管理方式的特征

(1)一次性。

(2)驻留性。

第四章存储器管理2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1