[發明專利]在視窗操作系統上實現軟件中斷的方法無效
| 申請號: | 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.szxzyx.cn/pat/books/01102981.1/2.html,轉載請聲明來源鉆瓜專利網。





