[发明专利]在视窗操作系统上实现软件中断的方法无效
申请号: | 01102981.1 | 申请日: | 2001-02-12 |
公开(公告)号: | CN1369788A | 公开(公告)日: | 2002-09-18 |
发明(设计)人: | 罗江;陈玄同;林光信 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 吴立明,王忠忠 |
地址: | 台湾省*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 视窗 操作系统 实现 软件 中断 方法 | ||
本发明涉及在视窗操作系统上实现软件中断的方法,且特别是透过虚拟驱动程序(VxD)而达到软件中断的方法。
以往的MS-DOS操作系统是在实模式(real mode)下执行的,亦即一般的应用程序可以任意进入而与它的核心程序沟通,例如存取操作系统的存储器管理模块、磁碟机I/O控制模块、显示器控制模块、错误处理(error handling)、设备驱动程序接口(device driverinterface)和任务调度(task scheduling)等;在这样的模式的下,应用程序的功效完全凭程序设计师自由发挥,但是若有一个应用程序任意取用其它程序的存储器,则可能会使系统发生当机的危险。
所以当80286微处理机问世之后,它便提供了一种适合多工操作系统(multitasking operating system)的操作模式,称的为保护模式(protected mode)。为了考虑到反向相容的问题,MS-DOS并未针对这个模式重新改写,所以只有如Windows 32位版和OS/2 2.0版以后才提供保护模式的能力。因此在一般DOS的模式的下,我们可以让应用程序利用某些技巧而切入到保护模式的中。
此外,与核心程序的沟通需透过中断(interrupt)来达成,MS-DOS提供有256个中断可使用,其中每一个中断都对应到一段组合语言程序码,这些程序码称为中断例程(interrupt routine)。在一般的状况下,我们并不会修改系统的中断内容,而是使用计算机硬件和操作系统所提供的中断例程,但若程序设计师须要写常驻程序,则必须将应用程序『串接』到现有的中断例程当中,使得系统每次使用该中断例程,便也会同时执行我们自己的常驻程序。因此综合上述可知,程序设计师在DOS环境下,通过软件中断便能很容易地获得需要的数据和功能。
而已知的视窗操作系统,例如Windows95/98操作系统,提供的是一种32位的完全保护模式,请参照「图1」,它运用第0特权级(ring0)和第3特权级(ring3)来运行处理器,其中,第0特权级(ring0)位于操作系统的核心层,位于此层级的软件,例如文件子系统103与虚拟机器管理程序子系统104等,对操作系统皆有完整的权利,亦即其所有下达的处理器指令都有效,并且可以直接存取系统中某些重要的数据结构,如存储器资源等。反观第3特权级(ring3)系为用户层,泛指一般应用程序可取得与操作系统沟通的指令层,在此层级执行的软件,例如在系统虚拟机器101或MS-DOS虚拟机器102下执行的应用程序,其权利受到很大的限制,不能直接对低级硬件的中断进行调用。
综合上述可知,目前大行其道的Windows95/98操作系统,为了提高系统的安全性,设计得让应用程序不能调用其软件中断,如此一来,若是程序设计师想要直接与系统核心程序沟通,尤其是想要直接检测硬件时,造成了很大的困难,也使得程序设计师在撰写视窗应用程序时,对软件中断的部分望而却步。
有监于此,本发明的目的为设计一种可调用系统软件中断的接口,让一般应用程序可以与视窗操作系统的核心程序沟通。
根据上述本发明的目的,提供一种在视窗操作系统上实现软件中断的方法,利用虚拟驱动程序(以下简称VxD)皆在第0特权级(ring0)中运行,且可透过一DeviceIOControl函数与位于第3特权级(ring3)的应用程序通信的特性,让VxD作为应用程序对操作系统的核心程序提出中断要求的接口。其中,系根据一函数结构,定义应用程序与VxD间沟通所需的进入参数及其返回值,并且将该进入参数置于一输入缓冲区中,当VxD以进入参数初始化寄存器并且系统中断完成之后,再将其中断结果储存于一输出缓冲区中,作为该函数结构的返回值让应用程序读取。如此一来,即可以让应用程序在视窗操作系统上实行软件中断的功能。
为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图详细说明如下,其中。
图1示出目前视窗操作系统下的分层结构;
图2示出本发明的功能架构示意图;以及
图3示出本发明的流程图。
标号说明
101. . . . . . . . . . . . . . . 系统虚拟机器
102. . . . . . . . . . . . . MS-DOS虚拟机器
103. . . . . . . . . . . . . . . . 文件子系统
104. . . . . . . . . . 虚拟机器管理程序子系统
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01102981.1/2.html,转载请声明来源钻瓜专利网。