Windows 中断编程(转)

本文探讨如何在Windows3.1中处理外部实时事件,分析Windows的消息机制和中断机制,提出结合DPMI接口的保护模式下中断程序设计方法,以解决实时事件的响应问题。方法具有简洁、实用、可靠的特点,适用于Win95系统。
摘要由CSDN通过智能技术生成
一、前 言 Windows提供强大的功能以及友好的图形用 户界面(GUI),使得它不仅广泛的用作管理事务型 工作的支持平台,也被工业领域的工程人员所关注。 但Windows3.1并非基于优先级来调度任务,无法 立即响应外部事件中断,也就不能满足工业应用环 境中实时事件处理和实时控制应用的要求。因此,如 何在Windows环境中处理外部实时事件一直是技 术人员尤其是实时领域工程人员所关注的问题。目 前已有的方法大都采用内挂实时多任务内核的方 式,如windows的实时控制软件包FLX等,而 iRMX实时操作系统则把Windows3.1当作它的一 个任务来运行。对于大型的工程项目,开发人员可采 用购买实时软件然后集成方式。对中小项目,从投资 上考虑就不很经济。如何寻找一种简明的方法来处 理外部实时事件依然显得很必要。 本文首先阐述windows的消息机制及中断机 制,然后结合DPMI接口,给出一种保护模式下中 断程序的设计方法,以处理外部实时事件。经实际运 行结果表明,该方法具有简洁、实用、可靠的特点,并 同样可运行于Win95。 二、Windows的消息机制 Windows是一消息驱动式系统,见图l。 Windows 消息提供了应用程序与应用程序之间、应用程 序与Windows系统之间进行通讯的于段。应用程序 要实现的功能由消息来触发,并靠对消息的响应和 处理来完成。 Windows系统中有两种消息队列,一种是系统 消息队列,另一种是应用程序消息队列。计算机的所 有输入设备由 Windows监控,当一个事件发生时, windows先将输入的消息放入系统消息队列中,然 后再将输入的消息拷贝到相应的应用程序队列中” 应用程序中的消息循环从它的消息队列中检索每一 个消息并发送给相应的窗口函数中。一个事件的发 生,到达处理它的窗口函数必须经历上述过程。值得 注意的是消息的非抢先性,即不论事件的急与缓,总 是按到达的先后
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值