ImageVerifierCode 换一换
格式:PPT , 页数:73 ,大小:655.50KB ,
资源ID:12871983      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12871983.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(操作系统原理与实例分析.ppt)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

操作系统原理与实例分析.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3.3,程序装入技术,1,可执行程序的生成步骤,图,3.10,高级程序处理过程,源程序,目标模块,编译,库函数,装入模块,链接,编辑,执行,目标模块,内存,2,可执行程序的装入,?如何装入待执行的程序及其所需的数据,?何时将程序的逻辑地址转换为物理地址,3,种装入方式:绝对装入、重定位装入和运行时动态装入。,3,绝对装入,程序运行之前,按照程序的逻辑地址,将程序和数据装入内存指定的地方。,实现简单,无须进行逻辑地址到物理地址的变换。,4,绝对装入,缺点:,程序每次必须装入同一内存区;,程序员必须事先了解内存

2、的使用情况,根据内存情况确定程序的逻辑地址;,程序的修改(增加或删除指令)将引起整个程序中指令地址的变动;,程序中的所有存储引用,例如函数调用或过程调用等,在装入之前都必须转换为物理地址,这不利于存储共享。,5,重定位装入,允许将程序装入与逻辑地址不同的物理内存空间。即程序可以装入到内存的任何位置,其逻辑地址与装入内存后的物理地址无直接关系。,但是,必须进行地址映射,将逻辑地址转换为物理地址。,静态重定位技术,:地址映射在程序装入时进行,以后不再更改程序地址。,6,重定位装入,有利于程序代码和数据的共享。因为装入程序时,可以将其中的某些存储引用的逻辑地址映射为内存中已有的共享区的物理地址。,但

3、是,静态重定位不允许程序在内存中移动。这不便于进程交换和紧凑拼接操作,也很难实现多道程序环境下,多个程序同时装入内存的要求。,故,重定位装入方式只适合于单道程序环境。,7,运行时动态装入,指,程序的地址转换不是在装入时进行,而是在程序运行时动态进行。,运行时动态装入需要硬件支持,即重定位寄存器,用于保存程序在内存中的起始地址。,程序被执行时,通过重定位寄存器内的起始物理地址和指令或数据的逻辑地址计算其物理地址。,运行时动态装入有利于多道程序环境下,进程的换进,/,换出及实现紧凑技术。,8,可执行程序的链接形成,?目标模块如何链接成装入模块呢,静态链接,动态链接,:装入时动态链接和运行时动态链接

4、9,静态链接,指,程序被装入内存之前,必须完全链接成一个装入模块,将其中的存储引用全部转换为相对地址跳转语句。并将多个目标模块链接成为一个模块,使装入模块中的每一条指令具有相对于整个模块的第一条语句的逻辑地址。,静态链接生成的装入模块可以采用重定位装入或运行时动态装入方式。,静态链接需要花费大量的处理机时间。而其中的很多模块将不会运行,浪费存储空间和处理机时间。,10,链接,图,3.11,目标模块链接成装入模块,模块,1,if x 1 then,call mm1,else,call mm2,模块,mm1,模块,mm2,(a),目标模块,模块,1,if x 1 then,else,模块,mm1

5、模块,mm2,(b),装入模块,?执行,?执行,11,动态链接,指,不用事先链接所有目标模块形成一个完备的装入模块,而是生成一个含有未被链接的外部模块引用的装入模块,这些外部模块可以在装入时链接,或运行时链接。,12,装入时动态链接,指,当系统装入含有未链接的外部模块引用的装入模块时,每当遇到一个外部模块引用,则查找相应的目标模块。将其装入内存,并将模块内的指令地址转换为相对于整个装入模块起始地址的相对地址。,优点:有利于目标模块的更新与升级;有利于代码共享;有利于扩充软件的功能,可以将扩充部分作为动态链接模块。,但是,可能链接一些不会执行的模块,浪费存储空间和处理机时间。,13,运行时动态

