收藏 分销(赏)

计算机操作系统-存储器管理.ppt

上传人:a199****6536 文档编号:1665336 上传时间:2024-05-07 格式:PPT 页数:92 大小:1.27MB
下载 相关 举报
计算机操作系统-存储器管理.ppt_第1页
第1页 / 共92页
计算机操作系统-存储器管理.ppt_第2页
第2页 / 共92页
计算机操作系统-存储器管理.ppt_第3页
第3页 / 共92页
计算机操作系统-存储器管理.ppt_第4页
第4页 / 共92页
计算机操作系统-存储器管理.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

1、第四章第四章存储器管理存储器管理4.1 4.1 程序的装入和链接程序的装入和链接 l编辑编辑编译编译链接链接装入装入运行运行l图图4.14.14.1.1 4.1.1 程序的装入程序的装入 l1 1、绝对装入:、绝对装入:编译后,装入前已产生了绝对地址(内存地址),装编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。入时不再作地址重定位。绝对地址的产生:(绝对地址的产生:(1 1)由编译器完成,()由编译器完成,(2 2)由程序)由程序员编程完成。员编程完成。对(对(1 1)而言,编程用符号地址。)而言,编程用符号地址。l2 2、可重定位装入;、可重定位装入;静态重定位:装入时

2、完成,主要工作是对相对地址中静态重定位:装入时完成,主要工作是对相对地址中的指令和数据地址的调整过程,例:图的指令和数据地址的调整过程,例:图4 42 2问题:问题:如何知道哪些位置需调整?如何知道哪些位置需调整?链接时产生可装入模块的具体功能链接时产生可装入模块的具体功能?0100025005000LOAD 1,2500LOAD 1,250036536510000110001250015000作业地址空间作业地址空间内存空间内存空间图图4-24.1.1 4.1.1 程序的装入程序的装入 l3.3.动态运行时装入动态运行时装入在装入后不能移动,在装入后不能移动,该情况一般在执行时才完成相对该情

3、况一般在执行时才完成相对绝对地址的转换绝对地址的转换且有硬件的支持且有硬件的支持,能保证进程的可移动性。能保证进程的可移动性。4.1.2 4.1.2 程序的链接程序的链接l1 1、静态链接、静态链接a a对相对地址的修改对相对地址的修改b b变换外部调用符号变换外部调用符号l2 2、装入时动态链接、装入时动态链接a.a.便于修改和更新便于修改和更新b.b.便于实现对目标模块的共享便于实现对目标模块的共享l3 3、运行时动态链接、运行时动态链接模块模块A ACALL B;CALL B;RETURNRETURN模块模块B BCALL C;CALL C;RETURNRETURN模块模块C CRETU

4、RNRETURN0 0L-1L-10 0M-1M-10 0N-1N-1(a)(a)目标模块目标模块模块模块A AJSR L;JSR L;RETURNRETURN模块模块B BJSR L+M;JSR L+M;RETURNRETURN模块模块C CRETURNRETURN0 0L-1L-1L LL+M-1L+M-1L+ML+ML+M+N-1L+M+N-1(b)(b)装入模块装入模块4.24.2连续分配方式连续分配方式 l单一连续分配单一连续分配用于单用户,单任务中用于单用户,单任务中l分区式分配分区式分配固定式固定式可变式可变式可重定位分区分配可重定位分区分配4.2.1 4.2.1 单一连续分区单

5、一连续分区l l系统区系统区系统区系统区l l用户区用户区用户区用户区l l存贮保护存贮保护存贮保护存贮保护 一般不设置保护也可,因单任务。一般不设置保护也可,因单任务。一般不设置保护也可,因单任务。一般不设置保护也可,因单任务。4.2.2 4.2.2 固定分区固定分区l特点:有特点:有n n个分区,则可同时装入个分区,则可同时装入n n个作业个作业/任务。任务。l一、分区大小:一、分区大小:相等相等:不相等:不相等利用率更高。不相等:不相等利用率更高。l二、内存分配:二、内存分配:数据结构数据结构 l将分区按大小排序,并将其地址、分配标识作记录将分区按大小排序,并将其地址、分配标识作记录例:

