WINDOW的中断认识

来源:互联网 发布:unity3d 太空舱 编辑:程序博客网 时间:2024/05/16 21:13
 三、windows的保护模式及中断机制 
    1.Windows的保护模式 
    保护模式指的是线性地址由一个选择符间接生成的,该选择符指向描述表中的某一项;而实模式中则通过一个段/偏移量对来直接寻址。80386(486) CPU提仪的保护模式能力包括一个64K的虚拟地址空间和一个4G的段尺寸。Windows3.1实现时有所差别,它支持标准模式和增强模式。标准模式针对286,不周本文探讨范围。增强模式是对386以上CPU而言,windows正是使用保护模式来打破lM的屏障并且执行简单的内存保护。它使用选择器、描述器和描述器表控制访问指定内存的位置和段。描述器表包括全局描述器表局部描述器表、中断描述器表。保护模式与实模式有许多不同。其中显著的差异是访问内存的机制不同。 
    2.中断机制 
    (1)实模式中断 
    为了便于理解,我们先回顾实模式中断。 
    在实模式下,中断向量表IVT起到相当重要的作用。无论来自外部的中断或是内部的软中断INTn,在CPU中都产生同样的响应。 
    ①CPU将当前的指令指针寄存器(IP)、代码段寄存器(CS)、标志寄存器压入堆栈。 
    ②然后CPU使用 n值作为指向中断向量表IVT的索引,在IVT中找出例程的远地址。 
    ②CPU将此远地垃装入CS:IP寄存器中,并开始执行服务例程。 
    ④中断例程总以IRET指令结束。此指令使存在堆栈中的三个值弹出并填入CS、IP和标志寄存器,CPU继续执行原来的指令。 
    (2)保护模式中断 
    保护模式中断过程与实模式中断过程类似,但它不再使用中断向量表IVT,而使用中断描述符表(IDT)。值得一提的是,Windows运行时IVT还存在,应用程序并不使用它,Windows仍然使用,但含义已不同‘ 
    (1)IVT结构:IVT在RAM的 0000:0000之上,占据开始的1024字节。它仍然由 BIOS启动例程设置,由DOS填充到RAM中。 
    ②IDT中断描述符表:保护模式下,Windows操作系统为实现中断机制而建立的一个特殊表,即中断描述符表IDT。该表被用来中断服务例程的线性地址,它们是真正的24位或32位地址,没有段:偏移值结构。中断描述器表最多可含有256个例 
原创粉丝点击