第四章存储器管理ppt课件.ppt
《第四章存储器管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章存储器管理ppt课件.ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图 4-1 对用户程序的处理步骤 库链接程序装入模块装入程序编译程序产生的目标模块第一步第二步第三步内存图 4-2 作业装入内存时的情况 LO A D 1,2500365LO A D 1,2500365100001100012500150005000250010000作 业 地 址 空 间内 存 空 间模块 ACALL B;Return;0L1模块 BCALL C;Return;0M1模块 CReturn;0N10模块 AJSR“L”Return;L1模块 BJSR“LM”Return;LLM1LMLMN1模块 CReturn;(a) 目标模块(b) 装入模块在将这几个目标模块装配成一个装入模
2、块时,须解决以下两个问题: 对相对地址进行修改 变换外部调用符号n特点: 便于修改和更新 各个模块是分开存放的。 便于实现对目标模块的共享 很容易将一个模块连接到多个模块。n这种链接方式是将对某些模块的链接推迟到执行时才执行。n在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。n凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。连续分配方式连续分配方式单一连续分配单一连续分配n这是最简单的一种存储管理方式。n只能用于单用户、单任务的操作系统中。n采用这种
3、存储管理方式时,可把内存分为系统区和用户区两部分:n系统区仅提供给OS使用,通常是放在内存的低地址部分;n用户区是指除系统区以外的全部内存空间, 提供给用户使用。单一连续分配单一连续分配固定分区分配固定分区分配固定分区分配固定分区分配n划分分区的方法划分分区的方法 分区大小相等, 即使所有的内存分区大小相等。 缺点:缺乏灵活性。 优点: 用于利用一台计算机去控制多个相同对象的场合。 分区大小不等。 固定分区分配固定分区分配n内存分配内存分配n 为了便于内存分配,通常将分区按大小进行排为了便于内存分配,通常将分区按大小进行排队,并为之建立一张分区使用表,其中各表项队,并为之建立一张分区使用表,其
4、中各表项包括每个分区的起始地址、大小及状态(已分包括每个分区的起始地址、大小及状态(已分配)。配)。固定分区分配固定分区分配图 4-4 固定分区使用表 固定分区分配固定分区分配动态分区分配动态分区分配分区分配中的数据结构分区分配中的数据结构 空闲分区表 空闲分区链分区分配中的数据结构分区分配中的数据结构空闲分区表分区分配中的数据结构分区分配中的数据结构n空闲分区链前向指针N20N 个字节可用后向指针N20分区分配算法分区分配算法 首次适应算法FF 循环首次适应算法 最佳适应算法 最坏适应算法 快速适应算法分区分配操作n分配内存分配内存n u.size : 请求的分区大小请求的分区大小 n m.
5、size : 每个空闲分区大小每个空闲分区大小n size : 事先规定的不再切割的剩余分区的大小事先规定的不再切割的剩余分区的大小n回收内存回收内存分配内存从头开始查表检索完否?m.size u.size?m.size u.sizesize?从该分区中划出u.size大小的分区将该分区分配给请求者修改有关数据结构返回返回继续检索下一个表项将该分区从链中移出YNNYYN图 4-6 内存分配流程回收内存可重定位分区分配可重定位分区分配n动态重定位的引入动态重定位的引入n在连续分配方式中,必须把一个系统或用户程在连续分配方式中,必须把一个系统或用户程序装入一个连续的内存空间。序装入一个连续的内存空
6、间。n如果出现以下情况,该怎么办?如果出现以下情况,该怎么办?可重定位分区分配可重定位分区分配操作系统用户程序1用户程序310 KB30 KB用户程序614 KB用户程序926 KB操作系统用户程序1用户程序3用户程序6用户程序980 KB(a) 紧凑前(b) 紧凑后可重定位分区分配可重定位分区分配n动态重定位的实现动态重定位的实现LOAD1,25003650100250050002500相对地址10000重定位寄存器LOAD1,250036510000101001250015000作业J处理机一侧 存储器一侧主存图 4-9 动态重定位示意图可重定位分区分配可重定位分区分配n动态重定位分区分配
7、算法动态重定位分区分配算法n算法与动态分区分配算法基本上相同。算法与动态分区分配算法基本上相同。n差别:在这种分配算法中,增加了紧凑的功能,差别:在这种分配算法中,增加了紧凑的功能,通常,在找不到足够大的空间分区来满足需求通常,在找不到足够大的空间分区来满足需求时进行紧凑。时进行紧凑。n具体操作如下:具体操作如下:请求分配u.size分区检索空闲分区链(表)找到大于u.size的可用区否?按动态分区方式进行分配修改有关的数据结构返回分区号及首批空闲分区总和u.size?进行紧凑形成连续空闲区修改有关的数据结构否是无法分配返回否动态重定位分区分配算法图 4-10 动态分区分配算法流程图 0407
8、0180512OS区域对换对换(Swapping) 对换的引入对换的引入 对换空间的管理对换空间的管理 进程的换出与换入进程的换出与换入对换对换(Swapping)n对换的引入对换的引入n所谓“对换”, 是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。对换是提高内存利用率的有效措施。对换对换(Swapping)n对换空间的管理对换空间的管理n为了能对对换区中的空闲盘块进行管理,在系统中应配置相应的数据结构,以记录外存的使用情况。其形式与内存在动态分区分配方式中所用数据结构相似,即同样可以用
9、空闲分区表或空闲分区链。在空闲分区表中的每个表目中应包含两项, 即对换区的首址及其大小,它们的单位是盘块号和盘块数。对换对换(Swapping)n进程的换出进程的换出n每当一进程由于创建子进程而需要更多的内存空间,但又无足够的内存空间等情况发生时,系统应将某进程换出。 其过程是:系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动盘块,将该进程的程序和数据传送到磁盘的对换区上。若传送过程未出现错误,便可回收该进程所占用的内存空间,并对该进程的进程控制块做相应的修改。对换对换(Swapping)n进程的换入进程的换入n系统应定时地查看所有进程的状态,从中找出“就绪”状态但已换出的进程
10、,将其中换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。n页面与页表页面与页表n地址变化机构地址变化机构n* 两级或多级页表两级或多级页表页面与页表n页面页面 页面和物理块页面和物理块 分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame), 也同样为它们加以编号,如0块、1块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页
11、经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。页面与页表n页面 页面大小 在分页系统中的页面其大小应适中。页面若太小,一方面虽然可使内存碎片减小,从而减少了内存碎片的总空间, 有利于提高内存利用率,但另一方面也会使每个进程占用较多的页面,从而导致进程的页表过长,占用大量内存; 此外,还会降低页面换进换出的效率。然而,如果选择的页面较大,虽然可以减少页表的长度,提高页面换进换出的速度,但却又会使页内碎片增大。因此,页面的大小应选择得适中,且页面大小应是2的幂,通常为512 B8 KB。页面与页表n地址结构地址结构分页地址中的地址结构如下: 3112110 对某特定机器,其地址结构是一
12、定的。若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得: MODLAdLAINTP页面与页表页面与页表n页表页表用户程序0 页1 页2 页3 页4 页5 页n 页页表页号块号02132638495内存012345678910地址变换机构n为了能将用户地址空间中的逻辑地址变换为了能将用户地址空间中的逻辑地址变换为内存空间中的物理地址,在系统中必须为内存空间中的物理地址,在系统中必须设置地址变换机构。设置地址变换机构。n页内地址和物理地址是一一对应的。页内地址和物理地址是一一对应的。n通常页表存放在内存中,而页表在内存中通常页表存放在内存中,而页表在内存中始地址
13、和长度存放在始地址和长度存放在PCB中。中。n当调度程序调度到某进程时,才将以上两当调度程序调度到某进程时,才将以上两个数据调入到页表寄存器中。个数据调入到页表寄存器中。地址变换机构n基本的地址变换机构基本的地址变换机构页表寄存器页表始址页表长度页号(3)页内 地 址逻辑地址L越界中断1块号b页表页号012物理地址3图 4-12 分页系统的地址变换机构 地址变换机构地址变换机构n具有快表的地址变换具有快表的地址变换机构机构页表寄存器页表始址页表长度页号页内 地 址逻辑地址L越界中断块号b页表页号页号输入寄存器块号bb快表d物理地址图 4-13 具有快表的地址变换机构 大小通常只存放16512个
14、页表项。*两级和多级页表两级和多级页表n现代的大多数计算机系统,都支持非常大的逻辑地址空间(232264)。在这样的环境下,页表就变得非常大,要占用相当大的内存空间。例如,对于一个具有32位逻辑地址空间的分页系统,规定页面大小为4 KB即212 B,则在每个进程页表中的页表项可达1兆个之多。又因为每个页表项占用一个字节, 故每个进程仅仅其页表就要占用4 KB的内存空间,而且还要求是连续的。 n可以采用这样两个方法来解决这一问题:n采用离散分配方式来解决难以找到一块连续的大内存空间的问题:n 只将当前需要的部分页表项调入内存, 其余的页表项仍驻留在磁盘上,需要时再调入。两级页表(Two-Leve
15、l Page Table)n逻辑地址结构可描述如下:101110780121742n第0页页表1460121023第1页页表114115011023外部页表012345671141151468第n页页表14680121023内存空间外部页号P1P2外部页内地址页内地址d逻辑地址外部页表寄存器外部页表db页表页表物理地址图 4-15 具有两级页表的地址变换机构 *多级页表多级页表 对于32位的机器,采用两级页表结构是合适的;但对于64位的机器,如果页面大小仍采用4 KB即212 B,那么还剩下52位, 假定仍按物理块的大小(212位)来划分页表,则将余下的42位用于外层页号。此时在外层页表中可能
16、有4096 G个页表项, 要占用16384 GB的连续内存空间。 必须采用多级页表,将外层页表再进行分页,也是将各分页离散地装入到不相邻接的物理块中,再利用第2级的外层页表来映射它们之间的关系。 对于64位的计算机,如果要求它能支持2(=1844744 TB)规模的物理存储空间,则即使是采用三级页表结构也是难以办到的;而在当前的实际应用中也无此必要。n引入分段存储管理方式, 主要是为了满足用户和程序员的下述一系列需要: 方便编程 信息共享 信息保护 动态增长 动态链接 分段系统的基本原理分段系统的基本原理n 在分段存储管理系统中,作业的地址空间在分段存储管理系统中,作业的地址空间被划分为若干个
17、段,每个段定义了一组逻被划分为若干个段,每个段定义了一组逻辑信息。辑信息。n每个段都从每个段都从0开始编址。开始编址。n段的长度由相应的逻辑信息组的长度决定。段的长度由相应的逻辑信息组的长度决定。n逻辑地址空间是二维的。逻辑地址空间是二维的。n段地址由段号和段内地址所组成。段地址由段号和段内地址所组成。分段系统的基本原理分段系统的基本原理n分段分段分段地址中的地址具有如下结构: 31 16 15 0分段系统的基本原理分段系统的基本原理n逻辑地址空间到物理地址空间的映射需要逻辑地址空间到物理地址空间的映射需要一张表格来实现即段表。一张表格来实现即段表。n系统中为每个进程创建系统中为每个进程创建-
18、“段表段表”。n段表存储在内存中。段表存储在内存中。n段表的始地址和段长度存放在段表的始地址和段长度存放在PCB中中 。分段系统的基本原理分段系统的基本原理n段表段表作业空间(MAIN) 0030K(X) 1020K(D) 2015K(S) 3010K30K20K15K10K40K80K120K150K段长 基址段号(MAIN) 030K(X) 120K(D) 215K(S) 310K040K80K120K150K段表内存空间0123分段系统的基本原理分段系统的基本原理n地址变换机构控制寄存器段表始址段表长度2100段号 S越界1 K段长600段号01236 K4 K5002008 K9200
19、基址位移量W82928K82928692主存物理地址有效地址 为了加快内存的访问速度,在系统中增设联想存储器。分页和分段的主要区别n页是信息的物理单位,以消减内存的外零头, 提高内存的利用率。分页仅仅是由于系统管理的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。分页和分段的主要区别n页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定, 决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。信息共享信息共享n分段系统的一个
20、突出有点,是易于实现段的共享,即允许若干个进程共享一个或多个分段,且对段的保护也十分简单易行。n在分页系统中 ,虽然也能实现程序和数据的共享,但远不如分段系统来得方便。信息共享:示例信息共享:示例ed 1ed 2ed 40data 1data 10进程12122606170页表ed 1ed 2ed 40data 1data 10进 程 22122607180ed 1ed 2ed 40data 1data 10data 1data 10主存021226061707180页表分页管理方式分页管理方式editor进程1data 1进程2editordata 2段表段长 基址1608040240160
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 存储器 管理 ppt 课件
限制150内