6、例:dosdos的的MCBMCBl三、特点:三、特点:简单,有碎片(内零头)简单,有碎片(内零头)图图4 44a4a分区号分区号 大小(大小(K)起址起址(K)状态状态11220已分配已分配23232已分配已分配36464已分配已分配4128128已分配已分配图图4 44b4b操作系统操作系统作业作业A A作业作业B B作业作业C C24K32K64K128K256K分配情况分配情况4.2.3 4.2.3 可变式分区(比固定式分区有改可变式分区(比固定式分区有改善)善)l一、数据结构一、数据结构1 1空闲分区表空闲分区表2 2空闲分区链空闲分区链前向指前向指针针N N个字节可用个字节可用后向指

7、后向指针针N+2N+2N+2N+20 0(分配(分配标识)标识)0 04.2.3 4.2.3 可变式分区(比固定式分区有改可变式分区(比固定式分区有改善)善)l二、分配算法二、分配算法1 1首次适应算法首次适应算法FFFF。l要求:分区按低址要求:分区按低址高址链接高址链接l特点:找到第一个大小满足的分区,划分。有外零头,低址内存特点:找到第一个大小满足的分区,划分。有外零头,低址内存使用频繁。使用频繁。2 2循环首次适应算法。循环首次适应算法。l从从1 1中上次找到的空闲分区的下一个开始查找。中上次找到的空闲分区的下一个开始查找。l特点:空闲分区分布均匀,提高了查找速度;缺乏大的空闲分区。特

8、点:空闲分区分布均匀,提高了查找速度;缺乏大的空闲分区。3 3最佳适应算法最佳适应算法l分区按大小递增排序;分区释放时需插入到适当位置。分区按大小递增排序;分区释放时需插入到适当位置。4.2.3 4.2.3 可变式分区(比固定式分区有改可变式分区(比固定式分区有改善)善)l三、分区分配三、分区分配1 1分配:图分配:图4-64-62 2回收:回收:l(1 1)上邻空闲区:合并,改大小)上邻空闲区:合并,改大小l(2 2)下邻空闲区:合并,改大小,首址。)下邻空闲区:合并,改大小,首址。l(3 3)上、下邻空闲区:合并,改大小。)上、下邻空闲区:合并,改大小。l(4 4)不邻接,则建立一新表项。

9、)不邻接,则建立一新表项。F1F1回收区回收区回收区回收区F2F2F1F1回收区回收区F2F24-7 4-7 内存回收时的情况内存回收时的情况4.2.4 4.2.4 可重定位分区分配可重定位分区分配l1.1.动态重定位的引入动态重定位的引入连续式分配中,总量大于作业大小的多个小分连续式分配中,总量大于作业大小的多个小分区不能容纳作业。区不能容纳作业。紧凑紧凑l通过作业移动将原来分散的小分区拼接成一个大分区。通过作业移动将原来分散的小分区拼接成一个大分区。l作业的移动需重定位。是动态(因作业已经装入)作业的移动需重定位。是动态(因作业已经装入)紧凑紧凑操作系统操作系统用户程序用户程序1 110k

10、b10kb用户程序用户程序3 330kb30kb用户程序用户程序6 614kb14kb用户程序用户程序9 926kb26kb操作系统操作系统用户程序用户程序1 1用户程序用户程序3 3用户程序用户程序6 6用户程序用户程序9 92 2、动态重定位的实现、动态重定位的实现load 1,2500load 1,2500365365load 1,load 1,250025003653650 0100100250025005000500025002500100001000010000100001010010100+12500125001500015000作业作业J J处理机一侧处理机一侧存储器一侧存储器

11、一侧重定位寄存器重定位寄存器相对地址相对地址图图4.104.10动态分区分配算法动态分区分配算法4.2.5 4.2.5 对换对换l1 1 对换的引入对换的引入将阻塞进程,暂时不用的程序,数据换出。将阻塞进程,暂时不用的程序,数据换出。将具备运行条件的进程换入。将具备运行条件的进程换入。类型:类型:l整体对换:进程对换,解决内存紧张整体对换:进程对换,解决内存紧张l部分对换:页面对换部分对换:页面对换/分段对换:提供虚存支持分段对换:提供虚存支持l2 2 对换空间的管理对换空间的管理外存外存 l对换区对换区比比文件区文件区侧重于对换速度。侧重于对换速度。因此,对换区一般采用连续分配。采用数据结构

