80X86的存储器管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 存储器管理 1 实方式存储器管理 2 保护方式存储器管理 3 保护及任务切换 4 虚拟8086方式 存储器管理是微处理器提供的对系统存储器资源进 行管理的机制。 目的:方便软件程序对存储器的应用。 8086CPU管理存储器只有一种方式: 实方式 80286CPU管理存储器有两种方式: 实方式 保护虚地址方式 80386以上CPU管理存储器有三种方式: 实方式 保护虚地址方式 虚拟8086方式 系统复位后初始化,进入实地址方式。 5.1 实方式存储器管理 一、 存储器的分段结构 软件运行时,指令与数据装入内存中,指令与数据具有相对独立性,各程序之间也具有相对独立性,为便于管理,它们各占据相对独立的内存空间:一个程序可拥有几个段,不同的程序占据不同的几个段,形成内存的分段管理结构。 段值由段寄存器的内容决定,表示一个物理 段的起始地址,又称段地址 起始地址=段值×10H 有效地址偏移量EA,其值为寻址字节距离基 地址(段地址)的距离。最大值为64K,即段的 最大空间。 物理地址=段值×10H+偏移地址 例如:某存储单元的逻辑地址为:1BA4:204E 其实际地址应为:1BA40+204E=1DA8E 5.3 保护及任务切换 对多任务、多用户系统中资源管理进行保护: 防止程序间、任务间的互相干扰; 防止对存储器的非法操作,防止对页的非法 操作; 对段部件进行保护检查,对页部件进行保护检查; 保护不仅仅在不同任务间进行,而且也在同一任 务内进行。 每次存储器访问都必须进行段级别的保 护检查, 在允许分页情况下,还要进行页级别保护检 查。 切换到内层栈 四、任务切换 任务是一个单个的,连续的执行线程。80386,486支持多任务运行,但任何时刻只有一个任务运行。CPU按一定管理方式在各任务间切换。 任务切换可由一个中断或任务间的调用指令、跳转指令、返回指令来启动,而任务的定义及任务切换的简化和控制由任务状态段和任务门来实现。 I/O敏感指令 是 是 否 否 CS 否 否 是 否 SS 是 否 是 是 DS,ES,FS,GS 执行/读 只执行 读/写 只读 段 类 型 段寄存器 相容的段寄存器和段类型 2、限度检查 A.实方式下,段的限度为64KB。保护方式下,段的限度由段描述符的限度域指出。 B.段描述符中E=1,为向下扩充段,常用于堆栈段。E=0,正常数据段,为向上扩充段。 对堆栈段,当限度=0时,向下扩充段有最大尺寸。 C.限度检查使用于存储段和系统段中段描述符表。 3、特权检查 微处理器保护机制定义4级特权。其中最里层的特权级别最高称为特权级0,其它特权由里向外级别递减。 0级:操作系统的内核域,域内程序可以直接访问所有系统资源。 1级:用于系统服务。 2级:用于用户扩展。 3级:用于用户程序。 核 级别0 (最高) 级别1 级别2 级别3 系统服务 扩展 应用程序 高 低 INTEL特权环型模型 段级别保护中,处理器与3种特权级别相关: 当前特权级(CPL): 由CS的最低2位决定。 (任务特权) 描述符特权级(DPL):由段描述符的DPL域 (描述符特权) 决定。 请求者特权级(RPL):由段选择器的低两位 (选择子特权) 决定。 若RPL低于CPL,则CPL的特权级降为和RPL 相等。 检查对象:任务,存储段,门,任务状态段的描述符特权级。 特权检查包括下面几种情况: (1)数据访问 程序访问数据段的条件 特权级CPL、RPL中较低的级别必须高于或等于被访问段的特权级DPL 否则将产生一个一般保护异常,向操作系统报告访问违反了特权规则。 访问的一般规则 0级操作系统核心,有权访问任务中所有的数据存储段; 1级的操作系统其余部分有权访问2级和3级的所有数据存储段; 3级的应用程序只能访问本身的处于3级的数据存储段。 因此0级操作系统核心的数据存储器得到保护,整个操作系统也得到保护。 CODE-D CODE-E CODE-C DATA-C CODE-A DATA-A CODE-B 特权级0 特权级1 特权级2 特权级3 特 权 级 的 访 问 范 围 DATA-B DATA-D DATA-E (2)控制转移 3种方式: 段内转移 直接转移到另一代码段的段间转移 通过调用门的段间转移 段内转移 近程跳转指令JMP或近程调用指令CALL及返回指令RET引起的转移,不改变特权级,系统只作限度检查。 直接的段间转

文档评论(0)

baihualong001 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档