Windows 中断程序设计

Windows 中断程序设计

摘 要 该文探讨Windows3.1的中断机制,并结合DPMI接口给出一种中断程序设计方法,以越过系统和应用程序的消息队列,处理外部实时事件。

一、前言

Windows提供强大的功能以及友好的图形用户界面(GUI),使得它不仅广泛的用作管理事

务型工作的支持平台,也被工业领域的工程人员所关注。但Windows3.1并非基于优先级来调度任务,无法立即响应外部事件中断,也就不能满足工业应用环境中实时事件处理和实时控制应用的要求。因此,如何在Windows环境中处理外部实时事件一直是技术人员尤其是实时领域工程人员所关注的问题。目前已有的方法大都采用内挂实时多任务内核的方式,如Windows下的实时控制软件包FLX等,而iRMX实时操作系统则把Windows3.1当作它的一个任务来运行。对于大型的工程项目,开发人员可采用购买实时软件然后集成方式。

对中小项目,从投资上考虑就不很经济。如何寻找一种简明的方法来处理外部实时事件依然显得很必要。

本文首先阐述Windwos的消息机制及中断机制,然后结合DPMI接口,给出一种保护模式下中断程序的设计方法,以处理外部实时事件。经实际运行结果表明,该方法具有简洁、实用、可靠的特点,并同样可运行于Win95。

二、Windows的消息机制

Windows是一消息驱动式系统,见图1。Windows消息提供了应用程序与应用程序之间、应用程序与Windows系统之间进行通讯的手段。应用程序要实现的功能由消息来触发,并靠对消息的响应和处理来完成。

Windows系统中有两种消息队列,一种是系统消息队列,另一种是应用程序消息队列。计算机的所有输入设备由Windows监控,当一个事件发生时,Windows先将输入的消息放入系统消息队列中,然后再将输入的消息拷贝到相应的应用程序队列中。应用程序中的消息循环从它的消息队列中检索每一个消息并发送给相应的窗口函数中。一个事件的发生,到达处理它的窗口函数必需经历上述过程。值得注意的是消息的非抢先性,即不论事件的急与缓,总是按到达的先后排队(一些系统消息除外),这就使得一些外部实时事件可能得不到及时的处理。

图1

三、Windows的保护模式及中断机制

1.Windows的保护模式

保护模式指的是线性地址由一个选择符间接生成的,该选择符指向描述表中的某一项;而实模式中则通过一个段/偏移量对来直接寻址。80386(486)CPU提供的保护模式能力包括一个64K的虚拟地址空间和一个4G的段尺寸。Windows3.1实现时有所差别,它支持标准模式和增强模式。标准模式针对286机器,不属本文探讨范围。增强模式是对386以上CPU而言,Windows正是使用保护模式来打破1M的屏障并且执行简单的内存保护。它使用选择器、描述器和描述器表控制访问指定内存的位置和段。描述器表包括全局描述器表、局部描述器表、中断描述器表。保护模式与实模式有许多不同。其中显著的差异是访问内存的机制不同。

2.中断机制

(1)实模式中断

为了便于理解,我们先回顾实模式中断。

在实模式下,中断向量表IVT起到相当重要的作用。无论来自外部硬件的中断或是内部的软中断INTn,在CPU中都产生同样的响应。

①CPU将当前的指令指针寄存器(IP)、代码段寄存器(CS)、标志寄存器压入堆栈。

②然后CPU使用n值作为指向中断向量表IVT的索引,在IVT中找出服务例程的远地址。

③CPU将此远地址装入CS:IP寄存器中,并开始执行服务例程。

④中断例程总以IRET指令结束。此指令使存在堆栈中的三个值弹出并填入CS、IP和标志寄存器,CPU继续执行原来的指令。

(2)保护模式中断

保护模式中断过程与实模式中断过程类似,但它不再使用中断向量表IVT,而使用中断描述符表(IDT)。值得一提的是,

[1][2][3][4]

相关文章

父亲的宠爱

父亲对我板起面孔的次数,我都记得住;母亲给我的笑脸,我都记得住。大约母严父慈的家庭出来的孩子都是这样的吧。 我出生在四月,父亲为了庆祝和纪念,就在院子里为我种下了四棵白梅树。这不是地方风俗或传统,是父...
资料大全2015-05-01
父亲的宠爱

蒙牛真果粒广告词赏析

蒙牛真果粒广告词:蒙牛真果粒,有内涵更美丽!牛奶+果粒,真实就是 真果粒,蒙牛真果粒广告词赏析。蒙牛真果粒 每粒有新意蒙牛真果粒广告词,真果粒是蒙牛集团推出的全球首款含有可嚼果粒的新一...
资料大全2017-07-04
蒙牛真果粒广告词赏析

广东清远人社局代管应届毕业生档案费用及流程

7月11日,清远市人力资源和社会保障局办公厅人声鼎沸,凑在摊点咨询报到的大多是应届高校毕业生,也有小部分是代替孩子毕业报到的家长,广东清远人社局代管应届毕业生档案费用及流程。据悉,清远市人资社局截至目...
资料大全2016-01-08
广东清远人社局代管应届毕业生档案费用及流程

情话短句暖心

情话短句暖心11、 宝贝 如果世界上没有一个地方可以撇弃寒冷的话 那么请你一直跟着我吧2、 我在路上最爱你3、 是我太傻,把谎言当做誓言。4、...
资料大全2012-01-04
情话短句暖心

西方教育中的“师德”及其特征

从一些资料来看,西方教育(www.xfhttp.com-雪风网络xfhttp教育网)中关于师德的阐述主要有以下几个特点:一般不作统一的规定,但在教育(www.xfhttp.com-雪风网络xfhttp...
资料大全2014-03-04
西方教育中的“师德”及其特征

天王星

太阳系八大行星之一 天王星(太阳系八大行星之一) 天王星是太阳向外的第七颗行星,在太阳系的体积是第三大(比海王星大),质量排名第四(比海王星轻)。他的名称来自古希腊神话中的天空之神乌拉诺斯(Ο&a...
资料大全2013-07-02
天王星