6、链接,指,外部模块引用直至程序执行时才装入内存,并链接到装入模块中,进行地址转换。,可以解决静态链接和装入时动态链接都面临的存储空间和处理机时间浪费问题,不需要执行的模块就不会装入内存。,广泛用于事务处理系统,如航空售票系统、银行管理系统等。,操作系统自身的一些特殊处理例程,如错误处理例程,也无需事先全部装入内存。,14,3.4,简单存储管理技术,15,简单存储,相对于虚拟存储而言,指为了实现简单,执行之前,操作系统必须将待执行的程序全部装入内存。,然而,现代操作系统大都支持虚拟存储功能,允许进程装入部分程序即可开始执行,其余部分保留在外存。当执行所需的部分不在内存时,中断进程执行,使之阻塞等

7、待,直到相应部分装入内存。,16,?,程序在内存中如何组织,连续存储,:,需要内存中的一块连续的、足够大的分区。,如果内存中没有足够大的连续空闲分区,但存在总量足够的独立小分区,即,外零头,。系统要么拒绝分配空间,要么采用,紧凑技术,拼接外零头。,17,非连续存储,:允许进程的程序和数据分别装在内存的不同分区中。,必须登记一个进程分到的所有分区的位置、大小、使用情况(如是否共享等)等信息。,常用的非连续存储技术:分页存储技术、分段存储技术及其结合。,18,图,3.12,内存的,连续存储与非连续存储,OS,进程,P,基地址,(a),连续存储,进程,P,(,2,),OS,进程,P,(,1,),进程

8、P,(,n,),进程的组成,基地址,长度,P(1),2604,200,P(2),1240,300,P(n),6500,300,(b),非,连续存储,19,连续存储管理,最简单的存储管理技术,要求系统配置专门的硬件实现快速地址转换和存储保护。,处理机硬件,基址寄存器,(Base register),界限寄存器,(Bounds register),20,连续存储管理,基址寄存器,:存放当前执行进程所在分区的物理存储单元的起始地址。,界限寄存器,:存放当前执行进程所在分区最后一个物理存储单元的地址,限定进程的执行范围,保护其他进程不被非法访问。,基址寄存器和界限寄存器被多个进程共享,只有当前执行进

9、程才使用它们。,21,装入时,进程分区的基地址值和分区的最后一个物理存储单元的地址值,分别填入该进程,PCB,的相应字段中。,当进程被调度执行时,将,PCB,中对应的进程基地址值写入基址寄存器中,并将进程获得的内存分区最大地址值,填入界限寄存器中。,当进程被交换出,/,换入内存时,上述两个地址值也会发生改变。,22,地址映射与存储保护,逻辑地址转换成物理地址,取基址寄存器中的值,加上逻辑地址值,生成一个物理地址,地址越界检查,取界限寄存器中的值,与第一步计算的结果进行比较。如果生成的物理地址超出了界限范围,产生一个中断,报告地址越界。否则,继续该指令的执行。,23,程序部分,数据部分,内存,基

10、址寄存器,加法器,逻辑地址,界限寄存器,比较器,越界中断,物理地址,图,3.13,连续存储管理的地址转换和越界检查,24,简单分页存储管理,连续存储:存在外零头,浪费存储空间。“紧凑”需要系统额外开销。,非连续存储:允许将一个进程的程序和数据离散存储在多个独立的分区中,消除了外零头。,25,基本原理,分页存储管理技术是一种特殊的固定分区方法。,系统事先将物理内存划分成许多尺寸相等的,页框,(Page Frame),,并将进程分割成许多大小相同的,页面,(Page),,页面与页框大小相同。,26,分区,:进程的逻辑地址空间是连续的、一维的、线性地址,进程的每一条指令和数据的地址相对于第一条语句的