12、和因此,对换区一般采用连续分配。采用数据结构和分配回收类似于可变化分区分配。分配回收类似于可变化分区分配。4.2.5 4.2.5 对换对换l3 3 换出与换入换出与换入一、换出一、换出l1 1选出被换出进程:选出被换出进程:因素:优先级,驻留时间,进程状态因素:优先级,驻留时间,进程状态l2 2换出过程:换出过程:对于共享段:计数减对于共享段:计数减1 1,是是0 0则换出,否则不换则换出,否则不换修改修改PCBPCB和和MCBMCB(或内存分配表)(或内存分配表)二、换入:二、换入:l1 1选择换入进程:优先级,换出时间等。选择换入进程:优先级,换出时间等。l2 2申请内存。申请内存。l3

13、3换入换入4.34.3基本分页存储管理基本分页存储管理 l连续分配引起连续分配引起:碎片碎片l碎片问题的解决:紧凑方式消耗系统开销。碎片问题的解决:紧凑方式消耗系统开销。l离散分配离散分配分页、分段、段页分页、分段、段页l1.1.页面页面页面和物理块:逻辑空间和内存空间页面和物理块:逻辑空间和内存空间由机器的地址结构决定由机器的地址结构决定l页太大,页内碎片大。页太大,页内碎片大。l页太小:页表可能很长,换入页太小:页表可能很长,换入/出效率低出效率低l2.2.地址结构地址结构313112 1112 110 0逻辑地址逻辑地址A A;页大小;页大小L(L(设为设为1024)1024);页内偏移

14、;页内偏移d dd=A mod Ld=A mod L如:如:A A2170B.2170B.则则P=2,d=122 P=2,d=122 4.3.14.3.1页面与页表页面与页表页号页号P P 位移位移W W 3.3.页表页表0 0页页1 1页页2 2页页3 3页页4 4页页5 5页页n n页页0 02 21 13 32 26 63 38 84 49 95 50 01 12 23 34 45 56 67 78 89 9用户程序用户程序页表页表页号页号块号块号内存内存4.2 4.2 地址变换机构地址变换机构 l完成:逻辑页号完成:逻辑页号物理块号的映射,由页表完成。物理块号的映射,由页表完成。l一、

15、基本地址变换机构:一、基本地址变换机构:越界保护越界保护每个进程对应一页表,其信息(如长度、始址)放在每个进程对应一页表,其信息(如长度、始址)放在PCBPCB中,执行时将其首地址装入中,执行时将其首地址装入页表寄存器页表寄存器。2.2.具有快表的地址变换机构具有快表的地址变换机构 l不具快表,则需两次访问内存。不具快表,则需两次访问内存。(1 1)访页表)访页表(2 2)得到绝对地址内容)得到绝对地址内容l有快表,速度提高。有快表,速度提高。l快表贵,不能太多。快表贵,不能太多。2.2.具有快表的地址变换机构具有快表的地址变换机构 例:有一页式系统,其页表存放在主存中:例:有一页式系统,其页

16、表存放在主存中:如果对主存的一次存取需要如果对主存的一次存取需要1.5 1.5 s,s,试问实试问实现一次页面访问的存取时间是多少现一次页面访问的存取时间是多少?如果系统加有快表如果系统加有快表,平均命中率为平均命中率为85%,85%,当页表当页表项在快表中时项在快表中时,其查找时间忽略为其查找时间忽略为0,0,试问此时试问此时的存取时间是多少的存取时间是多少?答:若页表存放在主存中,则要实现一次页面访问需两次访问主答:若页表存放在主存中,则要实现一次页面访问需两次访问主存:一次是访问页表,确定所存取页面的物理地址(称为定存:一次是访问页表,确定所存取页面的物理地址(称为定位)。第二次才根据该

17、地址存取页面数据。位)。第二次才根据该地址存取页面数据。页表在主存的存取访问时间页表在主存的存取访问时间 =1.5*2=3(=1.5*2=3(ss)增加快表后的存取访问时间增加快表后的存取访问时间 =0.85*1.5+(1-0.85)*2*1.5=1.725(s)=0.85*1.5+(1-0.85)*2*1.5=1.725(s)4.3.3 4.3.3 两级和多级页表两级和多级页表 l页表可能很大,将其离散存放在不同页块中。页表可能很大,将其离散存放在不同页块中。l建一建一“外外部部页表页表”来管理这些离散页表块。来管理这些离散页表块。相当于单级相当于单级页表中页表中的页表寄存器,一般应常驻内存

18、。的页表寄存器,一般应常驻内存。每项记录页表始址,且增加存在位。每项记录页表始址,且增加存在位。l6464位机器页表一般位机器页表一般33级,最外层页表常驻。级,最外层页表常驻。例例l某某虚虚拟拟存存储储器器的的用用户户编编程程空空间间共共3232个个页页面面,每每页页为为1KB1KB,内内存存为为16KB16KB。假假定定某某时时刻刻一一用用户户页页表表中中已已调调入入内存的页面对应的物理块号如下表:内存的页面对应的物理块号如下表:页号页号物理块号物理块号0 05 51 110102 24 43 37 7则逻辑地址则逻辑地址0A5C0A5C(H H)所对应的物理地址为)所对应的物理地址为 :

