版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,7.1 主存共享特征空间分片,现代OS区分两类主存:物理主存和逻辑主存 物理主存(共享的基础) 由0(m1)个物理地址组成,是计算机主存单元的真实地址,又称绝对地址或实地址。物理地址的集合对应的空间组成主存空间。 逻辑主存 由逻辑地址组成,逻辑地址集合对应的空间为程序地址空间。 空间分片 主存以分片方式共享,分片方式: 1.分为大小不等的区域(按区和按段分配); 2.分为大小相等的块(按页分配),2,7.2 主存管理功能,为方便用户使用,系统必须为每个用户提供0n-1的一组逻辑地址(虚地址)。 每个逻辑地址在主存当中并没有一个固定的、真实的物理单元与之对应。 根据逻辑地址还不能直接到主存中
2、去存取信息,它是一个虚地址或称为相对地址。 为了支持多道程序运行,主存管理还必须实现主存分配、主存保护、主存扩充等功能。因此,存储管理的功能可归纳为以下几点: 映射逻辑地址到物理主存地址。 在多用户之间分配物理主存。 对操作系统以及各用户的信息提供保护措施。 扩充逻辑主存区。,3,7.2 主存管理功能,一、虚拟存储器 当系统提供大容量的辅存时,操作系统把主存和辅存一起管理,实现信息的自由移动和覆盖。 虚拟存储器将用户的逻辑主存与物理主存分开,这是现代计算机对虚拟的实质性描述。 主存空间的分配由系统完成;逻辑地址转换成物理地址是通过地址变换机构自动完成。 虚拟存储的核心问题:让程序的访问地址和主
3、存的可用地址相脱离。 实现虚拟存储的物质基础:1、主存;2、辅存;3、地址变换机构。,4,7.2 主存管理功能,二、主存映射 1. 什么是地址映射 作业的相应进程在处理机上运行时,所要访问的指令和数据的实际地址和地址空间中的地址是不同的。这种情况可用图7.1来说明,将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射。,5,7.2 主存管理功能,地址映射方式 地址变换功能就是要建立虚一实地址间的对应关系。物理存储器的管理办法就直接取决于实现这种对应关系的方式和时刻。 编程或编译时确定地址映射关系 在程序编写或程序编译时确定虚、实地址之间的对应关系,结果是一个不能浮动的程序模
4、块,其程序地址就是物理地址。,6,静态地址映射 在作业装入过程中随即进行的地址变换方式称为静态重定位或静态地址映射。 程序无法在主存中移动,当从辅存中调入主存时必须放到同一位置。 动态地址映射 在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射。,7.2 主存管理功能,7,7.2 主存管理功能,动态重定位能满足以下目标 具有给用户程序任意分配一个主存区域的能力; 为了能更多的容纳用户程序,具有只装入用户程序的部分代码即可投入运行的能力。 具有在任何时刻,在主存可用空间中重新分配一个程序的能力; 在改变系统装备时,具有不需要重新编程和重新编辑的能力; 对于一个用户程序,具有以间断方
5、式分配主存的能力。,静态地址映射与动态地址映射的区别,8,7.2 主存管理功能,三、程序的逻辑组织 计算机的主存储器是一个一维存储空间,地址从0开始到上界顺序编号,这是存储器的组织方式。 程序的逻辑组织一般可有两种组织方式: 1. 一维地址结构; 所有的程序和数据经编译、连接后成为一个连续的地址空间,确定在线性地址空间中的指令地址或操作数地址只需要一个信息。 2. 二维地址结构。 程序分成若干模块或过程,并把可修改的数据和不可修改的数据分开,则,一个程序可由代码段、数据段、栈段、特别分段等组成 确定在线性地址空间中的指令地址或操作数地址需要两个信息:信息所在的分段和该信息在段内的偏移量。,9,
6、7.2 主存管理功能,四、主存分配 在多道程序环境中,主存分配的功能包括: 制定分配策略 构造分配用的数据结构 响应主存分配请求 决定用户程序的主存位置并将其装入主存 管理存储器策略 放置策略:决定主存中放置信息的区域。 调入策略:决定信息装入主存的时机。 淘汰策略:主存中没有空闲时,决定哪些信息可以从主存中移走。,10,7.2 主存管理功能,主存区域划分的方式: 划分成大小不等的区域 按区分配或段式分配采用第一种划分方式。 它可以使主存区域可以存放一个作业程序的连续的地址空间(区分配),或存放一个作业的逻辑分段的地址空间(段式系统)。 等分成一系列大小相等的块 页式系统一般采用这种方法。 它
7、将一个作业程序的地址空间划分成一系列页面,然后放置到主存块中去。,11,7.2 主存管理功能,调入策略对页式系统或非页式系统没有多大区别,而淘汰策略和放置策略在页式和非页式系统中不同,页式系统中页的大小固定,非页式系统处理的信息块大小可变。 进行主存分配必须建立相应的数据结构:主存资源信息块(m_rib)、空闲区队列或存储分块表。,12,7.2 主存管理功能,五、存储保护 1. 什么是存储保护 在多用户环境中,主存储器按区分配给各用户程序使用。为了互不影响,必须由硬件(软件配合)保证每道程序只能在给定的存储区域内活动,这种措施叫做存储保护。 2. 存储保护方法 存储保护的目的:防止用户之间互相
8、干扰。 通常的存储保护方法: 界地址保护 存储键保护:这种方法是为主存的每一页配一个键,称为存储键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。,13,7.2 主存管理功能,3. 界地址保护 (1) 上、下界防 如何设置上下界寄存器内容 如何判断是否越界 满足20KBD24KB允许访问,否则发生越界中断。,14,7.2 主存管理功能,(2) 基地址、限长防护 如何设置基址、限长寄存器内容,如何判断是否越界? 满足逻辑地址4KB允许访问,否则发生越界中断。,15,7.3 分区存储管理,一. 动态
9、分区分配 1. 什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。,作业队列: 作业1 32KB;作业2 14KB;作业3 64KB;作业4 100KB;作业5 50KB,16,7.3 分区存储管理,在动态分区方案中,主存中的作业在开始充入时,只有主存高址区可能有空闲,但当系统运行一段时间后,作业陆续完成时,它们要释放主存区域,在主存中形成一些空闲区。这些区可以被其他作业使用,但由于空闲区和容纳的作业的大小不一定正好相等,因而这样剩余的空闲区域变得更小。当系统运行相当长一段时间后,主存中会出现一些更小的空闲区。 为此,可从以下几个方面来讨论分区存储管理技术: 在分区存
10、储管理方案中,如何实现地址映射。 动态分区的分配机构。 分区的分配和回收。 三种最基本的放置策略。 2. 动态分区的分配、回收过程,17,动态分区的回收过程,7.3 分区存储管理,18,7.3 分区存储管理,二、分区分配机构 1.主存资源信息块 在动态分区方法中,描述主存资源的数据结构是主存资源信息块m_rib,结构如下:,2.分区描述器和空闲队列 主存中的每一个分区都有相应的分区描述器(pd)说明分区的特征信息。 flag: 为 0空闲区; 为 1已分配区 size: 分区大小 next:空闲区自由主存队列中的勾链字;已分配区此项为零,m_rib,pd,19,2. 自由主存队列 (或空闲区队
11、列) 结构 在主存分配中,主要讨论空闲区描述器和空闲区队列。下面是在t时刻的主存分布、空闲区描述器的内容和空闲区队列结构。,7.3 分区存储管理,20,7.3 分区存储管理,分区的分配与回收 主存分配程序包括分配一个主存块和释放一个主存块这两个函数。 当进程需要一个大小为size的主存区域时,可以通过系统服务请求的方式向主存资源信息块m_rib提出申请。其调用命令形式为request(size),调用结果得到分配区域的首地址。 当进程释放所占用的主存区时,使用的系统调用为release(baddr),此调用无返回值。 1. 分配一个主存块 当request系统调用执行时,分配主存块函数getm
12、b()被调用。,21,getmb算法,输入:请求主存大小size 输出:分配块的首址baddr size加上分区描述器的大小得xize1; for(自由主存队列中的每一个空闲块) if(当前块大小size1) break; /*已找到*/ if(自由队列已空) return(0); 当前块大小减去size得剩余块大小; if(剩余块门限值) flag=1; /*建立已分配区描述器*/ Next=NULL; else 修改剩余块大小: /*该块仍留在自由主存队列上*/ 当前块首址加剩余块大小得分配块首址 flag=1; /*建立已分配区描述器*/ size=size1; next=NULL; 分
13、配块首址加上描述器大小得baddr; return(baddr); ,22,7.3 分区存储管理,2. 回收一个主存块 当执行release系统调用时,回收一个主存块的函数remb()被调用。主要任务是将首地址为baddr的主存块归还给主存资源信息块。 (1)分区收回的原则 主要工作是首先检查是否有邻接的空闲区,如有则合并,然后修改有关的分区描述器信息。,23,7.3 分区存储管理,分区回收的实现 该程序的功能是先计算释放分区f的首地址,然后判断这一释放块是否邻接空闲区;若有上邻或者下邻空闲区,则合并成一个新的自由区,并将它插入到自由主队列合适的位置上。,算法relmb 输入:释放分区首址ba
14、ddr 输出:无 释放分区首址减3得自由块f首址; 计算自由块f的末址:首址加大小; For(自由主存队列中每一块) If(f与当前块f1是上邻) 合并为一个自由块f; f1撤消; break; For(自由队列中的每一块) if(f与当前块f2是下邻) 合并为一个自由块f; f1撤消; break; f入自由主存队列; ,24,7.3 分区存储管理,四、几种基本的放置策略 选择空闲区的策略,称为放置策略。 常用的放置策略: 首次匹配(首次适应算法) 最佳匹配(最佳适应算法) 最坏匹配(最坏适应算法) 无论何种策略都应遵循: 当分配一个空闲区时,按分配一个主存块的算法进行分配,而放置策略只是描
15、述空闲区队列的排序原则; 当回收一个空闲区时,必须按照队列的排序原则,将把空闲区插入到队列适当的位置中以保证队列排序规则不变。,25,7.3 分区存储管理,1. 首次适应算法 什么是首次适应算法 首次适应算法是将输入的作业放置到主存里第一个足够装入它的可利用的空闲区中。 特点: 自由主存队列结构-空闲区地址由低到高排序。 优点: 简单,速度快,尽量利用低地址部分的空闲块,以便在高地址部分形成大的空闲区。,26,7.3 分区存储管理,2. 最佳适应算法 什么是最佳适应算法 最佳适应算法是将输入的作业放置到主存中与它所需大小最接近的空闲区中。 特点 自由主存队列结构-空闲区大小由小到大排序。 优点
16、: 如果一个作业申请空间的大小正好与某空闲块相等,则该空闲块必被选中,选择最合适的空间,不会去划分更大空间。 缺点: 尽可能地利用存储器中小的空闲区,而尽量保存大的空闲区。,27,7.3 分区存储管理,3. 最坏适应算法 什么是最坏适应算法 最坏适应算法是将输入的作业放置到主存中主存中最不适合它的空闲区中。 特点 自由主存队列结构-空闲区大小由大到小排序 优点: 每次切开较大的分区,剩余部分还能再次被分配。 缺点: 时间开销大,剩余部分仍需排序后插入到队列中。,28,7.3 分区存储管理,关于三种放置策略的讨论 作业A要求18KB;作业B要求25KB;作业C要求30KB。用首次适应算法、最佳适
17、应算法、最坏适应算法来处理该作业序列,看哪种算法合适。,29,首次适应算法中的自由主存队列,(a) 首次适应算法中的空闲区队列,7.3 分区存储管理,30,最佳适应算法中的自由主存队列,7.3 分区存储管理,31,最坏适应算法中的自由主存队列,7.3 分区存储管理,32,7.3 分区存储管理,五. 碎片问题及拼接技术 什么是碎片问题: 在已分配区之间存在着的一些没有被充分利用的空闲区。 拼接技术:所谓拼接技术是指移动存储器中某些已分配区中的信息,使本来分散的空闲区连成一个大的空闲区。 拼接时机: 在某个分区回收时立即拼接; 找不到足够大的空白分区时实施拼接。 拼接技术的缺点是: 消耗系统资源,
18、为移动已分配区信息要花费大量CPU时间。 当系统进行拼接时,它必须停止所有其他的工作。 拼接要消耗大量的系统资源,且有时为拼接所花费的系统开销要大于拼接技术的效益,因而这种方法的使用受到限制。,33,分区分配中的存储区拼接,20KB,0,os,54KB,131KB,247KB,256KB1,拼接后,作业1,作业3,作业4,20KB,os,54KB,58KB,135KB,254KB,256KB1,拼接前,138KB,作业,作业,作业,7.3 分区存储管理,34,7.4 页式存储管理,一、页式系统应解决的问题 采用拼接技术解决按区分配方案中的碎片问题,其实质是让存储器去适应程序对连续性的要求。 分
19、页的思想正是让程序地址去适应存储器的现状。主存被等分成一系列的块,程序的地址空间被等分成系列的页,然后将页面存放到主存块中。 页式系统可以方便的支持虚拟存储,通过辅存调度来扩充主存,而按区分配不能方便实现主存扩充。 页式系统需要解决的问题: 1、动态地址映射; 2、调入策略; 3、淘汰策略; 4、放置策略。,35,二. 页式地址变换 1.页表 程序的虚拟地址空间划分为若干页,并被装入主存的空闲块中时,不能保证它在主存中的连续性,必须进行动态重定位。实现这种地址变换的机构就是页表。 为了实现从地址空间到物理主存的映象,系统建立的记录页与内存块之间对应关系的地址变换的机构称为页面映像表,简称页表。
20、 页表的实现地址变换的方法 页表由高速缓冲存储器组成 地址变换速度快,但成本较高。 在主存固定区域内,用存储单元存放页表。 要占用一部分主存空间,地址变换速度比硬件慢,成本较低 现代计算机系统采用硬件与主存页表相结合的方法,7.4 页式存储管理,36,分页映像存储,7.4 页式存储管理,作业2(第1页),作业2(第0页),作业1(第0页),作业1(第1页),作业2(第2页),作业3(第0页),37,7.4 页式存储管理,2.虚地址结构 如何利用页表进行地址变换,这与计算机采用的地址结构有关,而地址结构又与选择的页面尺寸有关。 当CPU给出的虚地址长度为32位,页面大小为4KB时,在分页系统中地
21、址结构的格式如下: 每当cpu给出一个虚地址(指令地址或操作数)时,高20位表示该地址页号,低12为表示页内位移。,38,7.4 页式存储管理,页式地址变换 例:作业2地址空间中,设100号单元处有如下指令: mov r1,2500。当这条指令执行时,如何进行正确的地址变换。,2500 2*1024 + 452 p=2 w=452 0000100111000100 000010 0111000100,39,7.4 页式存储管理,页式地址变换的步骤 CPU给出操作数地址(为2500) ; 由分页机构自动地把逻辑地址分为两部分,得到页号p和页内相对位移w (p =2, w =452); 根据页表始
22、址寄存器指示的页表始地址,以页号为索引,找到第2页所对应的块号(为7) ; 最后,将块号b和页内位移量w拼接在一起,就形成了访问主存的物理地址 (7*1024+452=7620)。,40,页式地址变换过程,41,7.4 页式存储管理,联想存储器 页表全部放在主存储器内,那么要取一个数(或指令)至少要访问两次主存(访问页表、根据物理地址取数) 完全存放在主存的页表进行地址变换,指令执行速度要下降100%。为此可考虑将页表放在一个高速缓冲存储器中。 什么是联想存储器 存放页表部分内容的快速存储器称为联想存储器。 高速、小容量半导体存储部件,又称缓冲存储器。 快表 联想存储器中存放的部分页表称为快表
23、。 在缓冲存储器中存放正在运行的进程当前用到的页号和对应的块号,又称为快表。,42,采用联想存储器和主存中页表相结合的分页地址变换,7.4 页式存储管理,43,7.4 页式存储管理,通过这种方式,只要访问一次主存就可以取出指令或存取数据。 如果所需页号不在联想存储器中,则还得通过主存中的页表进行,实际上这两者同时进行。查找到的页面和块号一并放到联想存储器空闲区,没有空闲区淘汰第一个装入的页号。 采用这种方案可以将地址变换导致机器效率降低减少到10%以下。 通常,一组联想存储器仅能装下一个进程所使用的整个页面的小部分,进程让出cpu时,需要保护从现场,还应保护它的快表内容。,44,7.4 页式存
24、储管理,三、请调策略 页式系统中,允许一个作业只装入部分页面即可运行,则进程在运行过程中必然会遇到所需代码或数据不在主存的情况,这需要解决以下问题: (1) 怎样发现所访问的页面在不在主存? (2) 当发现所需访问的页面不在主存时如何处理? 扩充页表功能(解决第一个问题) 中断位 i标识该页是否在主存 若i=1,表示此页不在主存 若i=0,表示该页在主存 辅存地址该页面在辅存的位置,45,7.4 页式存储管理,进程在运行过程中,查找页表时,会遇到两种可能: 1)当页表中的中断位i=0时,可查的块号b,并形成b+w物理地址,执行指令。 2)当中断位i=1时,此页不在主存,则首先要把这一页调入主存
25、,安置在某一块中,才能进行逻辑地址的重定位。 当所访问的页面不在主存时,发生缺页中断请求调入此页; 当缺页发生时,用户程序被中断,控制转操作系统调页程序; 调页程序将页面从磁盘调入主存某块中,并把中断位由1改为0,填入实际块号; 继续执行中断程序。,46,在请求分页存储管理系统中,对每个作业程序事先分配一个固定数目的主存块m。下例作业2固定数m2=3:,7.4 页式存储管理,47,7.4 页式存储管理,缺页处理的例 作业2的主存块数为 m2=3 当程序执行 “mov r1,2120”时 CPU产生的虚地址为2120 分页机构得 p=2,w=72 查页表。该页中断位i=1,发生缺页中断 主存中有
26、空白块,且2m 则直接调入。 当执行到add r1,3410指令时 需要第3页,但此页不在主存,且分得的主存块全部用完,则必须淘汰主存中的一页。 怎样淘汰页面,于是在页表中增加“引用位”和改变位。,48,7.4 页式存储管理,引用位:用来指示某页最近被访问过没有: 为0表示没有被访问过; 为1表示已经被访问过。 改变位:是表示某页是否被修改过: 为1表示已经被修改过; 为0表示未被修改过。 这种情况下完整的页表结构通常在逻辑上至少应包括:,49,指令执行步骤和缺页中断处理过程,7.4 页式存储管理,50,7.4 页式存储管理,淘汰策略 1. 置换算法 置换算法可描述如下:当要索取一页面并送入到
27、全满的主存中时,必须把已在主存中的某一页面淘汰掉。用来选择淘汰哪一面的规则就叫做置换算法。 2.颠簸 颠簸(抖动):导致系统效率急剧下降的主存和辅存之间的频繁的页面置换现象。 “抖动”现象花费了系统大量的开销,但收效甚微。因此,各种置换算法应考虑尽量减少和排除抖动现象的出现。,51,7.4 页式存储管理,五、几种置换算法 1.最佳算法(OPT算法) 假定程序p共有n页,而系统分配给它的内存只有m块(1mn),并且以作业在执行的过程中页面置换的频率的高低来衡量算法的优劣。 访问的页在内存,称访问成功,否则为失败。 a=s+f a:访问的总次数 s:访问成功的次数 f:访问失败的次数,52,7.4
28、 页式存储管理,缺页中断率f = f/a 则有: f f(r,m,p) 最佳算法是指对于任何m和p,r:调度算法 有ff(r,m,p)最小。 最佳算法:当要调入一新页而必须淘汰一旧页时,所淘汰的页是以后不再使用的,或者是以后相当长的时间内不会使用的。这种算法是不可能的。 固定空间页面调度指的是系统为每一个进入主存的程序分配的主存块数m是固定的(0m程序的总页面数)。,53,7.4 页式存储管理,2.先进先出算法(FIFO) 实质 总是选择在主存中居留时间最长(即最老)的一页淘汰。即先进入主存的页,先退出主存。 理由:最早调入主存的页面,其不再被使用的可能性比最近调入主存的可能性要大。 先进先出
29、淘汰算法的实现方法 建立一个页面进入主存的先后次序表; 建立一个替换指针,指向最早进入主存的页面; 当需要置换一页时,选择替换指向的那一页,然后调整替换指针的内容。,54,7.4 页式存储管理,先进先出淘汰算法实现方法 页号表建立次序表 页面进入主存的先后次序:2451 当要调入第6页时: 置换第2页 将第2页改为6 替换指针指向第4页 4516,55,7.4 页式存储管理,在存储分块表中建立次序表 该表以块号为序,一次登记各块的分配情况。 这里假定m=4,页面进入主存的先后次序:4512 当要调入第6页时,如何处理?,56,7.4 页式存储管理,最久未使用淘汰算法(LRU算法) 实质: 总是
30、选择最长时间未被使用的那一页淘汰。 理论:如果某一页被访问了,它可能马上还要被访问;相反,如果很长时间未用过,看起来在最近和未来是不大需要的。 最久未使用淘汰算法的实现方法 硬件方法:采用计数器 为每个页表项关联一个使用时间域,并为cpu增加一个逻辑时钟。对每次主存的引用,计数器都会增加,并且时钟计数器的内容要赋值到相应页面所对应页表项时间域内。置换时,选择具有最小时间的页。,57,7.4 页式存储管理,软件方法:采用堆栈 设立一个栈来登记主存中可淘汰的页号。每当一个页面被访问过,就将其页号记在页号栈的顶部。如果栈中原有的页号中与新记入顶部的页号相重,则将其抽出,将页栈号内容紧凑压缩。栈中存放
31、的最下一个页号就是从未使用过或自上次访问以来最久未被使用过得页号,该页先被淘汰。 LRU算法能够比较普遍地适用于各种类型的程序,但它同FIFO算法相比实现起来困难很多。 因为,使用LRU算法必须在每次访问页面时都要修改有关信息,且需要做连续的修改,而对于FIFO算法,仅当往主存装入页面时才作修改。 这种连续的修改如果完作由软件来做,其代价太高,但若由硬件完成,又要大大增加成本。实际应用的是LRU近似算法。,58,7.4 页式存储管理,LRU似近算法,只要求每一个存储块有一位“引用位”(在逻辑上可以认为它在存储分块表中或在页表中)。 当某块中的页面被访问时,这一位由硬件自动置“1”,而页面管理软
32、件周期性(设周期为T)地将所有引用位重新置“0”。 在时间T内,某些被访问的页面,其对应的引用位为1,而未被访问过的页面,其相应的引用位为0。 因此,可以根据引用位的状态来判断各个页面最近使用的情况。当需要置换一页时,选择引用位为0的页淘汰之。,59,LRU近似淘汰算法 缺点:是周期T的大小选择不易确定。若太大,则可能使所有块的引用位都为1;若太小,引用位的0的块可能相当多。,7.4 页式存储管理,60,LRU近似淘汰算法举例 当要调入第6页时,如何处理?,7.4 页式存储管理,61,最不经常使用淘汰算法(LFU算法) 是将最近应用次数最少的页淘汰。 可对每一页设置一个计数器,对每一页访问一次
33、后,就使它相应的计数器增加1。 过一定时间t后,将所有计数器一律清除。 当需要淘汰一页时,计数值最小的计数器所对应的页便是淘汰对象。 这种算法实现不难,但代价较高。,7.4 页式存储管理,62,7.5 段式系统,一、段式系统的特点 分区式及分页式存储管理技术的局限 分区式:容易出现碎片; 分页式: 一页或页号相连的几个虚页上存放的一般都不是一个逻辑意义完整的信息单位,共享公用子程序或数据变得困难; 每调一页可能只用到该页中的部分内容,内存空间使用率不高。 段式系统: 作业的地址空间由若干个逻辑分段组成,每个分段有自己的名字,对于一个分段而言,它是一个连续的地址区。 在主存中,每个分段占一分区。
34、 由于分段是一个有意义的信息单位,所以分段的共享和对分段的保护更有意义,同时也容易实现。,63,7.5 段式系统,二、段式地址变换 作业的地址空间由若干个逻辑分段组成,如可由代码分段、数据分段、栈段组成。 分段是程序中自然划分的一组逻辑意义完整的信息集合,它是用户在编程时决定的。,64,7.5 段式系统,段式地址空间是二维结构,一般形式为(s,w): 段式地址变换由段表(smt)来实现。 段表由若干个表目组成。每个表目描述一个分段的信息,其逻辑上应包括:段号、段长和段首地址。 段式地址变换的步骤如下: 取出程序地址(s,w)。 用s检索段表。 如w0或wL则主存越界。 (bw)即为所需主存地址
35、。,65,7.5 段式系统,三、扩充段表功能 段式系统和请求分页系统一样也可方便地扩充主存,即先装入部分分段,再根据需要装入其他各段。 为此,段表的表目中需增加以下几项:中断位、引用位、改变位。扩充功能的段表结构如图: R可以读此块内的信息;W可以往此块内写入信息; E可以执行此块中的程序;A可以在此块末尾续加信息,66,7.5 段式系统,页式系统中的页面和段式系统中的分段有本质区别: 页式系统可实现存储空间的物理划分,段式系统可实现程序地址空间的逻辑划分; 页面的大小固定且相等(页面的大小由w字段的位数决定);段式系统中的分段,长度可变且不等,由用户编程时决定; 页面用户不可见的,而分段是用
36、户可见的; 将程序地址分成页号和页内位移w是硬件的功能,w字段溢出将自动加入到页号中去;程序地址分成段号s和段内位移w是逻辑功能,w字段的溢出将产生主存越界,而不是加到段号中去。,67,7.6 段页式存储管理,在段式存储管理中结合分页式存储管理技术,在一个分段内划分页面,即形成段页式存储管理。 段页式用户地址空间是二维的,按段划分的; 在段中再划分成若干大小相等的页。地址结构由段号、段内页号、页内偏移地址组成;,68,7.6 段页式存储管理,用户使用的仍然是段号和段内偏移地址,由地址变换机构将段内偏移地址解释成页号和页内偏移地址。 段页式的地址变换: 用于地址变换的数据结构是:每一个作业一张段
37、表,每个段又建立一张页表,段表中的地址是页表的起始地址,页表中的地址则为主存块号。 它们的相互关系如图 :,69,7.7 UNIX系统的存储管理,一. UNIX系统存储管理技术 UNIX系统是一个多用户交互式分时操作系统 UNIX采用二种存储管理技术: 1. 对换技术(swap) 早期采用 在内存和交换设备之间传递整个进程映像,而不是进程的一个部分。 2. 请求调页技术 在内存和交换设备之间传递存储页,而不是整个进程的映像。,70,7.7 UNIX系统的存储管理,请求调页数据结构 1. UNIX系统中的区和区表 UNIX system的核心把一个进程的虚地址空间分成若干个逻辑区(region)。 (1) 区 区是进程虚地址空间中的一段逻辑上独立的连续区域。这个区域是可被共享和保护的独立实体。 区的实例进程的正文、数据、栈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026及未来5年多孔砖项目可行性研究报告(市场调查与数据分析)
- 幼儿园教师课程生成能力与幼儿发展关联-基于2024年课程方案与幼儿测评数据关联
- 团队协作反馈能力试题
- 商业秘密侵权诉讼证据收集试题及答案
- 2026四川成都交通投资集团有限公司第一批次社会招聘8人笔试历年参考题库附带答案详解
- 2026四川九州电子科技股份有限公司招聘硬件开发岗(互联设计)1人笔试历年参考题库附带答案详解
- 2026中国矿产资源集团总部及所属单位社会招聘笔试历年参考题库附带答案详解
- 2026中华全国供销合作总社杭州茶叶研究所全资企业招聘工作人员3人笔试历年参考题库附带答案详解
- 2025陕西延安大数据运营有限公司招聘6人笔试历年参考题库附带答案详解
- 2025福建三明青山纸业股份有限公司招聘35人笔试历年参考题库附带答案详解
- MBA会计学课程-会计学的基本原理
- 歌曲《我会等》歌词
- 肩关节X线检查
- 园林植物病虫害-电子教案
- 2023年山东省国有资产投资控股有限公司招聘笔试参考题库含答案解析
- 酒店明住宿清单(水单)
- 公职人员政务处分法ppt
- 2023年副主任医师(副高)-疾病控制(副高)考试高频试题(历年真题)带答案
- GB/T 16731-2023建筑吸声产品的吸声性能分级
- GB/T 3049-2006工业用化工产品铁含量测定的通用方法1,10-菲啰啉分光光度法
- 2022年养老护理员理论考试题库(600题)
评论
0/150
提交评论