11、地址而定。,分页,:进程被分割成许多页面。每个页面内的指令和数据是连续的,它们的地址相对于其所属页的第一条语句的地址,称为,页内偏移量,。,逻辑地址被分为两部分:,页号,和,页内偏移量,页号,页内偏移量,15 10 9 0,图,3.14,分页管理的逻辑地址表示,27,当一个进程被装入物理内存时,系统将为该进程的每个页面分配一个独立的页框。,同一个进程的多个页面不必存放在连续的多个页框中。,28,例如,假设内存能提供,16,个空闲页框,进程,P1,被分割成,4,个页面,装入内存中的,0,号至,3,号页框。进程,P2,被分割成,3,个页面,装入,4,号至,6,号页框。进程,P3,被装入,7,号至,

12、12,号页框,如图,3.15(a),所示。,此时,进程,P4,请求分配,5,个页框大小的存储空间,但内存只有,3,个空闲页框。于是,将暂时不运行的,P2,交换出内存,如图,3.15(b),所示。,然后,再将,P4,装入,4,、,5,、,6,、,13,、,14,号页框,如图,3.15(c),所示。,29,图,3.15,进程装入到离散的页框中,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,P1.2,P1.1,P1.0,P1.3,P2.0,P2.1,P2.2,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,页框号 内存,(a),依次装入,P1,、,P2,、,

13、P3,P1,P2,P3,空闲,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,P1.2,P1.1,P1.0,P1.3,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,页框号 内存,(b),换出,P2,P1,空闲,P3,空闲,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,P1.2,P1.1,P1.0,P1.3,P4.0,P4.1,P4.2,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P4.3,P4.4,页框号 内存,(c),装入,P4,P1,P4,P3,空闲,P4,30,数据结构:页表,页表:系统为每个进程建立

14、一张页面映射表。,用于记载进程的各页面到物理内存中页框的映射信息。,进程的每个页面依次对应页表中的一个表项,其中包含相应页在内存中对应的物理页框号和页面存取控制权限等字段。,31,页号,页框号,0,0,1,1,2,2,3,3,进程,P1,页表,页号,页框号,0,-,1,-,2,-,进程,P2,页表,页号,页框号,0,7,1,8,2,9,3,10,4,11,5,12,进程,P3,页表,页号,页框号,0,4,1,5,2,6,3,13,4,14,进程,P4,页表,图,3.16,进程,P1,、,P2,、,P3,、,P4,的页表,32,数据结构:页框表,空闲页框表:登记系统中剩下的空闲页框情况,图,3.

15、17,空闲页框表,15,14,13,33,地址变换,硬件机制,实现逻辑地址到物理地址的转换,分页系统中的地址变换过程如下:,(,1,),根据逻辑地址,计算出页号和页内偏移量;,(,2,),用页号检索页表,查找指定页面对应的页框号;,(,3,),根据页框号和页内偏移量,计算出物理地址。,34,页表寄存器,页表寄存器:实现快速地址映射,存储执行进程的页表起始地址。,页表寄存器设置在处理机硬件中。,当进程被创建时,其页表起始地址记载于进程,PCB,中。,当进程被调度执行时,页表的起始地址将从该进程的,PCB,中取出,并填入页表寄存器中。,进行地址变换时,处理机从页表寄存器中查找页表的地址。,35,页

16、号,偏移量,逻辑地址,物理地址,页框号,偏移量,页表寄存器,页表起始地址,内存,页框号,页表,地址转换,程序,+,偏,移,量,图,3.18,分页系统的地址变换过程,页框,36,大页表,大逻辑地址空间,页表非常大,需要占用相当大的内存空间。,比如,,32,位逻辑地址空间,假设页面大小为,4KB,(,2,12,),则,4GB,(,2,32,)的逻辑地址空间将被划分成,2,20,个页面。,37,大页表,若采用一级页表,则其内将包含,1,兆(,2,20,)个页表项。若按字节寻址,一个页表项占,4B,,则一级页表需要占用,4MB,(,2,22,)内存空间。,不可能将,4MB,的页表保存在一个连续区中。,