19、125C125C例例l0A5C0A5C0000,100000,1010,0101,110010,0101,1100l页号为页号为2 2,对应块号为,对应块号为4 4,有:,有:l物理地址:物理地址:00010001,000010,0101,110010,0101,1100l即:即:125C125C4.4.2 4.4.2 分段系统的基本原理分段系统的基本原理 l分段分段对用户而言,分段是对用户而言,分段是2 2维的。维的。段号段号+段内地址。段内地址。l段表:段表:逻辑段逻辑段mapmap物理段物理段l地址变换机构:地址变换机构:图图4 41616,4 41717l分页与分段:分页与分段:(1

20、1)页是信息的物理单位,段是逻辑单位)页是信息的物理单位,段是逻辑单位(2 2)页长度固定,段长度不固定(由用户指定)页长度固定,段长度不固定(由用户指定)(3 3)一维与二维)一维与二维 4.4.3 4.4.3 共享共享 l段式系统易于共享段式系统易于共享例:图例:图4-184-18及及4-194-19 分页与分段共享比较分页与分段共享比较可重入码(纯代码)可重入码(纯代码)l各个进程应保留局部数据区各个进程应保留局部数据区ed1ed2ed40data1data102122606170ed1ed2ed40data1data10data1data10进程进程1进程进程2页表页表页表页表ed1e

21、d2ed40data1data102122607180主存分页系统中共享分页系统中共享editor分段系统中共享分段系统中共享editoreditordata1editordata2段长段长基址基址1608040240段长段长基址基址1608040380editordata1data24.4.4 4.4.4 段页式存储管理段页式存储管理l分页优点:提高内存利用率分页优点:提高内存利用率l分段优点:方便用户,易于共享,保护,动态链接。分段优点:方便用户,易于共享,保护,动态链接。l一、段页式系统基本原理一、段页式系统基本原理图图4-20 4-20 图图4-214-21段号段号+段内页号段内页号+

22、页内地址页内地址注意:注意:对用户而言,仍然是二维编址。对用户而言,仍然是二维编址。对系统而言,则是三维编址对系统而言,则是三维编址 4.4.4 4.4.4 段页式存储管理段页式存储管理l二、地址变换二、地址变换图图4-224-22三次访内存操作,为提高速度,在地址变换机构三次访内存操作,为提高速度,在地址变换机构中增设一高速缓冲寄存器(中增设一高速缓冲寄存器(CacheCache)4.54.5虚拟存储器虚拟存储器l4.5.1 4.5.1 引入引入1.1.常规存储管理的特征:常规存储管理的特征:l一次性(指全部装入)、一次性(指全部装入)、l驻留性(指驻留在内存不换出)驻留性(指驻留在内存不换

23、出)2 2、局部性原理、局部性原理l时间局部性:如循环执行时间局部性:如循环执行l空间局部性:如顺序执行。空间局部性:如顺序执行。3 3、虚拟存贮器、虚拟存贮器l具有请求调入功能和置换功能,能从逻辑上对内存容量进具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储系统。行扩充的一种存储系统。l实质:以时间换空间,但时间牺牲不大。实质:以时间换空间,但时间牺牲不大。l虚拟大小由虚拟大小由_决定。决定。4.5.2 4.5.2 虚拟存储器的实现方式虚拟存储器的实现方式l需要动态重定位需要动态重定位l一、请求分页系统一、请求分页系统以页为单位转换以页为单位转换需硬件:需硬件:(1 1)请

24、求分页的页表机制)请求分页的页表机制(2 2)缺页中断)缺页中断(3 3)地址变换机构)地址变换机构需实现请求分页机制的软件(置换软件等)需实现请求分页机制的软件(置换软件等)l二、请求分段系统二、请求分段系统以段为单位转换以段为单位转换:(1 1)请求分段的段表结构)请求分段的段表结构(2 2)缺段中断)缺段中断(3 3)地址变换机构)地址变换机构需实现请求分段机制的软件(置换软件等)需实现请求分段机制的软件(置换软件等)4.5.3 4.5.3 虚存特征虚存特征l1 1离散性:部分装入离散性:部分装入(若连续则不可能提供虚存),无法支持大(若连续则不可能提供虚存),无法支持大作业小内存运行作

