保护模式及其编程.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第十四章保护模式及其编程保护虚拟地址模式(简称保护模式)32位的寄存器可用、可寻址4GB的物理地址空间逻辑-物理地址转换过程包含两级:先分段再分页。(注:分页过程是可选的)为实现虚拟存储器提供了硬件支持支持多任务,能够快速地进行任务切换和保护任务环境包含4个特权级和完善的特权检查机制,对所有的内存和I/O访问操作都进行严格检查,能够屏蔽普通程序对系统、硬件和中断等资源的直接访问。不同的特权级下有不同的指令系统设置CR0的PE位为1可使系统进入保护模式

14.1保护模式下的的存贮管理设置CR0的PG位可以开启(1)和关闭(1)分页机制保护模式中的逻辑地址(虚拟地址)由16位的选择子和32位的偏移量两部分组成。选择子放在段地址寄存器中,用来指定一个段描述符选择子偏移量分段机制线性地址物理地址分页机制虚拟地址150310

分段机制实现了虚拟地址到线性地址的转换程序员在编写程序时,会定义数据段、代码段等多个逻辑段,分段管理机制就是用于管理这些段,并将二维的虚拟地址转化成一维的线性地址。段由段描述符来定义,其中存放了关于段的三个参数:(1)段基址(Base,32位)(2)段界限(Limit,20位)(3)段的属性(读/写/执行,特权级等)(12位)段描述符存放在描述符表中,选择子就是用来指定某个特定描述符的关于描述符表的索引14.1.1分段管理

段选择子与存储段描述符索引值(13位)TI(1)RPL(2)选择子的格式:(一般放在段寄存器中ase(31…24AttributeBase(23…0)Limit(15…0)7654321076543210GD0AVLLimit(19…16)PDPLDTTYPE描述符的格式:A

描述符可用于描述多种对象:存储段、任务状态段、调用门、任务门、中断门、陷阱门和LDT。为了便于组织管理,80386把描述符组织成线性表。由描述符组成的线性表称为描述符表。每个描述符表本身形成一个特殊的内存数据段。这样的特殊数据段最多包含8192个描述符。该段由操作系统维护、并由处理器中的存储管理单元硬件(MMU)访问。在80386中有三种类型的描述符表:全局描述符表GDT、局部描述符表LDT和中断描述符表IDT。在整个系统中,全局描述符表GDT和中断描述符表IDT只有一张,局部描述符表可以有若干张,每个任务有一张。描述符表

GDT含有每一个任务都可能访问的描述符,通常包含操作系统所使用的代码段、数据段和堆栈段的描述符,也包含多种特殊描述符,如LDT描述符。在任务切换时,并不切换GDT。通过GDT可以使各任务都需要的段能够被共享。01每个任务的局部描述符表LDT含有该任务自己的代码段、数据段和堆栈段的描述符,也包含该任务所使用的一些门描述符,如任务门和调用门描述符等。随着任务的切换,系统当前的局部描述符表LDT也随之切换。通过LDT可以使各个任务私有的各个段与其它任务相隔离,从而达到受保护的目的。02选择子的TI位为0表示它所访问的描述符在GDT中,为1表示描述符在LDT中。03GDT和LDT

GDT和LDT

GDTR、LDTRGDT和IDT的基地址分别存放在GDTR和IDTR中,而各个LDT的基地址存放在GDT的LDT描述符中。LDTR是当前所使用的LDT描述符的选择子。GDTR和IDTR长48位,高32位为基地址,低16位为界限。LDTR类似于段寄存器,存储的是当前所使用的LDT表的LDT描述符的选择子。任务状态段寄存器TR包含指示描述当前任务的任务状态段的描述符选择子,从而规定了当前任务的状态段。

虚拟-线性地址转换过程基本过程:通过虚拟地址中的选择子在描述符表中找到相应的段描述符,取出其中的32位段基地址,该基地址加上虚拟地址中偏移量就形成了线性地址。当然,在相加之前要根据描述符中的Limit字段判断一下该偏移量是否越界。选择子偏移地址段基址段界限段属性+虚拟地址从GDT或LDT中得到的段描述符线性地址

例:MOVEAX,DS:[EDX]设描述符表的基地址存放在GDTR中,则转换结果为:[(GDTR+DS×8)].Base+EDX注:[A]表示取A所指向的内存单元的内容

线性地址的低12位经过分页机制直接作为物理地址的低12位使用。页映射函数可看成是把线性地址的高20位转换为对应物理地址高20位的转换函数。04在80386中,页的大小固定为4K字节,每一页的边界地址必须是4K的倍数。因此,4G大小的地址空间被划分为1M个页,每个页的起始地址用20位记录。05分页机制在分段机制之后进行操作,以完成线性地址到物理地址的转换过程。01分页机制把线性地址空间和物理地址空间分别划分为大小相同的块。这样的块称之为页。通过在线性地址空间的

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档