17、那么,如何处理大页表的存储与检索呢?,38,二级页表,将一个大页表全部保存在内存中。,首先,将其分割,并离散地存储在内存的多个页框中。,为之建立二级页表,记录被分割的各个页面存储在哪些页框中,也称为外层页表(,Outer Page Table,)。,对于,4GB,的进程,若采用二级页表,则对应的二级页表结构如图:,39,4GB,的用户进程,4MB,的一级页表,4KB,的二级页表,图,3.19 4GB,进程的二级页表结构,40,多级页表,对于某些机器,二级页表也可能非常大。可以采用多级页表,对外层页表再进行分页,将各个页面离散地存储到不相邻接的物理页框中,虽然,对大页表而言,多级页表方法消除了对

18、较大的连续内存空间的需要,但并未解决大页表占用较大的内存空间的问题,建立多及页表反而会增加额外的存储空间。,41,大页表,最好的解决办法是采用,虚拟存储技术,,内存中仅装入页表的一部分。,即只将当前需要的部分页表项装入内存,其余页表项驻留在磁盘上,需要时再将它们装入内存。,若采用多级页表,对于正在运行的进程,必须将其外层页表调入内存,而内层页表只需调入几页就可以了。,42,反置页表,(,Inverted Page Table),一般情况下,系统从进程的角度为每个进程建立一张页表,页表的表项按页号排序。,这种方法可能导致一个大进程的页表太大,占据大量的内存空间。,反置页表,:从内存的角度建立页表

19、整个系统只有一张页表。页表的表项基于内存中的每一个物理页框设置,页表项按页框号的顺序排序。其中还必须包含页框对应的页号及其隶属进程的标识符等信息。,43,反置页表,通常,反置页表需要包含成千上万个表项,利用进程,ID,和页号检索其中某一个表项的速度很慢。,可以根据进程,ID,和页号构建,Hash,表。,Hash,表的每一项指向反置页表中的某一项。,但是,可能会出现多个逻辑地址被映射到一个,Hash,表项的情况。需要通过链接指针将多个冲突的映射链接起来。,一般,冲突的表项一般只有一项,或两项。,44,地址变换,首先,以进程,ID,和页号为参数,代入,Hash,函数进行计算。,然后,根据计算结果

20、检索反置页表。若检索完整个反置页表都未找到与之匹配的表项,表明此页尚未装入内存。,若系统支持虚拟存储技术,则产生请求调页中断。若系统不支持虚拟存储技术,则表示地址出错。,当检索到反置页表中的对应表项时,将其中的页框号与逻辑地址中的偏移量相加,构成物理地址。,45,物理地址,偏移量,页框号,逻辑地址,偏移量,页号,Hash,Hash,表,页号,进程,ID,指针,页框号,反置页表,图,3.20,利用反置页表进行地址变换,46,快表,分页系统:处理机每次存取指令或数据至少需要访问两次物理内存,第一次访问页表,第二次存取指令或数据,为了提高地址变换速度,为进程页表设置一个专用的高速缓冲存储器,称为快

21、表、,TLB(Translation Lookaside Buffer),,或联想存储器(,Associative Memory,),47,快表的工作原理,快表的工作原理类似于系统中的数据高速缓存,(cache),,其中专门保存当前进程最近访问过的一组页表项。,根据,局部性原理,,在一个很短的时间段内,程序的执行总是局部于某一个范围。,即,进程最近访问过的页面在不久的将来还可能被访问。,48,分页系统地址转换,通过根据逻辑地址中的页号,查找快表中是否存在对应的页表项。,若快表中存在该表项,称为命中(,hit,),取出其中的页框号,加上页内偏移量,计算出物理地址。,若快表中不存在该页表项,称为命

22、中失败,则再查找页表,找到逻辑地址中指定页号对应的页框号。同时,更新快表,将该表项插入快表中。并计算物理地址,49,图,3.21,具有快表的分页系统地址变换过程,页号,偏移量,逻辑地址,物理地址,页框号,偏移量,偏,移,量,内存,快表,页框号,页表,页框,TLB,命中,命中失败,50,页面与页框大小,分页系统中,页面,=,页框。页框的大小由计算机的硬件逻辑定义。通常,页框的大小是,2,的幂次个字节,且常在,512B,(,2,9,),4KB,(,2,12,)之间,典型的页框大小为,1KB,。,将页框大小设置为,2,的幂次,可以简化处理机中地址变换硬件逻辑的设计与实现。,51,页面与页框大小,影响