25、业小内存运行l2 2多次性:局部装入,多次装入。多次性:局部装入,多次装入。l3 3对换性:对换性:l4 4虚拟性虚拟性.l4.6.1 4.6.1 请求分页中的数据结构及硬件支持请求分页中的数据结构及硬件支持一、页表机制一、页表机制页表项:页表项:二、缺页中断机构:可在指令执行期间产生(如图二、缺页中断机构:可在指令执行期间产生(如图4-234-23)转入缺页中断处理程序。转入缺页中断处理程序。三、地址变换机构三、地址变换机构比较简单分页机制,增加了中断处理,比较简单分页机制,增加了中断处理,图图4.244.244.6 4.6 请求分页存储管理请求分页存储管理页号页号物理块物理块号号状态位状态

26、位P P访问字访问字段段A A修改位修改位M M外存地外存地址址 图图423涉及涉及6次缺页中断的指令次缺页中断的指令4.6.2 4.6.2 内存分配策略和分配算法内存分配策略和分配算法l一、最小物理块数一、最小物理块数不同的作业要求不同。不同的作业要求不同。如:允许间接寻址:则至少如:允许间接寻址:则至少要求要求3 3个物理块。个物理块。Mov A,B Mov A,B 4.6.2 4.6.2 内存分配策略和分配算法内存分配策略和分配算法l二、页面分配和置换策略。二、页面分配和置换策略。1 1固定分配局部置换。固定分配局部置换。l缺点:难以确定固定分配的页数缺点:难以确定固定分配的页数.(.(

27、少:置换率高少:置换率高 多:浪费多:浪费)2.2.可变分配全局置换可变分配全局置换3.3.可变分配局部置换可变分配局部置换l根据进程的缺页率进行页面数调整,进程之间相互不根据进程的缺页率进行页面数调整,进程之间相互不会影响。会影响。三、分配算法三、分配算法 l1 1平均分配算法平均分配算法l2 2按进程大小比例分配算法:按进程大小比例分配算法:l3 3考虑优先权分配算法考虑优先权分配算法 4.6.3 4.6.3 页面调入策略页面调入策略 l1.1.调入时机:调入时机:预调:(根据空间局部性)预调:(根据空间局部性)目前:成功率目前:成功率5050请求调:较费系统开销请求调:较费系统开销各有优

28、劣各有优劣l2 2从何处调页:从何处调页:对换区:修改过的页被换出时入对换区,对换区:修改过的页被换出时入对换区,快快文件区:文件区:稍慢稍慢对共享页,应判断其是否在内存区。对共享页,应判断其是否在内存区。l3.3.页面调入过程页面调入过程l目的:减少对换量,提高系统性能目的:减少对换量,提高系统性能 l4.7.1 4.7.1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法一、最佳置换算法(理论上的)一、最佳置换算法(理论上的)4.7 4.7 页置换算法页置换算法 4.7 4.7 页置换算法页置换算法 l目的:减少对换量,提高系统性能目的:减少对换量,提高系统性能 l4.7.1 4.7.

29、1 最佳置换算法和先进先出算法最佳置换算法和先进先出算法二、二、FIFOFIFO4.7.2 4.7.2 最近最久未用最近最久未用LRULRU置换置换l一、算法描述一、算法描述将将“最近的过去最近的过去”,作为,作为“最近的将来最近的将来”。图图4-274-27l二、二、LRULRU算法的硬件支持:(用来记录谁最近最久未访问)算法的硬件支持:(用来记录谁最近最久未访问)1 1位移寄存器:(定时右移)位移寄存器:(定时右移)R=RR=Rn-1n-1R R0 0图图4-284-28l2 2栈:栈:当进程访问某页时,将其移出压入当进程访问某页时,将其移出压入“栈顶栈顶”,“栈底栈底”换出。换出。图图4

30、-294-29LRU4.7.3 clock4.7.3 clock置换(置换(LRULRU近似算法:硬件近似算法:硬件消耗少)消耗少)l一、简单算法:一、简单算法:设一访问位:设一访问位:图图4-304-30循环扫描,每次扫描时将访问位复位。循环扫描,每次扫描时将访问位复位。4.7.3 clock4.7.3 clock置换(置换(LRULRU近似算法:硬件近似算法:硬件消耗少)消耗少)l二、改进:二、改进:A=0;M=0A=0;M=04.7.4 4.7.4 其它其它l一、最少使用(是频率)一、最少使用(是频率)与与LRULRU类似(记录访问次数),设置一个访问计数器。类似(记录访问次数),设置一

31、个访问计数器。l二、页面缓冲算法:二、页面缓冲算法:特点:淘汰的页只是修改标志;若页被修改过,则在特点:淘汰的页只是修改标志;若页被修改过,则在欲复盖它时回写,否则成批回写。欲复盖它时回写,否则成批回写。在欲重访问该页时,若页换出则只需修改标志。在欲重访问该页时,若页换出则只需修改标志。l补充:补充:8038680386的页描述的页描述。4.8 4.8 请求分段存储管理方式请求分段存储管理方式l段表:段表:l段名段名 段长段长 段基址段基址 存取方式存取方式 访问字段访问字段A A 修改字段修改字段M M 存在位存在位P P 增补位增补位 外存起址外存起址l二、缺段中断机构:二、缺段中断机构:

32、段不定长,处理起来比缺页中断复杂。段不定长,处理起来比缺页中断复杂。图图4.314.31l三、地址变换机构三、地址变换机构图图4.324.324.8.2 4.8.2 分段的共享与保护分段的共享与保护l一、共享段表:(整个系统一张)一、共享段表:(整个系统一张)图图4.334.331.1.共享进程计数。共享进程计数。2.2.存取控制字段。存取控制字段。3.3.段号:不同的进程可以使用不同的段号去共享段号:不同的进程可以使用不同的段号去共享段。段。段名段名段长段长内存地内存地址址状态状态外存地外存地址址共享进程计数共享进程计数状态状态进程名进程名进程号进程号段号段号存取控存取控制制4.8.2 4.

33、8.2 分段的共享与保护分段的共享与保护l二、共享段的分配与回收二、共享段的分配与回收1.1.分配:分配:l第一次访问:分配内存,(第一次访问:分配内存,(1 1)增加共享段表;()增加共享段表;(2 2)修改)修改进程段表。进程段表。l第二次访问:(第二次访问:(1 1)修改共享段表;()修改共享段表;(2 2)修改进程段表。)修改进程段表。2.2.回收:回收:(1 1)count=0 count=0 (2 2)count0count04.8.2 4.8.2 分段的共享与保护分段的共享与保护三、分段保护三、分段保护1.1.越界检查越界检查l段号越界检查。段号越界检查。l段内偏移越界检查。段内

34、偏移越界检查。2.2.存取控制检查。存取控制检查。lR R;R/WR/W;E E3.3.环保护机构环保护机构l(1 1)内环可访问外环数据;)内环可访问外环数据;l(2 2)外环可请求内环服务。)外环可请求内环服务。试验试验l实现实现LRULRU算法和算法和FIFOFIFO算法算法l要求要求给出任意的输入流、计算失效率。给出任意的输入流、计算失效率。输入流长度、输入流长度、cachecache尺寸可定制。尺寸可定制。测试:测试:CacheCache5 5,从从0 09 9可数字的任意排序,长度为可数字的任意排序,长度为3030。例如:例如:12568,36536,56892,70495,367

