一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法
【專利摘要】本發(fā)明屬于機(jī)載航電系統(tǒng)應(yīng)用軟件【技術(shù)領(lǐng)域】,具體涉及一種基于分區(qū)操作系統(tǒng)的一次擴(kuò)展系統(tǒng)調(diào)用能力提出的一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法。本方法的主要步驟是:1)搭建二級擴(kuò)展系統(tǒng);)2)根據(jù)二級擴(kuò)展系統(tǒng)進(jìn)行系統(tǒng)的二級擴(kuò)展2.1)自定義擴(kuò)展系統(tǒng)調(diào)用號;2.2)創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表;2.3)創(chuàng)建組內(nèi)擴(kuò)展系統(tǒng)調(diào)用組表;2.4)二級派發(fā);通過本發(fā)明的方法能夠同時(shí)滿足驅(qū)動開發(fā)和應(yīng)用開發(fā)對系統(tǒng)調(diào)用的二次擴(kuò)展需求。
【專利說明】一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于機(jī)載航電系統(tǒng)應(yīng)用軟件【技術(shù)領(lǐng)域】,具體涉及一種基于分區(qū)操作系統(tǒng)的一次擴(kuò)展系統(tǒng)調(diào)用能力提出的一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法。
【背景技術(shù)】
[0002]某重點(diǎn)型號飛機(jī)的航空電子系統(tǒng)使用綜合化模塊化計(jì)算機(jī)系統(tǒng)和分區(qū)操作系統(tǒng)天脈2構(gòu)成其核心處理平臺。該計(jì)算機(jī)系統(tǒng)集成了多種硬件資源,網(wǎng)絡(luò)資源包括光纖網(wǎng)絡(luò)、軍用1394網(wǎng)絡(luò)、Rapid1通信網(wǎng)絡(luò)等,存儲資源包括RAM、flash、非易失存儲器等。天脈2操作系統(tǒng)分為上下兩層,分別為分區(qū)層和核心層,分區(qū)層可配置運(yùn)行多個(gè)應(yīng)用分區(qū),每個(gè)應(yīng)用分區(qū)可包含多個(gè)進(jìn)程。應(yīng)用分區(qū)通過系統(tǒng)調(diào)用使用核心層提供的功能服務(wù)。
[0003]為支持多分區(qū)多進(jìn)程訪問硬件資源,驅(qū)動軟件需在分區(qū)層和核心層實(shí)現(xiàn)相應(yīng)功能代碼。在核心層實(shí)現(xiàn)訪問硬件資源的功能,在分區(qū)層實(shí)現(xiàn)向分區(qū)應(yīng)用提供的功能接口,分區(qū)層功能接口通過擴(kuò)展系統(tǒng)調(diào)用來訪問核心層的服務(wù),實(shí)現(xiàn)對硬件資源的訪問。但針對系統(tǒng)調(diào)用二次開發(fā),天脈2通常只提供一次擴(kuò)展能力,不能同時(shí)滿足驅(qū)動開發(fā)和應(yīng)用開發(fā)對系統(tǒng)調(diào)用的二次擴(kuò)展需求。
【發(fā)明內(nèi)容】
[0004]為了克服【背景技術(shù)】中的問題,本發(fā)明提出一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法,以同時(shí)滿足驅(qū)動開發(fā)和應(yīng)用開發(fā)對系統(tǒng)調(diào)用的二次擴(kuò)展需求。
[0005]本發(fā)明的具體技術(shù)方案是:
[0006]一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法,其特征在于,包括以下步驟:
[0007]I)搭建二級擴(kuò)展系統(tǒng);
[0008]所述二級擴(kuò)展系統(tǒng)包括初始化單元、擴(kuò)展組號分配單元、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元以及一級程序單元;
[0009]所述初始單元用于創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表以及在核心層注冊一級程序處理單元;
[0010]所述擴(kuò)展組號分配單元用于支持用戶注冊擴(kuò)展組名;用于為用戶注冊的擴(kuò)展組名從擴(kuò)展系統(tǒng)調(diào)用組表中分配一個(gè)表項(xiàng),表項(xiàng)編號作為擴(kuò)展組號輸出給用戶;
[0011]所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元用于定位輸入的擴(kuò)展組號在擴(kuò)展系統(tǒng)調(diào)用組表中的表項(xiàng),然后將輸入的組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址寫入表項(xiàng)的相應(yīng)位置;
[0012]所述一級程序處理單元:用于支持分區(qū)層用戶程序獲取指定擴(kuò)展組名對應(yīng)的擴(kuò)展組號和擴(kuò)展調(diào)用數(shù);用于依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的擴(kuò)展組號索引訪問擴(kuò)展系統(tǒng)調(diào)用組表,獲取表中對應(yīng)表項(xiàng)保存的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口,然后依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號索引訪問組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表,獲取表中對應(yīng)表項(xiàng)保存的擴(kuò)展系統(tǒng)調(diào)用處理程序地址,最后使用該程序地址執(zhí)行處理程序調(diào)用;
[0013]2)根據(jù)二級擴(kuò)展系統(tǒng)進(jìn)行系統(tǒng)的二級擴(kuò)展;
[0014]2.1)自定義擴(kuò)展系統(tǒng)調(diào)用號;
[0015]所述擴(kuò)展系統(tǒng)調(diào)用號包括擴(kuò)展組號和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號;
[0016]所述擴(kuò)展系統(tǒng)調(diào)用號是一個(gè)32位整數(shù),其前8位代表擴(kuò)展組號,后24為代表組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號;所述擴(kuò)展組號的最后一位數(shù)字作為保留組號;
[0017]2.2)創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表;
[0018]所述擴(kuò)展系統(tǒng)調(diào)用組表由多個(gè)表項(xiàng)構(gòu)成,每個(gè)表項(xiàng)包含三個(gè)域,分別為擴(kuò)展組名、組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口 ;
[0019]所述擴(kuò)展組名是用戶為一組待擴(kuò)展的系統(tǒng)調(diào)用接口所取的名稱;
[0020]所述組內(nèi)擴(kuò)展數(shù)是用戶注冊的待擴(kuò)展的系統(tǒng)調(diào)用接口數(shù);
[0021]所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用入口是用戶注冊的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表的首地址;
[0022]2.3)創(chuàng)建組內(nèi)擴(kuò)展系統(tǒng)調(diào)用組表;
[0023]所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用組表用于存儲一組用戶待擴(kuò)展的系統(tǒng)調(diào)用處理程序的地址;
[0024]2.4) 二級派發(fā);
[0025]2.4.1)調(diào)用初始化單元,在核心層注冊一級程序處理單元;
[0026]2.4.2)用戶使用擴(kuò)展組名為輸入?yún)?shù)調(diào)用擴(kuò)展組號分配單元,獲取擴(kuò)展組號;
[0027]2.4.3)以步驟2.4.2)獲取的擴(kuò)展組號、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表表項(xiàng)數(shù)為輸入?yún)?shù)調(diào)用組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元;組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元用于定位輸入的擴(kuò)展組號在擴(kuò)展系統(tǒng)調(diào)用組表中的表項(xiàng),然后將輸入的組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址寫入表項(xiàng)的相應(yīng)位置;
[0028]2.4.4)用戶分區(qū)層程序以保留組號和擴(kuò)展組名為輸入?yún)?shù)調(diào)用分區(qū)層操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為保留組號,進(jìn)而在擴(kuò)展系統(tǒng)調(diào)用組表中查找擴(kuò)展組名所在表項(xiàng),并將該表項(xiàng)中保存的組內(nèi)擴(kuò)展調(diào)用數(shù)和表項(xiàng)對應(yīng)的編號作為擴(kuò)展組號返回給用戶的分區(qū)程序;
[0029]2.4.5)使用步驟2.4.4)獲得的擴(kuò)展組號和步驟I)中組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號組織擴(kuò)展系統(tǒng)調(diào)用號,并以此為輸入?yún)?shù),調(diào)用分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元對程序執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為非保留組號,進(jìn)而基于擴(kuò)展組號和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號進(jìn)行二級派發(fā),最終進(jìn)入用戶核心層處理程序執(zhí)行。
[0030]本發(fā)明的優(yōu)點(diǎn)在于:
[0031]本方法提供了靈活的系統(tǒng)調(diào)用擴(kuò)展支持,很好地滿足了多種驅(qū)動對系統(tǒng)調(diào)用的二次擴(kuò)展需求,同時(shí)為分區(qū)應(yīng)用保留了足夠的擴(kuò)展能力。
【專利附圖】
【附圖說明】
[0032]圖1為本發(fā)明設(shè)計(jì)元素及其關(guān)系的示意圖。
【具體實(shí)施方式】
[0033]本發(fā)明基于基于分區(qū)操作系統(tǒng)的一次擴(kuò)展能力提出了一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法。
[0034]使用本方法前,首先需要確定擴(kuò)展系統(tǒng)調(diào)用號、擴(kuò)展系統(tǒng)調(diào)用表和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表三個(gè)設(shè)計(jì)元素,現(xiàn)結(jié)合圖1,對本發(fā)明的具體工作過程和設(shè)計(jì)元素及其關(guān)系進(jìn)行描述:
[0035]步驟I)搭建二級擴(kuò)展系統(tǒng);
[0036]具體地說,二級擴(kuò)展系統(tǒng)包括初始化單元、擴(kuò)展組號分配單元、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元以及一級程序單元;
[0037]其中,初始單元用于創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表以及在核心層注冊一級程序處理單元;
[0038]其中,擴(kuò)展組號分配單元用于支持用戶注冊擴(kuò)展組名;用于為用戶注冊的擴(kuò)展組名從擴(kuò)展系統(tǒng)調(diào)用組表中分配一個(gè)表項(xiàng),表項(xiàng)編號作為擴(kuò)展組號輸出給用戶;
[0039]其中,組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元用于定位輸入的擴(kuò)展組號在擴(kuò)展系統(tǒng)調(diào)用組表中的表項(xiàng),然后將輸入的組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址寫入表項(xiàng)的相應(yīng)位置;
[0040]其中,一級程序處理單元:用于支持分區(qū)層用戶程序獲取指定擴(kuò)展組名對應(yīng)的擴(kuò)展組號和擴(kuò)展調(diào)用數(shù);用于依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的擴(kuò)展組號索引訪問擴(kuò)展系統(tǒng)調(diào)用組表,獲取表中對應(yīng)表項(xiàng)保存的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口,然后依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號索引訪問組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表,獲取表中對應(yīng)表項(xiàng)保存的擴(kuò)展系統(tǒng)調(diào)用處理程序地址,最后使用該程序地址執(zhí)行處理程序調(diào)用;
[0041]步驟2)根據(jù)二級擴(kuò)展系統(tǒng)進(jìn)行系統(tǒng)的二級擴(kuò)展;
[0042]步驟2.1)自定義擴(kuò)展系統(tǒng)調(diào)用號(EXT_SC_ID);
[0043]具體地說,擴(kuò)展系統(tǒng)調(diào)用號:占用一個(gè)32位無符號整數(shù),其高8位和低24位分別是擴(kuò)展組號(GRP_ID)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號(GRP_EXT_SC_ID)。8位可表示256個(gè)驅(qū)動組ID,其中OxFF作為保留組號使用,故支持至多255組驅(qū)動和(或)應(yīng)用進(jìn)行系統(tǒng)調(diào)用擴(kuò)展。24位可表示16777216個(gè)組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號,是每組驅(qū)動或應(yīng)用可擴(kuò)展的系統(tǒng)調(diào)用數(shù)上限。由分區(qū)層擴(kuò)展驅(qū)動或應(yīng)用組織并通過一級擴(kuò)展系統(tǒng)調(diào)用參數(shù)傳遞給核心層一級處理程序單元。
[0044]步驟2.2)創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表(EXT_SC_GRP_TBL)
[0045]具體地說擴(kuò)展系統(tǒng)調(diào)用組表:包含255個(gè)表項(xiàng),編號依次為O至254,由擴(kuò)展系統(tǒng)調(diào)用號中的擴(kuò)展組號進(jìn)行索引訪問。表項(xiàng)包含三個(gè)域,分別為擴(kuò)展組名(EXT_GRP_NAME)、組內(nèi)擴(kuò)展數(shù)(GRT_EXT_NUM)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口(GRP_EXT_SC_TBL_ENTRY),依次占32個(gè)字節(jié)、4個(gè)字節(jié)和4個(gè)字節(jié)。擴(kuò)展組名是用戶為一組擴(kuò)展系統(tǒng)調(diào)用接口所取的名稱,長度不超過32個(gè)字符(包括結(jié)束符’ \0’),且不能與其他擴(kuò)展組名重名。組內(nèi)擴(kuò)展數(shù)是用戶注冊的待擴(kuò)展的系統(tǒng)調(diào)用接口數(shù),上限為16777216。組內(nèi)擴(kuò)展系統(tǒng)調(diào)用入口是用戶注冊的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表的首地址,該表的每個(gè)表項(xiàng)存儲待擴(kuò)展的系統(tǒng)調(diào)用接口。該表由擴(kuò)展系統(tǒng)調(diào)用模塊維護(hù)和使用。
[0046]步驟2.3)創(chuàng)建組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表(GRP_EXT_SC_TBL)
[0047]具體的說,組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表每個(gè)表項(xiàng)占據(jù)4個(gè)字節(jié),用于存儲一個(gè)組內(nèi)擴(kuò)展系統(tǒng)調(diào)用處理程序的地址,至多包含16777216個(gè)表項(xiàng),但實(shí)際的表項(xiàng)數(shù)應(yīng)與擴(kuò)展系統(tǒng)調(diào)用組表中組內(nèi)擴(kuò)展數(shù)相一致或略多。該表由待擴(kuò)展驅(qū)動或應(yīng)用維護(hù),通過軟件單元EXT_SC_GET_GRPID將此表注冊到擴(kuò)展系統(tǒng)調(diào)用組表中,表中擴(kuò)展系統(tǒng)調(diào)用處理程序的編號由用戶自定義,核心層一級處理程序單元以擴(kuò)展系統(tǒng)調(diào)用號中的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號為訪問索引進(jìn)行擴(kuò)展系統(tǒng)調(diào)用二級派發(fā)。
[0048]完成上述設(shè)計(jì)元素后,對分區(qū)系統(tǒng)的系統(tǒng)調(diào)用進(jìn)行二次派發(fā),
[0049]步驟2.4) 二級派發(fā);
[0050]步驟2.4.1)調(diào)用初始化單元,在核心層注冊一級程序處理單元;
[0051]具體地說,一級程序處理單元的功能包括兩部分:1、用于支持分區(qū)層用戶程序獲取指定擴(kuò)展組名對應(yīng)的擴(kuò)展組號和擴(kuò)展調(diào)用數(shù);
[0052]2、用于依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的擴(kuò)展組號索引訪問擴(kuò)展系統(tǒng)調(diào)用組表,獲取表中對應(yīng)表項(xiàng)保存的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口,然后依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號索引訪問組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表,獲取表中對應(yīng)表項(xiàng)保存的擴(kuò)展系統(tǒng)調(diào)用處理程序地址,最后使用該程序地址執(zhí)行處理程序調(diào)用;
[0053]步驟2.4.2)用戶使用擴(kuò)展組名為輸入?yún)?shù)調(diào)用擴(kuò)展組號分配單元,獲取擴(kuò)展組號;
[0054]其中,擴(kuò)展組號分配單元的功能包括兩部分:1)用于支持用戶注冊擴(kuò)展組名;2)用于為用戶注冊的擴(kuò)展組名從擴(kuò)展系統(tǒng)調(diào)用組表中分配一個(gè)表項(xiàng),表項(xiàng)編號作為擴(kuò)展組號輸出給用戶;
[0055]步驟2.4.3)以獲取的擴(kuò)展組號、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表表項(xiàng)數(shù)為輸入?yún)?shù)調(diào)用組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元;
[0056]通過該步驟,用戶在核心層的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用信息(擴(kuò)展組號、擴(kuò)展組名、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口)均被記錄于擴(kuò)展系統(tǒng)調(diào)用表中;
[0057]上述步驟2.4.1)至步驟2.4.3)均在系統(tǒng)的核心層內(nèi)完成,當(dāng)上述步驟成功完成后,在分區(qū)層進(jìn)行如下兩部操作:
[0058]步驟2.4.4)用戶分區(qū)層程序以保留組號和擴(kuò)展組名為輸入?yún)?shù)調(diào)用分區(qū)層操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為保留組號,進(jìn)而在擴(kuò)展系統(tǒng)調(diào)用組表中查找擴(kuò)展組名所在表項(xiàng),并將該表項(xiàng)中保存的組內(nèi)擴(kuò)展調(diào)用數(shù)和表項(xiàng)對應(yīng)的編號作為擴(kuò)展組號返回給用戶的分區(qū)程序;
[0059]步驟2.4.5)使用步驟4.4)獲得的擴(kuò)展組號和步驟I)中組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號組織擴(kuò)展系統(tǒng)調(diào)用號,并以此為輸入?yún)?shù),調(diào)用分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元對程序執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為非保留組號,進(jìn)而基于擴(kuò)展組號和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號進(jìn)行二級派發(fā),最終進(jìn)入用戶核心層處理程序執(zhí)行。
【權(quán)利要求】
1.一種面向分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用二級擴(kuò)展方法,其特征在于,包括以下步驟:. 1)?合建~■級擴(kuò)展系統(tǒng); 所述二級擴(kuò)展系統(tǒng)包括初始化單元、擴(kuò)展組號分配單元、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元以及一級程序單元; 所述初始單元用于創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表以及在核心層注冊一級程序處理單元; 所述擴(kuò)展組號分配單元用于支持用戶注冊擴(kuò)展組名;用于為用戶注冊的擴(kuò)展組名從擴(kuò)展系統(tǒng)調(diào)用組表中分配一個(gè)表項(xiàng),表項(xiàng)編號作為擴(kuò)展組號輸出給用戶; 所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元用于定位輸入的擴(kuò)展組號在擴(kuò)展系統(tǒng)調(diào)用組表中的表項(xiàng),然后將輸入的組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址寫入表項(xiàng)的相應(yīng)位置;所述一級程序處理單元:用于支持分區(qū)層用戶程序獲取指定擴(kuò)展組名對應(yīng)的擴(kuò)展組號和擴(kuò)展調(diào)用數(shù);用于依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的擴(kuò)展組號索引訪問擴(kuò)展系統(tǒng)調(diào)用組表,獲取表中對應(yīng)表項(xiàng)保存的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口,然后依據(jù)擴(kuò)展系統(tǒng)調(diào)用號中的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號索引訪問組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表,獲取表中對應(yīng)表項(xiàng)保存的擴(kuò)展系統(tǒng)調(diào)用處理程序地址,最后使用該程序地址執(zhí)行處理程序調(diào)用;. 2)根據(jù)二級擴(kuò)展系統(tǒng)進(jìn)行系統(tǒng)的二級擴(kuò)展;. 2.1)自定義擴(kuò)展系統(tǒng)調(diào)用號; 所述擴(kuò)展系統(tǒng)調(diào)用號包括擴(kuò)展組號和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號; 所述擴(kuò)展系統(tǒng)調(diào)用號是一個(gè)32位整數(shù),其前8位代表擴(kuò)展組號,后24為代表組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號;所述擴(kuò)展組號的最后一位數(shù)字作為保留組號;. 2.2)創(chuàng)建擴(kuò)展系統(tǒng)調(diào)用組表; 所述擴(kuò)展系統(tǒng)調(diào)用組表由多個(gè)表項(xiàng)構(gòu)成,每個(gè)表項(xiàng)包含三個(gè)域,分別為擴(kuò)展組名、組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表入口 ; 所述擴(kuò)展組名是用戶為一組待擴(kuò)展的系統(tǒng)調(diào)用接口所取的名稱; 所述組內(nèi)擴(kuò)展數(shù)是用戶注冊的待擴(kuò)展的系統(tǒng)調(diào)用接口數(shù); 所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用入口是用戶注冊的組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表的首地址;. 2.3)創(chuàng)建組內(nèi)擴(kuò)展系統(tǒng)調(diào)用組表; 所述組內(nèi)擴(kuò)展系統(tǒng)調(diào)用組表用于存儲一組用戶待擴(kuò)展的系統(tǒng)調(diào)用處理程序的地址;. 2.4) 二級派發(fā); . 2.4.1)調(diào)用初始化單元,在核心層注冊一級程序處理單元;. 2.4.2)用戶使用擴(kuò)展組名為輸入?yún)?shù)調(diào)用擴(kuò)展組號分配單元,獲取擴(kuò)展組號;. 2.4.3)以步驟2.4.2)獲取的擴(kuò)展組號、組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表表項(xiàng)數(shù)為輸入?yún)?shù)調(diào)用組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元;組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表注冊單元用于定位輸入的擴(kuò)展組號在擴(kuò)展系統(tǒng)調(diào)用組表中的表項(xiàng),然后將輸入的組內(nèi)擴(kuò)展數(shù)和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用表首地址寫入表項(xiàng)的相應(yīng)位置;. 2.4.4)用戶分區(qū)層程序以保留組號和擴(kuò)展組名為輸入?yún)?shù)調(diào)用分區(qū)層操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為保留組號,進(jìn)而在擴(kuò)展系統(tǒng)調(diào)用組表中查找擴(kuò)展組名所在表項(xiàng),并將該表項(xiàng)中保存的組內(nèi)擴(kuò)展調(diào)用數(shù)和表項(xiàng)對應(yīng)的編號作為擴(kuò)展組號返回給用戶的分區(qū)程序;. 2.4.5)使用步驟2.4.4)獲得的擴(kuò)展組號和步驟I)中組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號組織擴(kuò)展系統(tǒng)調(diào)用號,并以此為輸入?yún)?shù),調(diào)用分區(qū)操作系統(tǒng)的系統(tǒng)調(diào)用接口,分區(qū)操作系統(tǒng)派發(fā)進(jìn)入一級程序處理單元對程序執(zhí)行,一級程序處理單元識別出擴(kuò)展組號為非保留組號,進(jìn)而基于擴(kuò)展組號和組內(nèi)擴(kuò)展系統(tǒng)調(diào)用號進(jìn)行二級派發(fā),最終進(jìn)入用戶核心層處理程序執(zhí)行。
【文檔編號】G06F9/445GK104360888SQ201410719366
【公開日】2015年2月18日 申請日期:2014年11月29日 優(yōu)先權(quán)日:2014年11月29日
【發(fā)明者】張樹兵, 牟明, 崔西寧, 王寧, 韓春陽, 王婷 申請人:中國航空工業(yè)集團(tuán)公司第六三一研究所