一種基于分區操作系統的多時間調度表切換方法
【技術領域】
[0001]本發明屬于計算機軟件設計技術領域,具體涉及一種基于分區操作的多時間調度表切換方法。
【背景技術】
[0002]隨著綜合模塊化航空電子系統的發展,越來越多的航空設備開始采用更加先進的綜合模塊化航空電子系統。在綜合模塊化航空電子系統中,軟件的地位顯得原來越重要。在綜合模塊化航空電子系統的操作系統中,其提供的分區空間隔離機制使各子系統應用軟件在空間上相互隔離,其提供的分區時間隔離機制通過定義時間調度表使各子系統應用軟件在運行時序和頻率上嚴格確定,互不影響。
[0003]但這種嚴格確定的時間調度表對于部分設備來說顯得過于嚴格,例如,在初始化狀態,每個分區可能需要一定的時間來完成數據和硬件的初始化,但這個時間在正常操作時是并不需要的,用一個時間調度表同時來兼顧初始化和正常操作過程,可能會導致更長的初始化時間或者無用的時間窗口。
【發明內容】
[0004]為了解決【背景技術】中的問題,本發明提供了一種針對分區操作系統的中動態改變多個分區的運行時序及運行頻率的基于分區操作系統的多時間調度表切換方法。
[0005]本發明的技術方案:
[0006]本發明提出了一種基于分區操作系統的多時間調度表切換方法,其特征在于,包括以下步驟:
[0007]I)給分區操作系統內的多個分區定義多個時間調度表;
[0008]每個時間調度表均包括有不同的時間調度表名稱、時間調度表標識,并約定缺省激活的時間調度表標識;
[0009]2)定義多個時間調度表之間的切換時機;所述切換時機包括下一個時鐘TICK到來時切換、當前時間窗口結束時切換以及下一個主時間框架開始時切換;
[0010]3)執行多個時間調度表之間的切換;
[0011]3.1)分區操作系統執行當前時間調度表;所述當前時間調度表為缺省激活的時間調度表;
[0012]3.2)分區操作系統選取待切換的時間調度表并對切換時機是否到達進行監控;一旦檢測到切換時機到達,則對當前時間調度表與待切換的時間調度表進行切換,并將待切換的時間調度表作為新的時間調度表開始執行。
[0013]該方法還包括定義多個時間調度表切換過程中的分區的切換動作;所述分區的切換動作包括冷啟動、熱啟動、掛起以及忽略。
[0014]上述步驟3)還包括步驟3.3),所述步驟3.3):新的時間調度表開始執行時,對新的時間調度表中的分區執行分區的切換動作。
[0015]本發明的有益效果是:
[0016]1、本發明通過多時間調度表切換機制,實現了系統處于不同模態下分區調度策略可變的目的,提高了系統的靈活性。
[0017]2、本發明定義多種的時間調度表切換時機,滿足不同系統對于時間調度表的調度完整性及時間調度表切換緊迫性的需要。
[0018]3、本發明定義多種時間調度表切換動作,不同模態下時間調度表切換后,可根據需要將分區置于需要的狀態,滿足不同系統對于時間調度表切換后的確定性需求。
【附圖說明】
[0019]圖1為包含切換動作的時間調度表切換流程示意圖;
[0020]圖2為無切換動作的時間調度表切換流程示意圖;
[0021 ]圖3為下一個時鐘Tick執行時間調度表切換示意圖;
[0022]圖4為當前時間窗口結束執行時間調度表切換示意圖;
[0023]圖5為下一個主時間框架開始點執行時間調度表切換示意圖。
【具體實施方式】
[0024]下面結合附圖對本發明的方法流程進行詳細描述
[0025]步驟I)給分區操作系統內的多個分區定義多個時間調度表;
[0026]每個時間調度表均包括有不同的時間調度表名稱、時間調度表標識,并約定缺省激活的時間調度表標識;
[0027]步驟2)定義多個時間調度表之間的切換時機;;
[0028]預先定義三種時間調度表切換時機,三種時間調度表切換時機的圖示描述見圖3、圖4和圖5。
[0029]設置當前有效的切換時機為三種預定義時機之一。
[0030]切換時機包括下一個時鐘TICK到來時切換、當前時間窗口結束時切換以及下一個主時間框架開始時切換;
[0031]下一個時鐘TICK到來時切換
[0032]應用軟件請求時間調度表切換后,當操作系統的下一個時鐘TICK到來時,執行應用軟件的時間調度表切換請求。
[0033]當前時間窗口結束時切換
[0034]應用軟件請求時間調度表切換后,當操作系統正在調度的時間調度表對應的當前時間窗口時間結束時,執行應用軟件的時間調度表切換請求。
[0035]下一個主時間框架開始時切換
[0036]應用軟件請求時間調度表切換后,當操作系統真正在調度的時間調度表對應的當前主時間框架(時間調度表的一次循環)執行結束,下一個主時間框架開始時,執行應用軟件的時間調度表切換請求。
[0037]步驟3)定義調度表切換動作;
[0038]預先定義四種時間調度表切換動作,并為系統中的每個分區設置其時間調度表切換動作。系統中每個分區可以有不同的時間調度表切換動作。
[0039]時間調度表切換后,新時間調度表中可包含未啟動過的分區或已經啟動并運行的分區;對于未啟動的分區可直接進行啟動,對于已經運行的分區,可選擇相應的時間調度切換動作并在分區窗口時間開始時執行,以便在新的時間調度表執行時能夠將其中的分區置于一定的狀態。時間調度表切換動作包括:
[0040]a.冷啟動
[0041]把新時間調度表中之前已經運行的分區冷啟動,分區重新按照冷啟動流程重新初始化。
[0042]b.熱啟動
[0043]把新時間調度表中之前已經運行的分區熱啟動,分區重新按照熱啟動流程重新初始化。
[0044]c.掛起
[0045]把新時間調度表中之前已經運行的分區掛起,分區被設置為空閑狀態,在新的時間調度表中不再執行。
[0046]cL 忽略
[0047]對新時間調度表中之前已經運行的分區不執行任務動作,分區繼續上一調度表中的狀態繼續執行。
[0048]3)執行多個時間調度表之間的切換;
[0049]3.1)分區操作系統執行當前時間調度表;所述當前時間調度表為缺省激活的時間調度表;
[0050]3.2)分區操作系統選取待切換的時間調度表并對切換時機是否到達進行監控;一旦檢測到切換時機到達,則對當前時間調度表與待切換的時間調度表進行切換,并將待切換的時間調度表作為新的時間調度表開始執行;
[0051]3.3):新的時間調度表開始執行時,對新的時間調度表中的分區執行分區的切換動作。
[0052]具體來說:
[0053]時間調度表切換;
[0054]如圖1所示,應用軟件請求時間調度表切換,系統首先檢查當前正在運行的時間調度表是否是要切換的時間調度表,如果是,則此次切換無效,否則,設置時間調度表切換標志并記錄本次請求切換的時間調度表標識以及當前有效的時間調度表切換時機。
[0055]同時,根據當前有效的時間調度表切換時機,監控切換時機的到達,如果切換時間未到達,則繼續執行當前時間調度表,如果切換時機到達,則進行時間調度表切換,并開始新的時間調度表執行。
[0056]執行時間調度表切換動作;
[0057]新的時間調度表執行后,在新的時間調度表中每個時間窗口對應的分區運行前,需檢查該分區在之前的時間調度表中是否運行過,如果運行過,則執行該分區所設置的時間調度表切換動作,如果該分區在之前的時間調度表中未運行過,則不執行該分區的時間調度表切換動作,如圖2所示。
【主權項】
1.一種基于分區操作系統的多時間調度表切換方法,其特征在于,包括以下步驟: 1)給分區操作系統內的多個分區定義多個時間調度表; 每個時間調度表均包括有不同的時間調度表名稱、時間調度表標識,并約定缺省激活的時間調度表標識; 2)定義多個時間調度表之間的切換時機;所述切換時機包括下一個時鐘TICK到來時切換、當前時間窗口結束時切換以及下一個主時間框架開始時切換; 3)執行多個時間調度表之間的切換; 3.1)分區操作系統執行當前時間調度表;所述當前時間調度表為缺省激活的時間調度表; 3.2)分區操作系統選取待切換的時間調度表并對切換時機是否到達進行監控;一旦檢測到切換時機到達,則對當前時間調度表與待切換的時間調度表進行切換,并將待切換的時間調度表作為新的時間調度表開始執行。2.根據權利要求1所述的基于分區操作系統的多時間調度表切換方法,其特征在于,還包括定義多個時間調度表切換過程中的分區的切換動作;所述分區的切換動作包括冷啟動、熱啟動、掛起以及忽略。3.根據權利要求2所述的基于分區操作系統的多時間調度表切換方法,其特征在于:所述步驟3)還包括步驟3.3),所述步驟3.3):新的時間調度表開始執行時,對新的時間調度表中的分區執行分區的切換動作。
【專利摘要】本發明屬于計算機系統軟件專業技術領域,涉及分區操作系統的多時間調度表切換方法。本發明的主要步驟是為整個系統多個時間調度表;定義三種時間調度表切換時機:下一個時鐘TICK到來時切換、當前時間窗口結束時切換、下一個主時間框架開始時切換,為分區定義四種時間調度表切換動作:冷啟動、熱啟動、掛起、忽略;發起時間調度表切換請求;監控時間調度表切換時機的到來;進行時間調度表切換;為分區執行調度表切換動作。達到了分區操作系統中動態改變多個分區的運行時序及運行頻率的效果。
【IPC分類】G06F9/48
【公開號】CN105550027
【申請號】CN201510907017
【發明人】陳曉磊, 李運喜, 時磊, 仝敏, 張東, 梅濤
【申請人】中國航空工業集團公司西安航空計算技術研究所
【公開日】2016年5月4日
【申請日】2015年12月9日