




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HYPer 保护模式存储管理HYPer目录一、虚拟存储器及工作原理二、分段存储管理三、段选择符四、段描述符五、保护模式相关表六、保护模式下访问操作与保护机制七、向保护模式的转换八、页式存储管理九、段页式存储管理十、虚拟8086模式HYPer虚存空间主存空间CacheRCPU分层的存储器结构硬件实现分段部件分页部件OS软件一、 虚拟存储器及工作原理HYPer逻辑地址线性地址分段部件分页部件物理地址段式寻址页式寻址虚存空间(编程空间)主存空间(虚地址)虚拟存储器管理虚拟存储器工作过程HYPerHYPer二、分段存储管理HYPer虚拟地址和虚拟地址空间段选择符(16位)偏移量(32位)虚存地址Ind
2、ex(13)TI(1)RPL(2)虚存空间:64T=213+1+32 =246 虚实地址变换(64T4G)段选择符描述符表描述符(1)段基地址(32)(2)段界限(3)段属性M(2)段界限(1)段基地址段选择符(16位)偏移量(32位)虚存地址主存空间(物理空间)物理地址=段基地址(32)+偏移量(32)HYPer段选择符段描述符程序不可见寄存器(保存段描述符) 选择符(16位)选择符(16位)选择符(16位)选择符(16位)选择符(16位)选择符(16位)基地址界限属性选择符(16位)选择符(16位)基地址界限属性基地址(32位)界限(20位)基地址(32位)界限(20位)高速缓存描述符CS
3、DSSSESFSGS段寄存器 TRLDTRGDTRIDTR程序不可见区域系统地址R(保护方式R)控制寄存器:CR0CR3调试寄存器:DR0DR7模型专用寄存器MSR浮点部件寄存器HYPer三、段选择符段选择符:CSDSESSSGFFSTRLDTR段选择符段描述符HYPer四、段描述符HYPer描述符 和 描述符表HYPer程序段描述符(代码、数据、堆栈)程序段描述符:HYPer系统段描述符(LDT,TSS)LDT、TSS描述符:HYPer系统段描述符(门描述符)门描述符:HYPer门描述符任务门描述符-任务门描述符中的选择符指向GDT中一个TSS描述符,门中的偏移无意义。任务的入口点保存在TS
4、S中。利用段间转移指令JMP和段间调用指令CALL,通过任务门可实现任务切换。 调用门描述符-调用门描述某个子程序的入口。JMP,CALL指令。中断门描述符-描述ISR的入口。陷阱门描述符-中断门和陷阱门描述中断/异常处理程序的人口点。中断门和陷阱门内的选择子必须指向代码段描述符,门内的偏移就是对应代码段的人口点的偏移。中断门和陷阱门只有在中断描述符表IDT中才有效。 HYPer五、保护模式相关表GDT-全局描述符表LDT -局部描述符表IDT-中断描述符表TSS-任务状态段HYPer全局描述符表GDT简图HYPer局部描述符表LDT简图HYPer中断描述符表IDT简图HYPer中断过程保护模
5、式中断过程简图HYPer任务状态段TSS简图HYPer从TR到TSSTRTSS描述符TSS关系简图HYPer六、保护模式下访问操作与保护机制3类保护机制:任务间存储空间的保护;段属性和界限的保护;特权级保护。3种形式特权管理:当前任务特权级CPL(CS中最低两位);请求特权级RPL(请求操作的特权级);描述符特权级DPL(目标段的特权级)。保护机制:特权级为P段中的数据,可以由特权级高于或等于P的段中运行的程序使用(简:高级可访问低级数据);特权级为P代码段,可以由特权级低于或等于P下的任务调用(用特殊的方式:CALL,INT) (简:低级程序可调用高级程序) ;HYPer六、保护模式下访问操
6、作与保护机制保护机制:特权级为P段中的数据,可以由特权级高于或等于P的段中运行的程序使用(简:高级可访问低级数据);特权级为P代码段,可以由特权级低于或等于P下的任务调用(用特殊的方式:JMP,CALL,INT) (简:低级程序可调用高级一致代码段) ;数据访问规则:高低 O(高级者必须能够监视低级者的运行)低高 X (低级者绝不允许窥探高级者的秘密) 代码转移规则:高低 X (高级者不应“发起”低级者的运行)低高 O(低级者可以使用高级者提供的服务,但能够提供服务的高级者必须位于一致代码段)HYPer1.数据段访问-过程简图HYPer1.数据段访问-合法检查1.段是否存在(属性中P位);2.
7、段界限是否正确;3.段选择符引用的段是否正确(数据段或可读代码段);4.特权级检查(高级代码可访问低级数据段):级别:级(CPL DPL) & (RPLDPL)值(CPL DPL) & (RPLDPL)即值max(CPL,RPL) DPL时可以访问;以CPL和RPL较小的级进行访问。*堆栈段规则:CPLRPLDPL高级代码段可访问低级数据段HYPer2.任务内段间转移1.转移指令 JMP/CALL/INT/RET/IRET, Near类型段内转移,Far类型段间转移; 指令格式如下:JMP 选择符:偏移CALL 选择符:偏移INT n2.同一任务内的段内转移,只检查段限就行,不检查特权级;3.
8、同一任务内的段间转移,要检查段限,还要检查特权级。4.任务内段间转移包括:段间直接转移(选择符代码段描述符目标代码段);段间间接转移(选择符门描述符代码段描述符目标代码段)。HYPer段间直接转移段选择符代码段描述符目标代码段HYPer段间直接转移段选择符代码段描述符目标代码段简图HYPer特权级检查:(1)目标是一致代码段(C=1,共享):级CPL DPL时,可转移,否则异常;转移后CPL不变。 RPL不检查。用户可使用内核服务代码。(2)目标是非一致代码(C0,不共享):级(CPLDPL)&(RPL CPL)时,可转移,否则异常。转移后CPL不变。用户不可使用内核代码,只是内核内部代码间的
9、转移。什么是一致代码段和非一致代码段? 段间直接转移HYPer段间间接转移选择符门描述符代码段描述符目标代码段HYPer段间间接转移选择符门描述符代码段描述符目标代码段特权级检查:(1)访问调用门按访问数据段规则检查特权:级(CPL DPL1) & (RPL1 DPL1)时,可继续,否则异常;(2)RPL2清0,最高级;(3)访问代码段按代码段规则检查特权:目标是一致代码(C=1,共享):级CPL DPL时,可转移,否则异常;转移后CPL不变。 RPL2不检查。适用于JMP和CALL。用户可使用内核服务代码。目标是非一致代码(C=0,不共享):JMP指令:CPLDPL时,可转移,否则异常。转移
10、后CPL不变。CALL指令:级CPL DPL时,可转移,否则异常;转移后CPLDPL。*CALL指令,只有 级CPL DPL,非一致代码时,CPL特权级变高了!。 HYPer堆栈同一任务内,特权级变化的转移,会引起堆栈的变化;特权级0、1,2的堆栈指针在本任务的TSS中;用CALL指令发生转移时,新堆栈指针从TSS中取出,原堆栈指针压入新堆栈。RET指令只返回到小于等于级别CPL的代码段;从堆栈中恢复断点CS:EIP;返回后的代码段选择符的RPL就是当前CPL,若CPL变化了,则旧的堆栈指针从TSS中弹出。HYPer3.任务切换1.每个任务有一个TSS和LDT;2.TSS描述符在GDT中;3.
11、任务门是门的一种,用于定位TSS描述符;4.选择不同的TSS描述符就可以实现任务的切换;5.可以用JMP/CALL/INT/IRET实现任务切换;6.任务的切换有两种:直接任务切换;间接任务切换。任务切换:从执行一个任务转移到执行另一个任务。HYPer直接任务切换过程:(1)保存当前任务1运行环境:当前任务1的所有R当前TSS1。(2) 切换:置TSS2描述符.type.D2=1(忙);CR0.D3=1(切换发生标志);Eflags.D14(NT)=1(嵌套任务内层标志);TSS1选择符保存于TSS2返回链中(CALL,INT指令时,JMP不用保存);IRET 弹出TSS1中返回链中的选择符,
12、进行任务切换。(3)设置新任务2运行环境(4)特权检查级(CPL DPL2) & (RPL DPL2)时,可切换,否则异常。(5)运行任务2代码。HYPer间接任务切换(4)特权检查级(CPL DPL) & (RPL DPL)时,可切换,否则异常。HYPer七.向保护模式的转换过程HYPer八、页式存储管理 内存分页是80386微处理器开始引入的一种重要技术。CPU内有分页部件。可以只采用段式寻址,也可以只采用页式寻址,也可以采用段页式寻址。逻辑地址线性地址分段部件分页部件物理地址段式寻址页式寻址Linux中,逻辑地址=线性地址64TB4GBCR0.PE=1CR0.PG=1页目录(10)页表(
13、10)偏移(12)页目录描述符页目录表页描述符页描述符页描述符页表0.x4x4存储器4KB/页页表1页表1023线性地址从线性地址到物理地址页目录表4kB(1K项,每项4字节);每个页表4kB(1K项,每项4字节),共有1k个页表;每页4KB;共1M页CR3页表基地址页基地址页目录表基址R页表基地址(20)AVL00DA00VWP32 0页目录描述符(4字节)页基地址(20)AVL00DA00VWP32 0页描述符(4字节)页目录描述符&页描述符AVL=可使用位D=出错/未出错A=该页(页表) 已访问/未访问V=用户/监控 使用W=该页(页表) 允许/不允许写 P=该页(页表) 存在/不存在HYPer九段页式存储管理逻辑地址线性地址分段部件分页部件物理地址段式寻址页式寻址既有段式寻址,也 有页式寻址。80386以上CPU采用。HYPer页目录描述符(4)页目录表页描述符(4)页表n.页目录(10)页表(10)偏移(12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药害补偿协议书
- 水果店招聘合同协议书
- 签订兼职协议书
- 家庭人口多建房协议书
- 红木转让协议书
- 花卉摆租协议书
- 和解协议书调解协议书
- 塑料破碎厂合伙协议书
- 拥有土地使用权协议书
- 美国救援协议书
- 国际档案日宣传教育课件(带内容)
- 自动循迹小车课程设计
- 儿童行为量表(CBCL)Achenbach
- 2023年南方科技大学机试样题练习
- GB/T 24282-2021塑料聚丙烯中二甲苯可溶物含量的测定
- 讲义配电房可视化管理标准课件
- 《新疆精河县乌兰达坂脉石英矿资源储量核实报告》矿产资源储量
- 管理学原理第六章 指挥课件
- 工序标准工时及产能计算表
- 2023年最新的马季吹牛相声台词
- 幼儿园大班数学口算练习题可打印
评论
0/150
提交评论