23、页面与页框大小的主要因素:页内零头、地址转换速度和页面交换效率。,较小的页面,有利于减少内零头,从而有利于提高内存的利用率。然而,,较小的页面,也将导致页表过大,从而降低处理机访问页表时的命中率,(Hit Rate),。,块越大,内,/,外存之间的数据交换效率越高。因此,对于支持交换技术的系统,,较大的页面,有利于提高页面换进,/,换出内存的效率。,52,对分页存储管理的评价,彻底消除了外零头,仅存在很少的内零头,提高了内存利用率。,分页操作由系统自动进行,一个页面不能实现某种逻辑功能。用户看到的逻辑地址是一维的,无法调试执行其中的某个子程序或子函数。,采用分页技术不易于实现存储共享,也不便于

24、程序的动态链接。,53,简单分段存储管理,基于模块化程序设计时,常常需要将一个大任务划分成若干相对独立的子任务,对应于子任务编写子程序,称为段,(Segment),。,每个子程序可以独立地编辑、编译、链接和执行。,各个子程序由实现的功能决定,长度各不相同。执行时,根据实际需要,将若干子程序链接成一个大程序。,54,基本原理,程序由若干逻辑段组成,每个段有自己的名字和长度。程序的逻辑地址是由段名(段号)和段内偏移量决定。每个段的逻辑地址从,0,开始编址,段号,段内偏移量,15 10 9 0,图,3.22,分段管理的逻辑地址表示,55,系统采用动态划分技术,将物理内存动态地划分成许多尺寸不相等的分

25、区。,当一个进程被装入物理内存时,系统将为该进程的每一段独立地分配一个分区。同一进程的多个段不必存放在连续的多个分区中。,56,分段系统的基本数据结构,段表,:,每个进程建立一个,用于描述进程的分段情况,记载进程的各个段到物理内存中分区的映射情况。其中包含段号、段长、段基址以及对本段的存取控制权限等信息。,空闲分区表,:,用于记载物理内存中的空闲分区情况,57,图,3.23,分段存储示例,P2.1,P1.0,P1.2,P1.1,P2.0,(a),分段存储,0,500,100,执行,存取控制,段基址,段长,段号,1,200,800,只读,2,200,1000,执行,(b),进程,P1,的段表,0

26、100,1200,执行,存取控制,段基址,段长,段号,1,200,600,执行,(c),进程,P2,的段表,58,地址变换和存储保护,(,1,)根据逻辑地址中的段号检索进程段表,获得指定段对应的段表项;,(,2,)判断是否地址越界。比较逻辑地址中的段内偏移量与段表项中的段长,若超过段的长度,则产生存储保护中断(该中断将由操作系统进行处理);否则,转(,3,);,(,3,)把逻辑地址中的段内偏移量与段表表项中的段基址相加,从而得到物理地址。,59,段表寄存器,段表同样被保存在物理内存中。,段表寄存器:,实现快速地址变换,用来存放当前执行进程的段表在物理内存中的起始地址。,当创建进程,将进程的程

27、序和数据装入内存时,系统为之建立段表,并将段表的起始地址填入进程的,PCB,中。,当进程被调度执行时,取出其,PCB,中的段表首址,填入段表寄存器中。,60,图,3.24,分段系统的地址变换过程,内存,物理地址,段基址,+,偏移量,偏,移,量,段号,偏移量,逻辑地址,段表寄存器,段表起始地址,+,段表,段长,段基址,+,越界,判断,中断,越界,正常,段,段,61,分段系统的快表,在分段系统中,为了访问内存中的一条指令或数据,需要两次访问内存:,第一次,访问内存中的段表,获得对应段的起始地址。根据段的起始地址和段内偏移量,计算出物理地址。,第二次,根据物理地址,访问对应存储单元的指令或数据。,为

