文档详情

码段中的异常或中断处理程序过程.pdf

发布:2017-08-20约27.92万字共109页下载文档
文本预览下载声明
~翳 鳓 唑 塑 幽 鲍 塑 匦 鹨 器不允许传送执行 至 比 CPI更低特权级 (数值 上更大 的特杈级)码 段 中的异 常或 中断处理程 序过程 。 无特权级改变的堆栈用法 被中断的过程和 处理程序的堆栈 在 至 理 传送 处 程序 前的 EsP 在 至 理 传送 处 程序 后的 EsP 有特权级改变的堆栈用法 被中断的过程的堆栈 处理程序的堆栈 至 理 在传送 处 程序 目刂自9EsP 在 至 理 传送 处 程序 丿自勺EsP 膏 图 ⒏4 在传 送至 中断和异 常处理例程上堆栈 的使 用 企 图违反此规则 ,导 致通用保护异常 (#GP)。 异常和 中断处理程序过程 的保 护机制在 以 下方面不 同 。 ·因为 中断和异常 向量没有 RPL,在 隐含调用至异常和 中断处理程序时不 检查 RPL。 · INT饣 INT3或 INT0指 只若用 、 令 生成 异 常或 中断 ,处 理 器 检 查 中断 或 异 常 门的 DPL。 其 中,CPL必须小于或等 于 门的 DPL。 此 限制 防止运行在特权 级 3的 应 用程 序或过程用软件 中断访 问关键 的异 常处理程序 ,例 如 页故 障处理程序 ,提 供 的这些处 理程序放在更 高特权级 (数值上更低特权级)码 段 。对 于硬件生成 的 中断和处理器检 测 的异常 ,处理器忽略 中断和陷阱门的 DPL。 因为异常和 中断通 常不在预定 的时间发生 ,这 些特权规则 有效地 限制异 常和 中断处理程 序过程能运行 的特权级 。以下技术 的任一种 能用于避免特权级违反 。 · 异常或 中断处理程序能放在一致码段 中。此技术 能用 于处理程序 只需要访 问在堆栈 上可用 的数据 (例如 ,除法错 误异 常)。 若处理程序需要数据段 的数据 ,数 据段 需要从 特权级 3是 可访 问的,这使得 它是未保护 的 。 · 理 0的 处 程序能放在特权级 非一致码段 。此处理程序始终运行 ,不 管被 中断 的程序或 任务运行 的 CPI。 2.异 常或 中断处理程序过程使 用的标 志 当通过 中断 门或异常 门访 问异常或 中断处理程序 时 ,处
显示全部
相似文档