一種基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法
【專利摘要】本發(fā)明屬于計(jì)算機(jī)系統(tǒng)軟件專業(yè)【技術(shù)領(lǐng)域】,涉及兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法。本發(fā)明的主要步驟是分區(qū)間的調(diào)度和分區(qū)內(nèi)進(jìn)程調(diào)度兩部分;采用兩級(jí)操作系統(tǒng)技術(shù),提供基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法,使得核心操作系統(tǒng)的分區(qū)調(diào)度與分區(qū)操作系統(tǒng)的進(jìn)程調(diào)度相互獨(dú)立,互不影響;在核心操作系統(tǒng)中提供時(shí)間表分區(qū)調(diào)度和空閑時(shí)間的優(yōu)先級(jí)分區(qū)調(diào)度,同時(shí)在分區(qū)內(nèi)提供基于優(yōu)先級(jí)搶占的時(shí)間片輪轉(zhuǎn)進(jìn)程調(diào)度,達(dá)到了運(yùn)行于綜合模塊化航空電子設(shè)備上的各子系統(tǒng)應(yīng)用軟件在時(shí)間上互不影響的目的。
【專利說明】
一種基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)軟件設(shè)計(jì)【技術(shù)領(lǐng)域】,具體涉及一種基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法。
【背景技術(shù)】
[0002]隨著綜合模塊化航空電子系統(tǒng)的發(fā)展,越來越多的航空設(shè)備開始采用更加先進(jìn)的綜合模塊化航空電子系統(tǒng)。在綜合模塊化航空電子系統(tǒng)中,軟件的地位顯得原來越重要。如何設(shè)計(jì)適應(yīng)于綜合模塊化航空電子系統(tǒng)的操作系統(tǒng),來保證運(yùn)行于綜合模塊化航空電子設(shè)備上的各子系統(tǒng)應(yīng)用軟件在時(shí)間上不相互影響,是影響其發(fā)展的重要因素之一。
[0003]傳統(tǒng)的單級(jí)操作系統(tǒng)中,各個(gè)子系統(tǒng)互相搶占處理器時(shí)間,單個(gè)子系統(tǒng)的故障會(huì)導(dǎo)致其它應(yīng)用得不到處理器時(shí)間而無法運(yùn)行,進(jìn)而導(dǎo)致故障蔓延。
【發(fā)明內(nèi)容】
[0004]為了解決【背景技術(shù)】中的問題,本發(fā)明提供了一種確保運(yùn)行于綜合模塊化航空電子設(shè)備上的各子系統(tǒng)應(yīng)用軟件在時(shí)間上互不影響從而避免了系統(tǒng)故障蔓延的的基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法。
[0005]本發(fā)明的技術(shù)方案:
[0006]一種基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法,其特征在于,包括以下步驟:
[0007]I)分區(qū)間的調(diào)度;
[0008]1.1)定義時(shí)間表;
[0009]所述時(shí)間表按照時(shí)間定義了各個(gè)分區(qū)調(diào)度的先后順序;每一分區(qū)對(duì)應(yīng)一個(gè)時(shí)間窗口并定義窗口持續(xù)時(shí)間,每一分區(qū)只能在對(duì)應(yīng)的時(shí)間窗口執(zhí)行調(diào)度;所述時(shí)間窗口的窗口持續(xù)時(shí)間包括有效時(shí)間和空閑時(shí)間;
[0010]1.2)定義分區(qū)優(yōu)先級(jí)權(quán)限;所述分區(qū)優(yōu)先級(jí)權(quán)限為各個(gè)分區(qū)搶占時(shí)間表中的空閑時(shí)間進(jìn)行調(diào)度的先后次序;
[0011]1.3)判斷時(shí)間表是否存在空閑時(shí)間,并根據(jù)時(shí)間表對(duì)各個(gè)分區(qū)進(jìn)行調(diào)度:
[0012]若定義的時(shí)間表內(nèi)不存在空閑時(shí)間,則分區(qū)調(diào)度按照時(shí)間表的順序依次進(jìn)行,直至分區(qū)調(diào)度結(jié)束;
[0013]若定義的時(shí)間表內(nèi)存在空閑時(shí)間,則分區(qū)調(diào)度進(jìn)行到空閑時(shí)間,各個(gè)分區(qū)按照分區(qū)優(yōu)先級(jí)權(quán)限對(duì)空閑時(shí)間進(jìn)行搶占調(diào)度;直至分區(qū)調(diào)度在空閑時(shí)間的調(diào)度完成后,繼續(xù)按照時(shí)間表的順序依次進(jìn)行,直至分區(qū)調(diào)度結(jié)束;
[0014]2)分區(qū)內(nèi)的進(jìn)程調(diào)度;
[0015]2.1)定義分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限;所述分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限定義了分區(qū)內(nèi)各個(gè)進(jìn)程進(jìn)行調(diào)度的先后次序;
[0016]2.2)定義時(shí)間片輪轉(zhuǎn)調(diào)度表;所述時(shí)間片輪轉(zhuǎn)調(diào)度定義了分區(qū)內(nèi)相同優(yōu)先級(jí)進(jìn)程的輪轉(zhuǎn)調(diào)度和時(shí)間片長(zhǎng)度,分區(qū)內(nèi)相同優(yōu)先級(jí)的進(jìn)程按照預(yù)定的時(shí)間片長(zhǎng)度進(jìn)行輪轉(zhuǎn)調(diào)度。
[0017]2.3)按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的運(yùn)行的進(jìn)程進(jìn)行調(diào)度;
[0018]若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限不同的情況下,則按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的進(jìn)程進(jìn)行調(diào)度,直至進(jìn)程調(diào)度結(jié)束;
[0019]若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限相同的情況下,按照時(shí)間片輪轉(zhuǎn)調(diào)度表進(jìn)行分區(qū)內(nèi)進(jìn)程調(diào)度,直至進(jìn)程調(diào)度結(jié)束。
[0020]本發(fā)明的有益效果是:
[0021]1、本發(fā)明的方法采用分區(qū)間調(diào)度和分區(qū)內(nèi)進(jìn)程調(diào)度的兩級(jí)調(diào)度方式使運(yùn)行于同一處理器的各分區(qū)在時(shí)間上不相互影響,提高系統(tǒng)的安全性;
[0022]2、本發(fā)明的方法允許空閑分區(qū)執(zhí)行分區(qū)優(yōu)先級(jí)調(diào)度,提升了處理器的利用率,提高了分區(qū)間調(diào)度的可靠性和工作效率;
[0023]3、本發(fā)明的方法定義了分區(qū)內(nèi)進(jìn)程的優(yōu)先級(jí)調(diào)度和基于時(shí)間片的輪轉(zhuǎn)調(diào)度提升了分區(qū)內(nèi)進(jìn)程調(diào)度的效率和可靠性。
【專利附圖】
【附圖說明】
[0024]圖1為本發(fā)明的工作流程框圖;
[0025]圖2為時(shí)間表的分區(qū)調(diào)度;
[0026]圖3為時(shí)間片輪轉(zhuǎn)調(diào)度下的分區(qū)內(nèi)進(jìn)程調(diào)度。
【具體實(shí)施方式】
[0027]以下結(jié)合附圖1至3對(duì)本發(fā)明的方法工作原理進(jìn)行描述:
[0028]步驟I)分區(qū)間的調(diào)度;
[0029]步驟1.1)定義時(shí)間表;
[0030]如圖2所示:時(shí)間表按照時(shí)間定義了各個(gè)分區(qū)調(diào)度的先后順序;每一分區(qū)對(duì)應(yīng)一個(gè)時(shí)間窗口并定義窗口持續(xù)時(shí)間,每一分區(qū)只能在對(duì)應(yīng)的時(shí)間窗口執(zhí)行調(diào)度;時(shí)間窗口的窗口持續(xù)時(shí)間包括有效時(shí)間和空閑時(shí)間;時(shí)間表的一個(gè)循環(huán)為一個(gè)主時(shí)間框架,當(dāng)當(dāng)前分區(qū)的時(shí)間窗口結(jié)束時(shí),核心操作系統(tǒng)將當(dāng)前分區(qū)的上下文保存,并將下一個(gè)時(shí)間窗口對(duì)應(yīng)的分區(qū)的上下文恢復(fù)。
[0031]步驟1.2)定義分區(qū)優(yōu)先級(jí)權(quán)限;分區(qū)優(yōu)先級(jí)權(quán)限為各個(gè)分區(qū)搶占時(shí)間表中的空閑時(shí)間進(jìn)行調(diào)度的先后次序;
[0032]步驟1.3)判斷分區(qū)內(nèi)是否存在空閑時(shí)間,并根據(jù)時(shí)間表對(duì)各個(gè)分區(qū)進(jìn)行調(diào)度:
[0033]如圖2所示:若時(shí)間表中存在空閑時(shí)間時(shí),則在空閑時(shí)間間隔內(nèi)對(duì)參與優(yōu)先級(jí)調(diào)度的各分區(qū)進(jìn)行優(yōu)先級(jí)搶占調(diào)度;直至分區(qū)調(diào)度在空閑時(shí)間的調(diào)度完成后,繼續(xù)按照時(shí)間表的順序依次進(jìn)行,直至分區(qū)調(diào)度結(jié)束;
[0034]若時(shí)間表中不存在空閑時(shí)間,或者沒有分區(qū)參與空閑時(shí)間優(yōu)先級(jí)搶占,則系統(tǒng)依然嚴(yán)格執(zhí)行時(shí)間表分區(qū)調(diào)度,直至分區(qū)調(diào)度結(jié)束。
[0035]步驟2)分區(qū)內(nèi)的進(jìn)程調(diào)度;
[0036]步驟2.1)定義分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限;所述分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限定義了分區(qū)內(nèi)各個(gè)進(jìn)程進(jìn)行調(diào)度的先后次序;
[0037]分區(qū)內(nèi)管理的進(jìn)程的優(yōu)先級(jí)范圍從I?63,其中I表示最低優(yōu)先級(jí)值,而63為最高優(yōu)先級(jí)。
[0038]步驟2.2)定義時(shí)間片輪轉(zhuǎn)調(diào)度;所述時(shí)間片輪轉(zhuǎn)調(diào)度定義了分區(qū)內(nèi)相同優(yōu)先級(jí)進(jìn)程的輪轉(zhuǎn)調(diào)度和時(shí)間片長(zhǎng)度。時(shí)間片長(zhǎng)度的最小值為系統(tǒng)時(shí)鐘TICK的長(zhǎng)度,理論上不設(shè)最大值。
[0039]步驟2.3)按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的運(yùn)行的進(jìn)程進(jìn)行調(diào)度;
[0040]若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限不同的情況下,則按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的進(jìn)程進(jìn)行調(diào)度,直至進(jìn)程調(diào)度結(jié)束;
[0041]如圖3所示,若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限相同的情況下,按照時(shí)間片輪轉(zhuǎn)調(diào)度進(jìn)行分區(qū)內(nèi)進(jìn)程調(diào)度,直至進(jìn)程調(diào)度結(jié)束。
【權(quán)利要求】
1.一種基于兩級(jí)操作系統(tǒng)架構(gòu)的分區(qū)調(diào)度方法,其特征在于,包括以下步驟: . 1)分區(qū)間的調(diào)度; . 1.1)定義時(shí)間表; 所述時(shí)間表按照時(shí)間定義了各個(gè)分區(qū)調(diào)度的先后順序;每一分區(qū)對(duì)應(yīng)一個(gè)時(shí)間窗口并定義窗口持續(xù)時(shí)間,每一分區(qū)只能在對(duì)應(yīng)的時(shí)間窗口執(zhí)行調(diào)度;所述時(shí)間窗口的窗口持續(xù)時(shí)間包括有效時(shí)間和空閑時(shí)間; 1.2)定義分區(qū)優(yōu)先級(jí)權(quán)限;所述分區(qū)優(yōu)先級(jí)權(quán)限為各個(gè)分區(qū)搶占時(shí)間表中的空閑時(shí)間進(jìn)行調(diào)度的先后次序; 1.3)判斷時(shí)間表是否存在空閑時(shí)間,并根據(jù)時(shí)間表對(duì)各個(gè)分區(qū)進(jìn)行調(diào)度: 若定義的時(shí)間表內(nèi)不存在空閑時(shí)間,則分區(qū)調(diào)度按照時(shí)間表的順序依次進(jìn)行,直至分區(qū)調(diào)度結(jié)束; 若定義的時(shí)間表內(nèi)存在空閑時(shí)間,則分區(qū)調(diào)度進(jìn)行到空閑時(shí)間,各個(gè)分區(qū)按照分區(qū)優(yōu)先級(jí)權(quán)限對(duì)空閑時(shí)間進(jìn)行搶占調(diào)度;直至分區(qū)調(diào)度在空閑時(shí)間的調(diào)度完成后,繼續(xù)按照時(shí)間表的順序依次進(jìn)行,直至分區(qū)調(diào)度結(jié)束; . 2)分區(qū)內(nèi)的進(jìn)程調(diào)度; . 2.1)定義分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限;所述分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限定義了分區(qū)內(nèi)各個(gè)進(jìn)程進(jìn)行調(diào)度的先后次序; .2.2)定義時(shí)間片輪轉(zhuǎn)調(diào)度表;所述時(shí)間片輪轉(zhuǎn)調(diào)度定義了分區(qū)內(nèi)相同優(yōu)先級(jí)進(jìn)程的輪轉(zhuǎn)調(diào)度和時(shí)間片長(zhǎng)度,分區(qū)內(nèi)相同優(yōu)先級(jí)的進(jìn)程按照預(yù)定的時(shí)間片長(zhǎng)度進(jìn)行輪轉(zhuǎn)調(diào)度; .2.3)按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的運(yùn)行的進(jìn)程進(jìn)行調(diào)度; 若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限不同的情況下,則按照分區(qū)內(nèi)進(jìn)程優(yōu)先級(jí)權(quán)限對(duì)分區(qū)內(nèi)的進(jìn)程進(jìn)行調(diào)度,直至進(jìn)程調(diào)度結(jié)束; 若分區(qū)內(nèi)的進(jìn)程對(duì)應(yīng)的優(yōu)先級(jí)權(quán)限相同的情況下,按照時(shí)間片輪轉(zhuǎn)調(diào)度表進(jìn)行分區(qū)內(nèi)進(jìn)程調(diào)度,直至進(jìn)程調(diào)度結(jié)束。
【文檔編號(hào)】G06F9/48GK104375893SQ201410714158
【公開日】2015年2月25日 申請(qǐng)日期:2014年11月29日 優(yōu)先權(quán)日:2014年11月29日
【發(fā)明者】陳曉磊, 韓煒, 葉宏, 李運(yùn)喜, 時(shí)磊, 張東 申請(qǐng)人:中國(guó)航空工業(yè)集團(tuán)公司第六三一研究所