28、了提高处理机的效率,类似分页系统的快表,可以为分段系统增加一个快表,用于保存最近使用过的段表项。,62,对分段系统的评价,有效消除了内零头,提高了存储利用率。,允许子程序独立编译和修改,而不需要重新编译或链接其它相关子程序。,容易实现存储共享。,具有较高的安全保障。,很容易满足程序段的动态增长需要。,63,分页与分段技术的比较,都采用非连续存储,由地址映射实现地址变换。,不同主要表现在:,(,1,),页是信息的物理单位,大小固定。段是信息的逻辑单位,各段的长度不固定。每一段都具有一定逻辑含义。,(,2,),分页的地址空间是一维的,逻辑地址的划分由机器硬件实现,对用户透明。分段的地址空间是二维或

29、多维的,程序员知道段名和段内偏移量。,(,3,)分页活动源于系统管理物理内存的需要,在系统内部进行,由系统实施,用户看不见。分段活动源于用户进行模块化程序设计的需要,在系统外部进行,由用户实施,用户是知道的。,64,简单段页式存储管理,基本思想:采用分段方法组织用户程序,采用分页方法分配和管理内存。,即,用户程序可以用模块化思想进行设计,一个用户序由若干段构成。系统将内存划分成固定大小的页框,并将程序的每一段分割成若干页以后装入内存执行时。,65,逻辑地址,在段页式系统中,进程的每一段被进一步分割成页面,段内代码和数据地址不再连续。,逻辑地址由,3,部分组成:段号、段内页号、页内偏移量,如图,

30、段号,段内页号,页内偏移量,图,3.25,段页式系统的逻辑地址结构,66,数据结构,用于管理的数据结构:段表、页表,如图,图,3.26,段页式系统的数据结构,段,0,段,1,段,2,用户程序,段表,0,3,页表首址,页表长度,段号,1,2,内存,OS,0,页号,页框号,1,2,页号,页框号,页表,67,段表寄存器,段表寄存器,:加速地址变换,用于存放执行进程段表的起始地址。,68,地址变换,首先,从段表寄存器从获得进程段表的起始地址,根据该地址,查找进程的段表。,然后,根据逻辑地址指定的段号检索段表,找到对应段的页表起始地址。,再根据逻辑地址中指定的页号检索该页表,找到对应页所在的页框号。,最

31、后,用页框号加上逻辑地址中指定的页内偏移量,形成物理地址。,69,图,3.27,段页式系统的地址变换过程,段表,页表首址,段号,页内偏移量,逻辑地址,段内页号,+,+,物理地址,页框号,+,页内偏移量,页表,页框号,+,偏,移,量,内存,页框,页框,页框,段表寄存器,段表起始地址,70,快表,第一次,访问段表,从中获得该段的页表首址;,第二次,访问页表,从中取出逻辑地址指定的页面所在的页框号,并将该页框号和页内偏移量相加,形成指令或数据的物理地址;,第三次访问内存,根据前面计算的物理地址,取出对应存储单元的指令或数据。,可以在地址变换机构中增设一个高速缓冲寄存器,其中保存最近使用过的页号及其所属的段号。,71,具有快表的地址转换,首先,利用段号和页号检索该高速缓冲寄存器。,若找到匹配的表项,则可以从中获得相应页面的页框号,加上页内偏移量,形成物理地址。,若该高速缓冲寄存器中未包含对应表项,则需要访问段表及页表,计算出物理地址以后,从相应存储单元获取指令或数据,。,72,对段页式存储管理方式的评价,综合了分段和分页技术的优点,既能有效地利用存储空间,又能方便用户进行程序设计。,但是,实现段页式存储管理系统需要增加硬件成本,系统的复杂度和管理开销也大大增加。,因此,段页式存储管理技术适合于大、中型计算机系统,不太适合小型、微型计算机系统。,73,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服