一種面向分區操作系統的虛中斷擴展方法
【專利摘要】本發明屬于機載航電系統應用軟件【技術領域】,基于分區操作系統的一個虛中斷處理能力提出了一種擴展虛中斷的方法。本發明的方法的方案是:搭建虛中斷擴展系統;該系統包括初始化單元、分區層擴展虛中斷注冊單元、核心層中斷處理單元和分區層擴展虛中斷處理單元,根據虛中斷擴展系統之間各個單元之間的協調工作,能夠同時滿足不同驅動和應用對多個虛中斷處理需求,并且最大限度地保持虛中斷擴展的靈活性。
【專利說明】一種面向分區操作系統的虛中斷擴展方法
【技術領域】
[0001]本發明屬于機載航電系統應用軟件【技術領域】,基于分區操作系統的一個虛中斷處理能力提出一種面向分區操作系統的虛中斷擴展方法。
【背景技術】
[0002]某重點型號飛機的航空電子系統使用綜合化模塊化計算機系統和分區操作系統天脈2構成其核心處理平臺。該計算機系統集成了多種硬件資源,網絡資源包括光纖網絡、軍用1394網絡、Rapid1通信網絡等,存儲資源包括RAM、FLASH、NVRAM等,天脈2操作系統分為上下兩層,分別為分區層和核心層,分區層可配置運行多個應用分區,每個應用分區可包含多個進程。應用分區過注冊虛中斷處理來接管核心層投遞的虛中斷事件,從而完成虛中斷服務。
[0003]為支持多硬件資源對分區層應用中斷請求服務,驅動軟件需在分區層和核心層實現相應功能代碼。在核心層實現多硬件資源中斷事件向指定分區投遞的功能,在分區層實現指定虛中斷處理注冊接口。但針對虛中斷處理,天脈2通常只提供一個虛中斷處理能力,不能同時滿足驅動開發和應用開發對多個不同虛中斷處理需求。
【發明內容】
[0004]為了解決【背景技術】中的問題,本發明提出了一種能同時滿足不同驅動和應用對多個虛中斷處理需求,并且最大限度地保持虛中斷擴展的靈活性。
[0005]本發明的具體技術方案是:
[0006]一種面向分區操作系統的虛中斷擴展方法,其特征在于,包括以下步驟:
[0007]I)搭建虛中斷擴展系統;
[0008]所述虛中斷擴展系統包括初始化單元、分區層擴展虛中斷注冊單元、核心層中斷處理單元以及分區層擴展虛中斷處理單元;
[0009]所述初始單元用于創建擴展虛中斷碼定義表;所述擴展虛中斷碼定義表包括各個擴展虛中斷碼的虛中斷類型及每個虛中斷類型對應的編號;
[0010]所述分區層擴展虛中斷注冊單元用于各個分區中的擴展虛中斷碼注冊對應的擴展虛中斷處理程序,創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表;
[0011]所述核心層中斷處理單元用于為各個擴展虛中斷創建投遞分區ID表,用于將擴展中斷碼以用戶事件形式投遞到中各個分區;
[0012]所述分區層擴展虛中斷處理單元用于接收核心層中斷處理單元中投遞的擴展虛中斷碼,檢索分區層擴展虛中斷注冊單元中擴展虛中斷處理程序,進行虛中斷處理;
[0013]2)創建擴展虛中斷碼定義表;
[0014]系統調用初始化單元,完成初始化,創建擴展虛中斷碼定義表;
[0015]3)創建擴展虛中斷處理表;
[0016]根據各個分區中的擴展虛中斷碼注冊對應的擴展虛中斷處理程序,創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表;
[0017]4)虛中斷的處理;
[0018]4.1)系統運行,系統產生硬中斷,調用核心層中斷處理單元,為各個擴展虛中斷創建投遞分區ID表,
[0019]4.2)核心層中斷處理單元從擴展中斷碼定義表中檢索對應的擴展虛中斷碼的編號,調用分區ID表將虛中斷碼按照擴展虛中斷碼的編號對應的虛中斷碼的類型以用戶事件形式投遞到中各個分區;
[0020]4.3)分區層擴展虛中斷處理單元接收步驟4.2)中的虛中斷事件,檢索分區層擴展虛中斷注冊單元中擴展虛中斷處理程序,如果檢索成功:執行虛中斷處理,將結果返回;
[0021]如果檢索失敗,返回錯誤。
[0022]本發明的優點在于:
[0023]1、本發明采用了分區層虛中斷注冊單元完成分區層用戶對虛中斷處理注冊,大大提高用戶可操作性,在用戶看來,屏蔽了分區操作系統中斷處理差異,與平板操作系統中斷處理一致,大大增加用戶應用程序可移植性。
[0024]2、本發明采用核心層中斷處理單元完成核心層對硬中斷響應和對分區層虛中斷派發。本單元中各驅動對硬中斷處理及虛中斷派發是相對獨立處理的,極大提高系統中各部分驅動獨立維護和耦合度低的特點,同時也提高驅動可移植性。
【專利附圖】
【附圖說明】
[0025]圖1為本發明的工作原理圖。
【具體實施方式】
[0026]本發明基于分區操作系統對一個虛中斷處理機制,研宄多虛中斷處理的擴展方法。本文借助于某重點型號中應用場景,來說明如何對分區操作系統中虛中斷擴展方法,在滿足不同驅動和應用對多個虛中斷處理需求的同時,最大限度地保持虛中斷擴展的靈活性。
[0027]在完成本發明的擴展方法之前,首先需要:
[0028]步驟I)搭建虛中斷擴展系統
[0029]該擴展系統由以下四個單元組成:初始化單元、分區層擴展虛中斷注冊單元、核心層中斷處理單元和分區層擴展虛中斷處理單元。
[0030]上述每個單元功能描述如下:
[0031]初始化單元(EXT_VINT_INIT)
[0032]內部軟件單元,根據系統硬件平臺的不同中斷資源,創建擴展虛中斷碼定義表,其中,每一個中斷碼對應唯一中斷號。
[0033]分區層擴展虛中斷注冊單元(EXT_PART_VINT_REGISTER)
[0034]外部軟件單元,完成功能包括:
[0035]分區應用根據各個分區的擴展虛中斷碼,注冊對應的擴展虛中斷處理程序創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表;
[0036]核心層中斷處理單元(EXT_OS_INT_HANDLER)
[0037]內部軟件單元,完成功能包括:1)為各個擴展虛中斷創建并維護投遞分區ID表,該表記錄分區層擴展虛中斷注冊單元(EXT_PART_INT_REGISTER)投遞的分區ID號;2)當硬中斷發生時,核心層中斷處理根據中斷號,從初始化單元(EXT_INT_INIT)擴展中斷碼定義表檢索對應的擴展虛中斷碼,調用發送虛中斷服務將中斷碼以用戶事件形式投遞到中各個分區。
[0038]分區層擴展虛中斷處理單元(EXT_PART_VINT_HANDLER)
[0039]內部軟件單元,接收核心層中斷處理單元(EXT_OS_INT_HANDLE)中投遞的擴展虛中斷碼,檢索分區層擴展虛中斷注冊單元中擴展虛中斷處理程序,進行虛中斷處理;
[0040]步驟2)創建擴展虛中斷碼定義表;
[0041]系統調用初始化單元,完成初始化,創建擴展虛中斷碼定義表;
[0042]步驟3)創建擴展虛中斷處理表;
[0043]根據各個分區中的擴展虛中斷碼注冊對應的擴展虛中斷處理程序,創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表;
[0044]步驟4)虛中斷的處理;
[0045]下面結合附圖1對本發明步驟4)的具體的實施步驟進行描述:
[0046]4.1)系統運行,系統產生硬中斷,調用核心層中斷處理單元,完成虛中斷事件的分區派發;具體的派發過程是:核心層中斷處理單元(EXT_OS_INT_HANDLER)從擴展中斷碼定義表中檢索對應的擴展虛中斷碼的編號,調用分區ID表將虛中斷碼按照擴展虛中斷碼的編號對應的虛中斷碼的類型以用戶事件形式投遞到中各個分區;
[0047]4.2)分區層擴展虛中斷處理單元接收步驟4.1)中的虛中斷事件,檢索分區層擴展虛中斷注冊單元中擴展虛中斷處理程序,如果檢索成功:執行虛中斷處理,將結果返回;如果檢索失敗,返回錯誤。
【權利要求】
1.一種面向分區操作系統的虛中斷擴展方法,其特征在于,包括以下步驟: 1)搭建虛中斷擴展系統; 所述虛中斷擴展系統包括初始化單元、分區層擴展虛中斷注冊單元、核心層中斷處理單元以及分區層擴展虛中斷處理單元; 所述初始單元用于創建擴展虛中斷碼定義表;所述擴展虛中斷碼定義表包括各個擴展虛中斷碼的虛中斷類型及每個虛中斷類型對應的編號; 所述分區層擴展虛中斷注冊單元用于各個分區中的擴展虛中斷碼注冊對應的擴展虛中斷處理程序,創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表; 所述核心層中斷處理單元用于為各個擴展虛中斷創建投遞分區10表,用于將擴展中斷碼以用戶事件形式投遞到中各個分區; 所述分區層擴展虛中斷處理單元用于接收核心層中斷處理單元中投遞的擴展虛中斷碼,檢索分區層擴展虛中斷注冊單元中擴展虛中斷處理程序,進行虛中斷處理; 2)創建擴展虛中斷碼定義表; 系統調用初始化單元,完成初始化,創建擴展虛中斷碼定義表; 3)創建擴展虛中斷處理表; 根據各個分區中的擴展虛中斷碼注冊對應的擴展虛中斷處理程序,創建擴展虛中斷處理表,并將擴展虛中斷處理程序存儲至擴展虛中斷處理表; 4)虛中斷的處理; .4.1)系統運行,系統產生硬中斷,調用核心層中斷處理單元,為各個擴展虛中斷創建投遞分區10表, . 4.2)核心層中斷處理單元從擴展中斷碼定義表中檢索對應的擴展虛中斷碼的編號,調用分區10表將虛中斷碼按照擴展虛中斷碼的編號對應的虛中斷碼的類型以用戶事件形式投遞到中各個分區; .4.3)分區層擴展虛中斷處理單元接收步驟4.2)中的虛中斷事件,檢索分區層擴展虛中.斷注冊單元中擴展虛中斷處理程序,如果檢索成功:執行虛中斷處理,將結果返回; 如果檢索失敗,返回錯誤。
【文檔編號】G06F9/48GK104461719SQ201410714115
【公開日】2015年3月25日 申請日期:2014年11月29日 優先權日:2014年11月29日
【發明者】韓春陽, 戴小氐, 崔西寧, 王寧, 張樹兵, 王婷 申請人:中國航空工業集團公司第六三一研究所