35、45,8734512568,36536,56892,70495,36745,87345保护模式保护模式虚地址和虚地址空间虚地址和虚地址空间l虚地址:程序中的地址,如虚地址:程序中的地址,如MOVE REG,2000MOVE REG,2000l内存管理单元(内存管理单元(MMUMMU):完成地址转换(图):完成地址转换(图4.14.1)段机制和页机制段机制和页机制l虚拟地址空间:二维:虚拟地址空间:二维:16k*4G=64T16k*4G=64T(LDT 8K LDT 8K GDT 8KGDT 8K)l线性地址空间线性地址空间:一维:一维:4G4Gl物理地址空间物理地址空间:一维:一维:4G4G选

36、择子偏移量:段机制313101500页机制310线性地址物理地址段机制段机制l段基地址段基地址l段界限段界限l段属性段属性l以上三者存储在段描述符表中以上三者存储在段描述符表中图图4.44.4描述符:图描述符:图4.54.5、图、图4.64.64.84.8G G:粒度位,:粒度位,0 0时,段长表示段格式的字节长度,即一个段最长可达时,段长表示段格式的字节长度,即一个段最长可达1M1M字节;字节;1 1时,段长表示段格式以时,段长表示段格式以4K4K字节为一页的页目录数,即一个字节为一页的页目录数,即一个段最长可达段最长可达1M*4K=4G1M*4K=4GD D:表示缺省操作数的大小,:表示缺

37、省操作数的大小,=0=0操作数为操作数为1616位。位。1 1为为3232位位lP:P:存在位。描述段是否在内存存在位。描述段是否在内存lS:S:表示该段是系统段(表示该段是系统段(0 0)还是用户段()还是用户段(1 1)lDPL:DPL:该段的特权级该段的特权级l类型:数据段还是代码段类型:数据段还是代码段lA:A:该段是否被访问该段是否被访问l3 3位位:为为0 0表示数据段,表示数据段,1 1表示代码段表示代码段lW:W:为为0 0表示不可写,为表示不可写,为1 1表示可写表示可写lR:R:该段可读否该段可读否lC:C:一致位,当一致位,当C=1C=1时,若当前进程特权级低于描述符特时

38、,若当前进程特权级低于描述符特权级,且当前特权级保持不变,那么代码段只能执行。权级,且当前特权级保持不变,那么代码段只能执行。系统段类型(图系统段类型(图4.104.10)门门l用来控制访问在目标码段的入口点。用来控制访问在目标码段的入口点。l类型类型调用门调用门:将程序控制转移到一个更高特权级别将程序控制转移到一个更高特权级别任务门:切换任务任务门:切换任务中断门:中断处理中断门:中断处理陷阱门:陷阱处理陷阱门:陷阱处理lTSS:TSS:任务状态段任务状态段,包含了任务状态信息包含了任务状态信息lLDT:LDT:局部描述符表局部描述符表门描述符(图门描述符(图4.114.11)l段基址由选择

39、器指出。段基址由选择器指出。描述符表描述符表lGDTGDT包含系统中所有任务都可以用的描述符包含系统中所有任务都可以用的描述符lIDTIDT包含任务门、中断门、陷阱门描述符包含任务门、中断门、陷阱门描述符lLDTLDT每任务一个。各任务也可有相同的描述符,以共享每任务一个。各任务也可有相同的描述符,以共享全局数据和代码全局数据和代码每任务的每任务的LDTLDT也用一个描述符来表示,即也用一个描述符来表示,即LDTLDT描述符,描述符,在在GDTGDT中中选择器与描述符表寄存器选择器与描述符表寄存器l只有只有RPLRPL大于等于相应的描述符大于等于相应的描述符DPLDPL,描述符才能被存,描述符

40、才能被存取。取。lGDTRGDTR、IDTRIDTR、LDTRLDTR无分页操作时,寻址过程(图无分页操作时,寻址过程(图4.174.17)l在段选择器中装入在段选择器中装入1616位数,位数,3232位偏移。位偏移。l根据段选择器中的索引值、描述符表寄存器,取出相应描述根据段选择器中的索引值、描述符表寄存器,取出相应描述符。符。l将描述符中的段基地址和将描述符中的段基地址和3232位偏移相加,形成位偏移相加,形成3232位物理地址。位物理地址。分页机制分页机制l线性地址转换为物理地址线性地址转换为物理地址l由由CR0CR0的的PGPG位启用位启用状态和控制寄存器(图状态和控制寄存器(图4.2

41、0,4.214.20,4.21)lCR0CR0:PEPE位位,用于启动保护模式。用于启动保护模式。lCR2:CR2:保存最后一次出现页故障的全保存最后一次出现页故障的全3232位线性地址。位线性地址。lCR3:CR3:目录表的物理地址。目录表的物理地址。地址转换(图地址转换(图4.264.26)控制转移控制转移l若控制转移要求特权级发生变化,则必须通过门。若控制转移要求特权级发生变化,则必须通过门。l调用门,为任务内特权级转移提供安全可靠的方法。调用门,为任务内特权级转移提供安全可靠的方法。小结小结l操作系统对虚拟存储器的实现是建立在硬件技术支持之上操作系统对虚拟存储器的实现是建立在硬件技术支持之上的。的。l分页与分段的保护机制。分页与分段的保护机制。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      联系我们       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服