專利名稱:?jiǎn)翁幚砥?級(jí)電子飛行包的制作方法
單處理器3級(jí)電子飛行包相關(guān)申請(qǐng)的交叉引用本申請(qǐng)要求于2010年2月23日提交的美國(guó)臨時(shí)申請(qǐng)61/307,012的利益并且通過(guò)結(jié)合引用在此。
背景技術(shù):
本發(fā)明涉及在飛機(jī)中提供輔助計(jì)算機(jī)功能的電子飛行包(EFB),并且具體地涉及 永久安裝在飛機(jī)上并適合同時(shí)托管并執(zhí)行A級(jí)、B級(jí)以及C級(jí)應(yīng)用的3級(jí)EFB。EFB是設(shè)計(jì)為使機(jī)組人員更簡(jiǎn)單、更有效并使用更少的紙張來(lái)執(zhí)行飛行管理任務(wù)的計(jì)算機(jī)系統(tǒng)。EFB的通常的計(jì)算平臺(tái)g在減少或代替紙質(zhì)參考資料如飛機(jī)操作手冊(cè)、導(dǎo)航圖及其他傳統(tǒng)上需要的被機(jī)組人員帶上飛機(jī)的在飛行員的手提飛行包中的物品。在美國(guó),EFB設(shè)備由聯(lián)邦航空管理局(FAA)依照咨詢通告(AC) 120-76A來(lái)控制,并且在歐洲,由歐洲航空安全局(EASA)依照臨時(shí)指導(dǎo)單頁(yè)(TGL) 36來(lái)控制,以上內(nèi)容通過(guò)結(jié)合引用在此。在許多情況中,已開發(fā)了被設(shè)計(jì)為提供g在代替紙質(zhì)參考的數(shù)據(jù)并電子地將其顯示在EFB上的應(yīng)用程序,用干與商用現(xiàn)貨(COTS)操作系統(tǒng)(OSes)及軟件組件一起使用,例如具有.NET框架組件的微軟Windows OS。這些應(yīng)用的實(shí)例是用于顯示手冊(cè)及參考文件的文件閱讀器、終端圖表瀏覽器及電子記錄應(yīng)用。隨著EFB的成熟及流行,在駕駛員座艙中的具有顯示器的附加計(jì)算機(jī)系統(tǒng)的可用性被充分發(fā)揮,以提供與主飛行顯示器系統(tǒng)及多功能顯示器傳統(tǒng)上相關(guān)聯(lián)的附加功能性。這些內(nèi)容包括顯示與飛機(jī)的當(dāng)前狀態(tài)(包括位置、方向及飛行計(jì)劃)相關(guān)的航空電子設(shè)備數(shù)據(jù)。除了 EFB的傳統(tǒng)功能之外,這些附加的功能被分為三類應(yīng)用A級(jí)、B級(jí)及C級(jí)。A級(jí)應(yīng)用包括傳統(tǒng)呈現(xiàn)在紙件格式上的預(yù)先構(gòu)成的數(shù)據(jù)的固定展現(xiàn)(電子飛行員手冊(cè)、參考文件、設(shè)備清單及維護(hù)手冊(cè))。B級(jí)應(yīng)用包括可操縱動(dòng)態(tài)數(shù)據(jù)及展現(xiàn)(終端圖表、性能計(jì)算、機(jī)艙視頻)的交互式應(yīng)用。C級(jí)應(yīng)用包括典型地與主飛行顯示器相關(guān)聯(lián)的項(xiàng)目,并且會(huì)影響飛行安全及機(jī)組人員工作量。C級(jí)應(yīng)用的一個(gè)實(shí)例為顯示本機(jī)位置的交互式移動(dòng)地圖或者與為跟蹤過(guò)程或合并與分割(M&S)提供指導(dǎo)的廣播式自動(dòng)相關(guān)監(jiān)視(ADS-B)處理器交互的應(yīng)用,以上內(nèi)容通過(guò)結(jié)合引用在此。每個(gè)AC-120-76A,C級(jí)應(yīng)用需要通過(guò)其失敗對(duì)機(jī)組人員安全及工作量的影響所決定的嚴(yán)密性的飛機(jī)認(rèn)證服務(wù)(AIR)設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)。航空無(wú)線電技術(shù)委員會(huì)(RTCA)公布了D0-178B “機(jī)載系統(tǒng)中的軟件設(shè)計(jì)考慮及設(shè)備認(rèn)證”,這是FAA接受的為獲取在航空電子設(shè)備中使用的軟件的設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的指導(dǎo)。RTCA有限公司是一家在美國(guó)華盛頓DC的私營(yíng)的非盈利性公司。D0-178B是獲取FAA設(shè)計(jì)保證批準(zhǔn)的ー種手段,但并不是唯一手段。每個(gè)AC120-76A,物理EFB硬件基于安裝及用途被分為三級(jí)之一。這些級(jí)是I級(jí)、2級(jí)及3級(jí)。I級(jí)的EFB通常是便攜式的并且不能附裝到飛機(jī)上的基于COTS的系統(tǒng)(如便攜式電腦或平板電腦)。2級(jí)的EFB通常也是基于COTS的系統(tǒng)并且是便攜式的,但是在正常運(yùn)行中被連接到飛機(jī)上。3級(jí)的EFB是安裝的航空電子設(shè)備,并且與I級(jí)及2級(jí)的EFB不同的是其需要滿足依照其在飛機(jī)上的預(yù)期功能的管理要求。RTCA有限公司公布了 D0-160F “機(jī)載設(shè)備的環(huán)境條件及測(cè)試過(guò)程”,這是ー個(gè)FAA批準(zhǔn)接受的為獲取在航空電子設(shè)備中使用的硬件的AIR批準(zhǔn)的指導(dǎo),以上內(nèi)容通過(guò)結(jié)合引用在此。A級(jí)和/或B級(jí)(此后為A/B級(jí))應(yīng)用可被托管在任何級(jí)的EFB上,并且不需要設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)。然而,C級(jí)應(yīng)用不需要設(shè)計(jì)經(jīng)過(guò)批準(zhǔn),并且只可托管在3級(jí)的EFB上,除了在應(yīng)用具有技術(shù)標(biāo)準(zhǔn)規(guī)定(TSO)并且其他托管在I級(jí)或2級(jí)的EFB上的應(yīng)用具有較小的或不具有安全性影響及不干擾具有TSO的C級(jí)應(yīng)用的那些情況下。當(dāng)在一個(gè)單個(gè)3級(jí)的EFB上托管A/B級(jí)應(yīng)用及C級(jí)應(yīng)用吋,重要的是將設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的C級(jí)應(yīng)用及飛機(jī)接ロ從A/B級(jí)應(yīng)用相隔離,從而使得不存在對(duì)飛機(jī)上的連接到或托
管在EFB上的任何挑剔安全性的組件或軟件的來(lái)自A/B級(jí)應(yīng)用的反效果或干擾。當(dāng)前用于隔離設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的軟件并保護(hù)連接到EFB上的飛機(jī)組件的ー種方法是在一個(gè)單ー的EFB中使用兩個(gè)單獨(dú)處理器,ー個(gè)處理器托管ー個(gè)如基于Linux用戶的操作系統(tǒng)及C級(jí)應(yīng)用的設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng),而另ー個(gè)處理器托管ー個(gè)COTS操作系統(tǒng),如美國(guó)華盛頓的微軟公司制造的Window過(guò)操作系統(tǒng)。連接這兩個(gè)處理器的電路通過(guò)該設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)提供對(duì)COTS操作系統(tǒng)的硬件控制,允許其控制、監(jiān)測(cè)及限制其運(yùn)行以保護(hù)連接到該EFB上的飛機(jī)接ロ。由這兩個(gè)単獨(dú)的處理器提供的物理隔離提供了 C級(jí)應(yīng)用從A/B級(jí)應(yīng)用的充分隔離。
發(fā)明內(nèi)容
本發(fā)明提供了一種可在ー個(gè)單處理器上執(zhí)行A/B級(jí)及C級(jí)應(yīng)用的3級(jí)EFB (電子飛行包),由此提供了在重量、功耗、及成本上的實(shí)質(zhì)性的節(jié)約。通過(guò)識(shí)別A/B級(jí)應(yīng)用可能干擾C級(jí)應(yīng)用執(zhí)行的ー組機(jī)制,本發(fā)明人已通過(guò)對(duì)限制對(duì)存儲(chǔ)器、進(jìn)程、及顯示器資源的訪問(wèn)的操作系統(tǒng)的修改實(shí)現(xiàn)了硬件隔離的效果。這些修改允許具有與多處理器系統(tǒng)等效的隔離的單處理器架構(gòu)。確切地,本發(fā)明提供了ー種3級(jí)電子飛行包,該電子飛行包具有包括至少ー個(gè)核的一個(gè)單處理器及與該處理器通信并保持一個(gè)操作系統(tǒng)的電子存儲(chǔ)系統(tǒng)。該電子飛行包提供了與飛機(jī)數(shù)據(jù)網(wǎng)絡(luò)通信的一個(gè)網(wǎng)絡(luò)接ロ,以連接到包括導(dǎo)航系統(tǒng)及與該處理器通信的顯示器的其他飛機(jī)設(shè)備上。根據(jù)由該操作系統(tǒng)強(qiáng)制執(zhí)行的預(yù)定規(guī)則,在該電子存儲(chǔ)系統(tǒng)中的A/B級(jí)應(yīng)用對(duì)該電子存儲(chǔ)器、顯示器、及處理器的訪問(wèn)被限制,從而阻塞A/B級(jí)應(yīng)用的執(zhí)行與C級(jí)應(yīng)用的執(zhí)行所造成的潛在干擾。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是提供執(zhí)行在一個(gè)單處理器上的重要的和不重要的應(yīng)用之間的分離,而不需要単獨(dú)的處理器。該操作系統(tǒng)可限制用于通信的套接字緩沖區(qū)的總大小,例如,通過(guò)將套接字緩沖區(qū)的總大小限制為ー個(gè)預(yù)定的每套接字最大數(shù)據(jù)分配以及將總套接字?jǐn)?shù)量限制為ー個(gè)預(yù)定的最大套接字?jǐn)?shù)量。如通常在本領(lǐng)域所理解,套接字緩沖區(qū)是在計(jì)算機(jī)存儲(chǔ)器中的用于計(jì)算機(jī)執(zhí)行的進(jìn)程之間的通信的存儲(chǔ)區(qū)域。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止A/B級(jí)應(yīng)用的過(guò)量套接字緩沖區(qū)分配(這樣的緩沖區(qū)典型地在操作系統(tǒng)的存儲(chǔ)空間中)干擾操作系統(tǒng)運(yùn)行。操作系統(tǒng)可禁止網(wǎng)絡(luò)廣播式消息。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是保證消息是處于可被監(jiān)測(cè)以防止電子欺騙的定義的特定端點(diǎn)之間。電子存儲(chǔ)系統(tǒng)可包括非易失性數(shù)據(jù)存儲(chǔ)并且每個(gè)應(yīng)用程序可被分配到ー個(gè)具有讀及執(zhí)行但無(wú)寫權(quán)限的ー個(gè)分區(qū)。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止A/B級(jí)應(yīng)用通過(guò)磁盤覆蓋改變C級(jí)應(yīng)用使用的數(shù)據(jù)。易失性數(shù)據(jù)存儲(chǔ)的保留可被限制在每個(gè)應(yīng)用的一個(gè)預(yù)定的最大存儲(chǔ)量上。只有在所有的C級(jí)應(yīng)用已保留了易失性數(shù)據(jù)存儲(chǔ)后,每個(gè)A/B級(jí)應(yīng)用才能保留易失性數(shù)據(jù)存儲(chǔ)。進(jìn)ー步地,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止A/B級(jí)應(yīng)用使用的過(guò)量易失性存儲(chǔ)器通過(guò)拒絕易失性存儲(chǔ)器到C級(jí)應(yīng)用而干擾C級(jí)應(yīng)用。易失性數(shù)據(jù)存儲(chǔ)的保留可被限制在所有應(yīng)用的ー個(gè)預(yù)定的總最大存儲(chǔ)量上。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止由易失性存儲(chǔ)器的過(guò)分配導(dǎo)致的系統(tǒng)不穩(wěn)定性。該操作系統(tǒng)可通過(guò)將寄存器加載到控制訪問(wèn)該易失性數(shù)據(jù)存儲(chǔ)的一個(gè)存儲(chǔ)管理単元中來(lái)強(qiáng)制實(shí)施該預(yù)定的總最大值及ー個(gè)預(yù)定的每應(yīng)用最大值。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是采用ー個(gè)存儲(chǔ)管理単元以通過(guò)A/B級(jí)應(yīng)用的運(yùn)行來(lái)強(qiáng)制執(zhí)行抗損壞的存儲(chǔ)器分區(qū)。訪問(wèn)該存儲(chǔ)管理單元設(shè)置可限制在該操作系統(tǒng)中。操作系統(tǒng)可為了應(yīng)用程序的不同進(jìn)程的執(zhí)行來(lái)控制單處理器的調(diào)度并且為每個(gè)應(yīng)用程序提供ー個(gè)有限的最大調(diào)度百分比。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是通過(guò)A/B級(jí)應(yīng)用的執(zhí)行來(lái)采用ー個(gè)抗全侵占的進(jìn)程調(diào)度算法。這些應(yīng)用的不同進(jìn)程為該單處理器排隊(duì),從而使得C級(jí)應(yīng)用的進(jìn)程在該隊(duì)列中被給予優(yōu)先權(quán)。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是保證C級(jí)應(yīng)用運(yùn)行在應(yīng)用的混合環(huán)境中。相對(duì)于當(dāng)這些進(jìn)程歷史上沒(méi)有使用它們?nèi)康恼{(diào)度百分比時(shí),當(dāng)它們歷史上使用它們?nèi)康恼{(diào)度百分比吋,這些進(jìn)程在該隊(duì)列中被較低地放置。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是通過(guò)ー個(gè)特定的應(yīng)用防止該單處理器的壟斷。該電子飛行包可進(jìn)ー步包括具有多個(gè)配置寄存器的外圍設(shè)備,并且該第一操作系統(tǒng)可以阻塞A/B級(jí)應(yīng)用到這些寄存器的訪問(wèn)。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是通過(guò)A/B級(jí)應(yīng)用防止外圍設(shè)備運(yùn)行的損壞。該電子飛行包可進(jìn)ー步包括ー個(gè)提供與該單處理器通信的顯示器系統(tǒng),從而為該顯示器提供數(shù)據(jù),該操作系統(tǒng)為至少ー個(gè)C級(jí)及ー個(gè)A/B級(jí)應(yīng)用中的每ー個(gè)管理一個(gè)單獨(dú)的緩沖區(qū)并在這些緩沖區(qū)中通過(guò)操作系統(tǒng)控制進(jìn)行選擇,從而使得該A/B級(jí)應(yīng)用不會(huì)覆蓋該C級(jí)應(yīng)用的緩沖區(qū)的數(shù)據(jù)。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止A/B級(jí)應(yīng)用通過(guò)如果使用ー個(gè)單個(gè)緩沖區(qū)時(shí)可發(fā)生的覆蓋輸出而不可逆地?fù)p害從C級(jí)應(yīng)用輸出的臨界圖。
這些單獨(dú)的緩沖區(qū)可處于由不同應(yīng)用唯一可寫的存儲(chǔ)位置。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是防止視頻緩沖區(qū)超限防止通過(guò)C級(jí)應(yīng)用的圖形數(shù)據(jù)的輸出。該操作系統(tǒng)可進(jìn)一步在該單處理器上執(zhí)行從而為該顯示器提供數(shù)據(jù)。該操作系統(tǒng)可隨后管理一個(gè)應(yīng)用的從ー個(gè)應(yīng)用接收標(biāo)準(zhǔn)顯示數(shù)據(jù)的視頻緩沖區(qū),以及ー個(gè)從C級(jí)應(yīng)用接收更高優(yōu)先級(jí)顯示數(shù)據(jù)的疊加視頻緩沖區(qū),并且可組合這些緩沖區(qū)的內(nèi)容,從而使得在顯示時(shí),該應(yīng)用緩沖區(qū)不能從該疊加緩沖區(qū)封閉數(shù)據(jù)。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是保證臨界圖不被不知何故保持焦點(diǎn)的A級(jí)/B應(yīng)用(或C級(jí)應(yīng)用)所封閉。這些緩沖區(qū)可被劃分為多個(gè)功能區(qū)域,并且該顯示器系統(tǒng)可取決于該顯示器的指 示方位為不同的功能區(qū)域不同地在該顯示器上重新安排緩沖區(qū)位置與空間位置之間的關(guān)系O因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是取決于顯示器的定向提供對(duì)該顯示器的復(fù)雜的重新格式化,而不需要分別對(duì)兩個(gè)不同的顯示格式編程。該電子存儲(chǔ)系統(tǒng)還可保持ー個(gè)第二操作系統(tǒng),并且該A/B級(jí)應(yīng)用可被該第二操作系統(tǒng)通過(guò)該操作系統(tǒng)實(shí)現(xiàn)的虛擬化而執(zhí)行。例如,該第一操作系統(tǒng)可以是ー個(gè)授權(quán)的開源操作系統(tǒng),而該第二操作系統(tǒng)可以是ー個(gè)專利的操作系統(tǒng),如Windows 。因此,本發(fā)明的至少ー個(gè)實(shí)施方案的特征是在沒(méi)有危及有待用于設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的應(yīng)用的電子飛行包的能力時(shí),允許A/B級(jí)應(yīng)用的使用只可執(zhí)行在ー個(gè)不可被設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的專利的操作系統(tǒng)上。操作系統(tǒng)的分離及虛擬化將專利的操作系統(tǒng)劃分,從而使得包含不正確的行為。這些具體的目的及優(yōu)勢(shì)可僅應(yīng)用到落在權(quán)利要求書范圍內(nèi)的一些實(shí)施方案中,并且因此不限定本發(fā)明的范圍。
圖I是使用単獨(dú)的處理器以隔離應(yīng)用的現(xiàn)有技術(shù)EFB的硬件方框圖;圖2是示出了使用依照本發(fā)明的單處理器的EFB的與圖I相似的硬件方框圖;圖3是圖2中的EFB的功能方框圖,示出了存儲(chǔ)系統(tǒng)與單處理器之間的通信;圖4是示出了圖2及圖3的EFB的加載和發(fā)射的流程圖;圖5是可在圖2及圖3中的EFB上執(zhí)行的用于加載及發(fā)射的應(yīng)用的配置文件及配置表的表不;圖6是圖2中的存儲(chǔ)器的詳細(xì)表示,示出了各數(shù)據(jù)結(jié)構(gòu)及文件的分配;圖7是不同執(zhí)行應(yīng)用使用的由一個(gè)圖形組合器相組合從而為電子飛行包提供一個(gè)顯示器的多視頻緩沖區(qū)的表示;圖8是支持兩個(gè)顯示器定向的具有單個(gè)ニ進(jìn)制應(yīng)用的應(yīng)用模板的表示;圖9是本發(fā)明中使用的為將應(yīng)用進(jìn)程排隊(duì)的處理器調(diào)度系統(tǒng)的簡(jiǎn)化圖;圖10是非易失性磁盤存儲(chǔ)器的表示,示出了其的ー個(gè)分區(qū)表;以及圖11是可由本發(fā)明實(shí)現(xiàn)的虛擬化的圖。
具體實(shí)施例方式現(xiàn)參見圖1,用于飛機(jī)12的現(xiàn)有技術(shù)EFB 10可包括分別與ー個(gè)第一及第ニ存儲(chǔ)器15及17通信的ー個(gè)第一處理器14以及ー個(gè)第二處理器16。第一處理器14可被用于托管在該第一存儲(chǔ)器15中保持的ー個(gè)第一軟件應(yīng)用18,該第一軟件應(yīng)用可以是例如ー個(gè)C級(jí)軟件應(yīng)用。第二處理器16可被用于托管在該第二存儲(chǔ)器17中保持的ー個(gè)第二軟件應(yīng)用20,該第二軟件應(yīng)用可以是例如ー個(gè)A/B級(jí)軟件應(yīng)用。存儲(chǔ)器15及17可包括多個(gè)硬盤驅(qū)動(dòng)單元及閃存,以提供非易失性存儲(chǔ)器的若干形式。處理器14及16可共享具有一個(gè)單ー液晶顯示器(IXD)設(shè)備26的ー個(gè)共同的顯示単元22。每個(gè)處理器14及16可與其自身的視頻控制器24及25通信。第一處理器14可與主視頻控制器24通信,并且第二處理器16可與次級(jí)視頻控制器25通信。這兩個(gè)視頻控制器24及25可通過(guò)作為ー個(gè)視頻轉(zhuǎn)換系統(tǒng)30的一個(gè)現(xiàn)場(chǎng)可編程序門陣列(FPGA)系統(tǒng)與IXD設(shè)備26通信。FPGA轉(zhuǎn)換系統(tǒng)30可處于ー個(gè)單處理器的控制下,例如,第一處理器14 可具有ー個(gè)將其連接到轉(zhuǎn)換系統(tǒng)30的主設(shè)備總線35,從而使得它可以控制14或16中的哪ー個(gè)在視頻接ロ 31上處于傳送中。當(dāng)需要顯示更重要的航班或飛機(jī)相關(guān)信息而顯示單元22正被使用以顯示由在第二處理器16上運(yùn)行的第二軟件應(yīng)用20提供的不太重要的信息時(shí),可以形成這種條件。轉(zhuǎn)換系統(tǒng)30可與LCD 26通過(guò)ー個(gè)顯示接ロ 31通信,該顯示接ロ為IXD顯示器26的驅(qū)動(dòng)電路27提供信號(hào)并從多個(gè)按鈕或ー個(gè)IXD觸摸屏42接收信號(hào)。ー個(gè)外部鍵盤36可連接到顯示接ロ 31上。處理器14及16還可與一個(gè)標(biāo)準(zhǔn)以太網(wǎng)(未示出)通信,從而與如飛機(jī)照相機(jī)及被本領(lǐng)域所理解的類似設(shè)備的其他設(shè)備通信。每個(gè)處理器14及16還可與其自身的輸入接ロ 29通信,該輸入接ロ從按鈕及IXD觸摸屏42或外部鍵盤36接收信號(hào)。再次參見圖1,由于相關(guān)安全性的擔(dān)憂,限制飛機(jī)12的其他航空電子設(shè)備對(duì)航空電子設(shè)備接ロ 43的訪問(wèn)及可見性有可能是必需的。ー個(gè)I/O卡34提供對(duì)航空電子設(shè)備接ロ 43的訪問(wèn),從而使得EFB 10可以與安裝在飛機(jī)12上的其他設(shè)備交互。I/O卡34可包括一個(gè)微控制器,該微控制器包含嵌入式軟件、支持電路及被設(shè)計(jì)為連接ー種本領(lǐng)域所知的類型的航空電子設(shè)備接ロ 43的電路。允許第一處理器14對(duì)I/O卡34進(jìn)行初始化及配置,使第一處理器14能夠限制第二處理器16對(duì)航空電子設(shè)備接ロ 43的訪問(wèn)。這種能力允許EFB 10滿足必需的安全性標(biāo)準(zhǔn)。在某些情況下,或者由于第二處理器16的故障,或者由于軟件20的軟件故障,第一處理器14使第二處理器16無(wú)效或重置可能是必要的??赡艽嬖趶牡谝惶幚砥?4到第ニ處理器16的一個(gè)重置信號(hào)33,該重置信號(hào)允許第一處理器14使第二處理器16無(wú)效或重置。這保證了第一處理器14具有對(duì)顯示単元22的完全控制(通過(guò)轉(zhuǎn)換系統(tǒng)30),第二處理器16也同樣。這消除了對(duì)第二應(yīng)用滿足嚴(yán)格的FAA標(biāo)準(zhǔn)的昂貴的認(rèn)證的需要,該嚴(yán)格的FAA標(biāo)準(zhǔn)控制在商用飛機(jī)12中的ー個(gè)3級(jí)EFB上的軟件應(yīng)用的使用。這樣,第二軟件應(yīng)用20可代表ー個(gè)商用的、現(xiàn)成的軟件應(yīng)用。即使第二軟件應(yīng)用20被提供為ー個(gè)定制的軟件應(yīng)用,由于消除了 C級(jí)應(yīng)用需要的昂貴并嚴(yán)格的認(rèn)證,仍然存在一個(gè)明顯的優(yōu)勢(shì)。這是因?yàn)榈谝惶幚砥?4配備有完全奪取顯示単元22的控制的能力,并且如可能被需要的,第二處理器16顯示重要的信息,或需要ー個(gè)直接的操作符響應(yīng)?,F(xiàn)參見圖2,本發(fā)明提供了ー種EFB 10’,其中雙處理器系統(tǒng)及用于提供一個(gè)處理器優(yōu)于另一個(gè)處理器的優(yōu)勢(shì)的硬件開關(guān)的復(fù)雜性可由ー個(gè)單處理器50避免。該單處理器50使用一個(gè)特別修改的操作系統(tǒng)54 (將會(huì)在下文描述)執(zhí)行保持在存儲(chǔ)器15中的多應(yīng)用程序52 (A級(jí)、B級(jí)或C級(jí)應(yīng)用)。該特別修改的操作系統(tǒng)54控制托管在EFB 10’上的所有其他軟件的執(zhí)行。ー個(gè)與EFB 10的內(nèi)部操作相關(guān)的主菜單程序53還可以被保持在存儲(chǔ)器15中并由單處理器50執(zhí)行。為了描述清楚,如在此使用的“操作系統(tǒng)”將會(huì)被考慮與附加的根服務(wù)、驅(qū)動(dòng)器及通常由多應(yīng)用使用并且對(duì)于應(yīng)用程序的執(zhí)行而言是必須的的其他軟件聯(lián)合覆蓋操作系統(tǒng)內(nèi)核。在此架構(gòu)中,處理器50可與一個(gè)接ロ 34通信,而不需要ー個(gè)轉(zhuǎn)換系統(tǒng),并且接ロ34可通過(guò)ー個(gè)設(shè)備總線35與各種輸入設(shè)備36及42連接,與那些以前描述的相似。接ロ 34還可通過(guò)航空電子設(shè)備接ロ 43連接到多個(gè)航空電子設(shè)備系統(tǒng),包括一個(gè)導(dǎo)航単元。處理器50還可以通過(guò)接ロ 34與一個(gè)視頻控制器24通信,該視頻控制器具有ー個(gè)盡可能小的單圖形處理器及到顯示單元22的數(shù)據(jù)。處理器50還可以也通過(guò)接ロ 34與輸入接ロ 29通信,該輸入接ロ從按鈕及觸摸屏42以及外部鍵盤36接收信號(hào)。
現(xiàn)參見圖3,處理器50可以是例如具有多個(gè)核56的一個(gè)處理器,例如每個(gè)核都具有ー個(gè)LI高速緩沖存儲(chǔ)器58并共享ー個(gè)L2高速緩沖存儲(chǔ)器60。L2高速緩沖存儲(chǔ)器60可通過(guò)ー個(gè)或多個(gè)內(nèi)部總線與隨機(jī)訪問(wèn)易失性存儲(chǔ)器64及非易失性存儲(chǔ)器66相連接,例如后者邏輯上地作為ー個(gè)“磁盤”驅(qū)動(dòng),例如可由閃存實(shí)現(xiàn),這兩者都是存儲(chǔ)器系統(tǒng)62的一部分。對(duì)易失性存儲(chǔ)器64的訪問(wèn)可通過(guò)ー個(gè)存儲(chǔ)管理単元68進(jìn)行,而對(duì)非易失性存儲(chǔ)器66的訪問(wèn)可通過(guò)ー個(gè)磁盤控制器70進(jìn)行,該磁盤控制器的類型被本領(lǐng)域所熟知?,F(xiàn)參見圖4,處理器50可在毎次使用飛機(jī)中的EFB 10’的期間之前及之中執(zhí)行ー個(gè)加載進(jìn)程76,該加載進(jìn)程76用于安裝及配置所希望的應(yīng)用程序。在第一歩,如由進(jìn)程塊80所指示,加載進(jìn)程76啟動(dòng)ー個(gè)加載程序。對(duì)每個(gè)進(jìn)程塊82,加載程序檢查有待與和應(yīng)用程序52相關(guān)聯(lián)的配置文件84 (作為清單文件的一部分)一起使用在電子飛行包10’上的所識(shí)別的應(yīng)用程序52,并將應(yīng)用程序52識(shí)別為如這將會(huì)影響它們?cè)诖疟P分區(qū)中的布局的應(yīng)用。暫時(shí)參見圖3及5,配置文件84可具有每個(gè)應(yīng)用程序52的入口 86,這些入口鏈接到針對(duì)那個(gè)應(yīng)用的應(yīng)用程序可執(zhí)行文件88。每個(gè)配置文件84的入口 86通常將提供ー個(gè)識(shí)別可執(zhí)行文件88及其進(jìn)程(例如具有ー個(gè)組標(biāo)識(shí)符)及應(yīng)用類型92 (例如,A級(jí)、B級(jí)、或C級(jí))的應(yīng)用標(biāo)識(shí)符90,并且將為應(yīng)用96指示有待保留的存儲(chǔ)量。來(lái)自配置文件84的信息將會(huì)在發(fā)射操作系統(tǒng)54時(shí)被添加到為應(yīng)用程序52開發(fā)的配置表94中。配置表94將添加有待在下文描述的附加信息,該附加信息包括定義ー個(gè)權(quán)限組的存儲(chǔ)管理単元存儲(chǔ)分配信息98、與每個(gè)應(yīng)用程序52相關(guān)聯(lián)的視頻緩沖區(qū)信息102,如將會(huì)在下文所討論。再次參見圖4及10,使用在進(jìn)程塊82、進(jìn)程塊106得到的信息,應(yīng)用程序52在非易失性存儲(chǔ)器66中被安裝到先前準(zhǔn)備的分區(qū)99中。分區(qū)進(jìn)程分配了単獨(dú)的磁盤分區(qū)99a-d,這些分區(qū)包括ー個(gè)保持用于這些應(yīng)用程序(并且同樣用于操作系統(tǒng))的可執(zhí)行文件的第一磁盤分區(qū)99a,該第一磁盤分區(qū)僅提供包含在這個(gè)分區(qū)中的對(duì)這些文件的讀訪問(wèn)及執(zhí)行而沒(méi)有寫訪問(wèn)。ー個(gè)第二分區(qū)99b提供讀/寫訪問(wèn)但不提供執(zhí)行,并且由應(yīng)用程序用于臨時(shí)文件和記錄上。ー個(gè)第三分區(qū)99c提供包含在此分區(qū)中的文件的只讀訪問(wèn)但不提供執(zhí)行,并且可被用于應(yīng)用之間共享的數(shù)據(jù)庫(kù)。該第四分區(qū)99d保持可用的但還未安裝的程序,并且不可執(zhí)行的但是僅僅是對(duì)于操作系統(tǒng)而言是讀寫。通過(guò)將這些應(yīng)用放置在第一磁盤分區(qū)99,任何錯(cuò)誤應(yīng)用不會(huì)覆蓋其他應(yīng)用的磁盤文件。每個(gè)分區(qū)99都在ー個(gè)分區(qū)表110中被描述,如通常由ー個(gè)分區(qū)表110中的一行所指示的。如被本領(lǐng)域所理解,ー個(gè)分區(qū)99將包括其自身的文件系統(tǒng)112 (在磁盤上將邏輯地址映射到物理地址)及映射到一個(gè)預(yù)定及有限的物理地址范圍116的其自身的存儲(chǔ)區(qū)域114,如在磁盤媒介中的操作系統(tǒng)及信息編碼所實(shí)現(xiàn)。分區(qū)表110可為每個(gè)分區(qū)提供一個(gè)邏輯標(biāo)識(shí)符(在此指代為a、b、c、d),為文件系統(tǒng)112提供物理地址信息120,以及指示應(yīng)用程序52具有對(duì)該特定分區(qū)的讀或?qū)憴?quán)限的數(shù)據(jù)訪問(wèn)權(quán)限122。為實(shí)現(xiàn)訪問(wèn)權(quán)限的其他分區(qū)方法也被本發(fā)明所考慮。通常,每個(gè)應(yīng)用程序52將會(huì)被加載到在分區(qū)99a中的其自身唯一的文件夾中,并且被提供了ー個(gè)防止其看見文件系統(tǒng)112的與其他目錄相關(guān)聯(lián)的分區(qū)的“根監(jiān)獄(rootjail) ”。使用如本領(lǐng)域所知的類型的“回環(huán)裝置”以允許給定的應(yīng)用程序只訪問(wèn)分區(qū)99b及99c的合適的部分。通過(guò)限制對(duì)磁盤控制器硬件配置寄存器的訪問(wèn)和/或限制可用的操作系統(tǒng)對(duì)應(yīng)用程序的調(diào)用,磁盤控制器硬件可提供對(duì)這些分區(qū)的魯棒的強(qiáng)制執(zhí)行,該強(qiáng)制執(zhí)行防止可能的錯(cuò)誤的應(yīng)用行為,在該錯(cuò)誤的應(yīng)用行為中ー個(gè)應(yīng)用覆蓋ー個(gè)第二應(yīng)用或其數(shù)據(jù)。 再次參見圖4,在至少完成一次加載程序76后,處理器50可執(zhí)行ー個(gè)在進(jìn)程塊132開始的發(fā)射進(jìn)程126。該發(fā)射進(jìn)程126通過(guò)操作系統(tǒng)54實(shí)現(xiàn),并且將各應(yīng)用程序52移動(dòng)到易失性存儲(chǔ)器64中從而執(zhí)行。該發(fā)射進(jìn)程再次由配置表94控制,并且具體地,通過(guò)將每個(gè)應(yīng)用程序識(shí)別為A級(jí)、B級(jí)、或C級(jí)來(lái)控制。在一個(gè)優(yōu)選實(shí)施方案中,在每個(gè)由進(jìn)程塊134及136綁定的環(huán)中,發(fā)射進(jìn)程以C級(jí)應(yīng)用開始,并且只有在所有C級(jí)應(yīng)用都被發(fā)射后才發(fā)射A級(jí)及B級(jí)應(yīng)用。還參見圖6,在該發(fā)射進(jìn)程的前幾步,保持操作系統(tǒng)54的可執(zhí)行文件及各應(yīng)用程序52的易失性存儲(chǔ)器被操作系統(tǒng)54所保留。該保留可由一個(gè)存儲(chǔ)管理単元68 (如圖I中所示)強(qiáng)制執(zhí)行,其方式是通過(guò)加載存儲(chǔ)管理単元68的控制寄存器及數(shù)據(jù)來(lái)控制易失性存儲(chǔ)器64的邏輯地址到物理地址的映射,與操作系統(tǒng)一起控制對(duì)每個(gè)應(yīng)用程序52使用的隨機(jī)訪問(wèn)存儲(chǔ)器64的每個(gè)地址范圍的訪問(wèn)(根據(jù)為每個(gè)應(yīng)用程序的進(jìn)程所分配的組)。這些控制寄存器可具有映射到ー個(gè)寄存器存儲(chǔ)空間65的邏輯地址存儲(chǔ)器,并且對(duì)存儲(chǔ)管理單元68的這些控制寄存器的訪問(wèn)可由此通過(guò)存儲(chǔ)管理単元68自身被限制在操作系統(tǒng)54中。在發(fā)射進(jìn)程126的前幾步之前,ー個(gè)第一地址范圍138將會(huì)已經(jīng)被分配給操作系統(tǒng)54,從而保持該操作系統(tǒng)可執(zhí)行、其數(shù)據(jù)存儲(chǔ)器140、及為套接字緩沖區(qū)142所保留的存儲(chǔ)器。數(shù)據(jù)的該第一地址范圍138的寫權(quán)限僅提供給操作系統(tǒng)54,如被操作系統(tǒng)所設(shè)置。如所述,在進(jìn)程塊148應(yīng)用程序52的各自的地址范圍也被保留。本發(fā)明僅保留每個(gè)應(yīng)用程序52的由配置文件決定的一個(gè)預(yù)定的固定地址范圍152,并且該保留進(jìn)程以由配置表94識(shí)別的C級(jí)應(yīng)用開始。每個(gè)所保留的地址范圍152必須保持應(yīng)用程序52自身的目標(biāo)文件154(保持用于執(zhí)行的指令),并且在應(yīng)用程序需要時(shí)分配在所保留的地址范圍152內(nèi)的數(shù)據(jù)空間,如將會(huì)在下文所描述。設(shè)置了一個(gè)應(yīng)用的所保留的地址范圍152的權(quán)限,如以上所述,從而使得應(yīng)用程序52不會(huì)寫在保持它們的可執(zhí)行文件88的唯一的地址范圍152之外,從而防止應(yīng)用之間的干擾,以及例如,A/B級(jí)應(yīng)用對(duì)C級(jí)應(yīng)用的應(yīng)用數(shù)據(jù)的有害的覆蓋。如果內(nèi)存不足以保證所有C級(jí)應(yīng)用可被授權(quán)它們的每個(gè)配置文件84的所保留的最大存儲(chǔ)量,則隨后要求更多有待保留的存儲(chǔ)的A/B級(jí)應(yīng)用程序52將不會(huì)被發(fā)射并且宣告并記錄錯(cuò)誤。為了保證A/B級(jí)應(yīng)用之后不能分配C級(jí)應(yīng)用的正確運(yùn)行所需的存儲(chǔ),將會(huì)評(píng)估C級(jí)應(yīng)用的所有限制并且首先發(fā)射C級(jí)應(yīng)用。剰余的存儲(chǔ)對(duì)于A/B級(jí)應(yīng)用將會(huì)是可用的。在評(píng)估完所有C級(jí)應(yīng)用后,如果為A/B級(jí)應(yīng)用所配置的限制超過(guò)可用的那些,將不會(huì)發(fā)射該應(yīng)用。使用在該設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的配置文件中限定的最大限制來(lái)進(jìn)行該評(píng)估,而不是當(dāng)前C級(jí)應(yīng)用所使用的存儲(chǔ)量。如被本領(lǐng)域所理解,套接字緩沖區(qū)142可被用于在真實(shí)的網(wǎng)絡(luò)上(例如,網(wǎng)絡(luò)45)或在應(yīng)用進(jìn)程之間提供網(wǎng)絡(luò)式通信,其中這些套接字緩沖區(qū)142存儲(chǔ)在網(wǎng)絡(luò)點(diǎn)之間或有待由不同程序或設(shè)備訪問(wèn)的應(yīng)用之間的數(shù)據(jù)。因?yàn)樘捉幼志彌_區(qū)142被保持在操作系統(tǒng)54的第一地址范圍138內(nèi),套接字存儲(chǔ)的濫用(例如,如果打開了太多的套接字或套接字太大)會(huì)干擾系統(tǒng)的運(yùn)行。
還參見圖4,在進(jìn)程塊156上,每個(gè)應(yīng)用程序52所需的套接字緩沖區(qū)142被保留 在第一地址范圍138內(nèi)。為了防止可能的套接字緩沖區(qū)142對(duì)地址范圍138的過(guò)分配,如可影響操作系統(tǒng)54或其應(yīng)用程序52的運(yùn)行,本發(fā)明將套接字緩沖區(qū)142的總數(shù)量及它們的最大的大小二者限制在從配置數(shù)據(jù)84獲得的預(yù)定的值上。以此方式,通過(guò)保證地址范圍138可保持這個(gè)具有預(yù)定的最大的大小的套接字的預(yù)定的總數(shù)量,可以保證套接字緩沖區(qū)142不超過(guò)可用的存儲(chǔ)空間的限制。實(shí)際上,在一個(gè)應(yīng)用進(jìn)程請(qǐng)求套接字連接時(shí),對(duì)與存儲(chǔ)在操作系統(tǒng)存儲(chǔ)器中的每個(gè)應(yīng)用52相關(guān)聯(lián)的結(jié)構(gòu)進(jìn)行檢查。如果這個(gè)請(qǐng)求可推送套接字存儲(chǔ)器越過(guò)邊界,該請(qǐng)求將會(huì)被操作系統(tǒng)54拒絕。在進(jìn)程塊160,以上描述的視頻緩沖區(qū)158各自被保留在存儲(chǔ)器范圍內(nèi),該存儲(chǔ)器范圍針對(duì)要求訪問(wèn)顯示器系統(tǒng)26的應(yīng)用被分配給操作系統(tǒng)138。一旦每個(gè)應(yīng)用程序52已被發(fā)射而必需的易失性存儲(chǔ)器64被保留,操作系統(tǒng)54可每個(gè)進(jìn)程塊162為每個(gè)應(yīng)用程序52調(diào)度多個(gè)進(jìn)程,現(xiàn)在將描述這種可被操作系統(tǒng)調(diào)度程序調(diào)度的進(jìn)程?,F(xiàn)參見圖9,操作系統(tǒng)調(diào)度程序161可為應(yīng)用程序52產(chǎn)生的進(jìn)程提供ー個(gè)保持進(jìn)程標(biāo)識(shí)符166的調(diào)度隊(duì)列164。這些進(jìn)程將會(huì)由處理器50根據(jù)ー個(gè)時(shí)間片系統(tǒng)執(zhí)行,例如,其中在下ー個(gè)進(jìn)程執(zhí)行前,每個(gè)進(jìn)程可具有一個(gè)高達(dá)預(yù)定的最大值的處理器時(shí)間。未完全執(zhí)行的進(jìn)程返回到保持所有等待狀態(tài)的進(jìn)程的進(jìn)程表168中。進(jìn)程表168還保持其他進(jìn)程產(chǎn)生的進(jìn)程。邏輯地被描繪,進(jìn)程表168提供了若干行,其中每行代表一個(gè)為了在隊(duì)列164中的布局的有待被調(diào)度程序引擎170調(diào)度的進(jìn)程,以由處理器50按隊(duì)列順序執(zhí)行。每行包括一個(gè)進(jìn)程識(shí)別數(shù)166、底層應(yīng)用172的類型(例如,C級(jí))、以及進(jìn)程174的最近執(zhí)行歷史。調(diào)度程序引擎170運(yùn)行以調(diào)度在表168中的在A/B級(jí)應(yīng)用前的任何C級(jí)應(yīng)用,并進(jìn)ー步地運(yùn)行以給予在先前調(diào)度機(jī)會(huì)中不使用它們整個(gè)時(shí)間片(如進(jìn)程174的歷史所示)的進(jìn)程更高的優(yōu)先權(quán)。這樣,調(diào)度程序引擎170使用一個(gè)懲罰系統(tǒng)以“懲罰”先前拱起CPU的應(yīng)用52,該CPU推送它們到任務(wù)隊(duì)列后面更遠(yuǎn)處,強(qiáng)制它們更長(zhǎng)地等待以獲得CPU的訪問(wèn)。通過(guò)在CPU上經(jīng)常使用分配的時(shí)間的最大值的懲罰應(yīng)用,內(nèi)核強(qiáng)制它們到任務(wù)隊(duì)列的末端,從而保證每個(gè)進(jìn)程可以訪問(wèn)CPU,并且通過(guò)在配置文件中合適地設(shè)置可允許的CPU時(shí)間最大值,可控制合適的應(yīng)用優(yōu)先級(jí)?,F(xiàn)參見圖6及7,目標(biāo)文件154所代表的每個(gè)應(yīng)用程序52由操作系統(tǒng)54提供了一個(gè)單獨(dú)的本地圖形緩沖區(qū)158。該圖形緩沖區(qū)158包括用于存儲(chǔ)狀態(tài)信息及常見的全局構(gòu)造(紋理、字體等)的存儲(chǔ)器,以及ー個(gè)幀緩沖區(qū),該幀緩沖區(qū)可保持對(duì)顯示屏26的輸出的充分的渲染,從而完整地描述顯示屏26的區(qū)域上的可視圖像。ー個(gè)或多個(gè)常規(guī)圖形處理器単元180可處理對(duì)操作系統(tǒng)54的圖形調(diào)用,從而在圖形緩沖區(qū)158的幀緩沖區(qū)部分產(chǎn)生単獨(dú)的完整渲染的屏幕地圖,逐一地提供到顯示屏26的像素值映射。這些屏幕地圖可隨后由圖形處理器180通過(guò)在這些圖形緩沖區(qū)158的數(shù)據(jù)之間進(jìn)行選擇的合成過(guò)程(根據(jù)操作系統(tǒng)54提供的焦點(diǎn)信息)組合為ー個(gè)屏幕緩沖區(qū),從而在顯示屏26上顯示這些圖形緩沖區(qū)158之一的數(shù)據(jù)。該進(jìn)程保留了每個(gè)應(yīng)用154的底圖數(shù)據(jù),從而使得其在焦點(diǎn)改變時(shí)不丟失,并且重要地,從而使得錯(cuò)誤的A/B級(jí)應(yīng)用以ー種不可被操作系統(tǒng)54逆轉(zhuǎn)的方式不能
損害C級(jí)應(yīng)用的數(shù)據(jù)。操作系統(tǒng)54創(chuàng)建了ー個(gè)重疊圖形緩沖區(qū)158’,該重疊圖形緩沖區(qū)在合成過(guò)程中通常被放置在來(lái)自圖形緩沖區(qū)158的圖形信息的“前方”。在該重疊圖形緩沖區(qū)158’的數(shù)據(jù)通常是在最前方的和/或可使用透明度參數(shù)。該重疊可被用于宣告高優(yōu)先級(jí)系統(tǒng)信息(警告、通知、等),如可由C級(jí)應(yīng)用所生成,并提供全局系統(tǒng)接ロ如觸摸屏鍵盤、數(shù)字板或?qū)Ш桨粹o。還參見圖8,每個(gè)圖形緩沖區(qū)158可被分為不同的功能區(qū)190 (在此被描繪為保持圖像,但也可能保持更高級(jí)的圖形指令)。這些功能區(qū)190是如為了分離可在顯示屏26上被獨(dú)立単獨(dú)定位的數(shù)據(jù)的。圖形組合器186可接受ー個(gè)指示顯示屏的定向的屏幕位置命令196,或者以顯示屏26a描繪的豎向模式,或者以顯示屏26b描繪的橫向模式,后者被安排具有最長(zhǎng)的水平維度,而前者具有最長(zhǎng)的垂直維度。基于該屏幕位置命令196,例如由配置表94中的設(shè)置所提供,圖形組合器186將改變這些功能區(qū)190的空間位置,以提供最佳的顯示安排。這樣,例如,功能區(qū)190可包括描述觸摸屏按鈕的功能區(qū)190a,及描述圖形輸出圖像的功能區(qū)190b。對(duì)于橫向顯示屏26b,衍生自功能區(qū)190a的按鈕的圖像可被放置在衍生自功能區(qū)190b的圖形輸出圖像的邊上,而對(duì)于縱向顯示屏26a,衍生自功能區(qū)190a的按鈕的圖像可被放置在衍生自功能區(qū)190b的圖形輸出圖像的下面。以此方式,単獨(dú)的顯示布局不需要被硬編碼到圖形緩沖區(qū)158中??商娲?,應(yīng)當(dāng)理解的是功能上一致的結(jié)果可通過(guò)采用ー個(gè)圖形庫(kù)來(lái)提供,該圖形庫(kù)使用關(guān)于屏幕的定向的知識(shí)以自動(dòng)地調(diào)整應(yīng)用所需的圖形元素的位置?,F(xiàn)參見圖11,使用ー個(gè)單處理器50運(yùn)行具有不同的認(rèn)證水平的多應(yīng)用程序52的能力可被擴(kuò)展為允許單處理器50及操作系統(tǒng)54通過(guò)虛擬化運(yùn)行ー個(gè)第二操作系統(tǒng)212。該虛擬化允許這些應(yīng)用程序52中的ー些在ー個(gè)不同的操作系統(tǒng)212上執(zhí)行,而不是該設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)54。這樣,例如,以上描述的修改可與設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的基于Linux的應(yīng)用相關(guān),并且仍有A/B級(jí)應(yīng)用中的ー些可通過(guò)執(zhí)行'Windows 操作系統(tǒng)212源于Windows 操作系統(tǒng)212,如Linux操作系統(tǒng)54的ー個(gè)有效應(yīng)用。在本實(shí)施方案中,操作系統(tǒng)54的ー個(gè)設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的基于Linux的內(nèi)核200可結(jié)合一個(gè)虛擬器如管理程序210,允許ー個(gè)客戶操作系統(tǒng)212的執(zhí)行,典型地是ー個(gè)COTS操作系統(tǒng)如'Windows 操作系統(tǒng)。管理程序210為客戶操作系統(tǒng)212呈現(xiàn)了一個(gè)虛擬硬件平臺(tái),允許客戶操作系統(tǒng)運(yùn)行用于冒indows 操作系統(tǒng)的A級(jí)和B級(jí)應(yīng)用程序52。Linux內(nèi)核200可直接執(zhí)行C級(jí)應(yīng)用程序52。如被本領(lǐng)域所理解,管理程序210通過(guò)安裝在COTS操作系統(tǒng)上的虛擬裝置驅(qū)動(dòng)程序214為真實(shí)的硬件提供ー個(gè)接ロ以及ー個(gè)虛擬化層216,從而將對(duì)COTS操作系統(tǒng)212的外形創(chuàng)建為一個(gè)真實(shí)的物理機(jī)器,即,處理器、存儲(chǔ)器、及硬件。然而虛擬機(jī)的運(yùn)行由管理程序210及操作系統(tǒng)54 (如以上所修改)所控制,從而約束COTS操作系統(tǒng)212及其處理器50與存儲(chǔ)器系統(tǒng)62的真實(shí)的物理資源的應(yīng)用程序52對(duì)其的使用,并且作為設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)54的輔助。該虛擬機(jī)被視為好像是(C0TS操作系統(tǒng)的集合,驅(qū)動(dòng)器及應(yīng)用被寄存在那)其自身右邊的ー個(gè)A/B級(jí)應(yīng)用?!疻indows 操作系統(tǒng)212如在非易失性存儲(chǔ)器66及易失性存儲(chǔ)器64中的其他任何應(yīng)用程序52 —祥可被給出其自身的分區(qū),并且可經(jīng)受以上描述的與常規(guī)應(yīng)用相關(guān)的其他約束。在這個(gè)環(huán)境中,C級(jí)應(yīng)用程序52可被直接執(zhí)行在設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)54上,并且因此,可能就包括處理器時(shí)間及顯示空間的資源而言被給予優(yōu)先權(quán)。 虛擬化會(huì)帶來(lái)性能損失,尤其是關(guān)于可被至少在部分地實(shí)現(xiàn)在軟件中或被廣泛轉(zhuǎn)化在一個(gè)虛擬化的環(huán)境中的圖形操作。因?yàn)檫@個(gè)原因,本發(fā)明考慮了在虛擬裝置驅(qū)動(dòng)程序到操作系統(tǒng)54的硬件驅(qū)動(dòng)器232之間的的隧道效應(yīng)220。該隧道效應(yīng)220可通過(guò)對(duì)COTS操作系統(tǒng)212進(jìn)行修改來(lái)實(shí)現(xiàn),以避免虛擬裝置驅(qū)動(dòng)程序214及虛擬化層216,并通過(guò)內(nèi)核200直接向真實(shí)的硬件驅(qū)動(dòng)器232提供命令。以此方式,通過(guò)虛擬化層216及管理程序210的工作延遲被消除,并且消除了在圖形命令通過(guò)虛擬化而不是直接由視頻控制器24的硬件執(zhí)行時(shí)發(fā)生的延遲。倒轉(zhuǎn)C級(jí)應(yīng)用的優(yōu)先級(jí)到A/B級(jí)應(yīng)用上面的隧道效應(yīng)的風(fēng)險(xiǎn)通過(guò)允許操作系統(tǒng)54開啟和關(guān)閉隧道效應(yīng)220而控制,例如通過(guò)將驅(qū)動(dòng)器232指向不同的命令緩沖區(qū)之間,ー個(gè)由虛擬裝置驅(qū)動(dòng)程序214及隧道效應(yīng)220使用,而ー個(gè)由托管在設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)54上的應(yīng)用程序52使用。額外的性能増益可以通過(guò)使用大大簡(jiǎn)化的COTS操作系統(tǒng)移除支持而獲得,例如,對(duì)于未在電子飛行包10’中實(shí)現(xiàn)的硬件組件。額外的性能増益可以通過(guò)穿過(guò)多個(gè)不同的COTS操作系統(tǒng)212 (未示出)的運(yùn)行應(yīng)用程序52的不同集合獲得。不同虛擬機(jī)的使用允許每個(gè)虛擬機(jī)被“調(diào)諧”為它們將通過(guò)改變分配給由ー個(gè)不同的操作系統(tǒng)212表示的每個(gè)虛擬機(jī)的資源而執(zhí)行的應(yīng)用程序52的類型。例如,存儲(chǔ)密集的應(yīng)用程序52可被執(zhí)行在一個(gè)被成比例地給予更多存儲(chǔ)的虛擬機(jī)上;計(jì)算密集的應(yīng)用可被執(zhí)行在一個(gè)被給予更多的處理器資源的虛擬機(jī)64a上。類似地,可這樣調(diào)整硬件資源如網(wǎng)絡(luò)訪問(wèn)及類似物。以此方式,資源可被更好地分配,減少了來(lái)自虛擬化的性能損失。例如,假設(shè)給定的虛擬機(jī)的存儲(chǔ)可影響對(duì)虛擬機(jī)之間的存儲(chǔ)器的簡(jiǎn)單均勻劃分的效率改進(jìn),額外的存儲(chǔ)可不成比例地提高處理速度。由于電子飛行包10’的封閉的硬件環(huán)境,這類的定制是可能的。特別地,本發(fā)明不是g在限制在此包含的實(shí)施方案及圖示,并且權(quán)利要求書應(yīng)被理解為包括那些實(shí)施方案(包括這些實(shí)施方案的多個(gè)部分)的修改形式及不同實(shí)施方案的元素的組合,如在以下的權(quán)利要求范圍中所達(dá)到。在此描述的所有出版物(包括專利及非專利出版物)以其整體通過(guò) 引用結(jié)合在此。
權(quán)利要求
1.ー種3級(jí)電子飛行包,包括 ー個(gè)單處理器,該單處理器具有至少ー個(gè)核; ー個(gè)電子存儲(chǔ)系統(tǒng),該電子存儲(chǔ)系統(tǒng)與該處理器通信并保持一個(gè)操作系統(tǒng); 一個(gè)網(wǎng)絡(luò)接ロ,該網(wǎng)絡(luò)接ロ與一個(gè)飛機(jī)數(shù)據(jù)網(wǎng)絡(luò)通信以連接到包括多個(gè)導(dǎo)航系統(tǒng)的其他飛機(jī)設(shè)備上; 一個(gè)顯示器,該顯示器與該處理器通信; 其中根據(jù)由該操作系統(tǒng)強(qiáng)制執(zhí)行的預(yù)定規(guī)則,該操作系統(tǒng)執(zhí)行以限制在該電子存儲(chǔ)系統(tǒng)中的A/B級(jí)應(yīng)用對(duì)該電子存儲(chǔ)器、該顯示器、及該處理器的訪問(wèn)從而阻塞A/B級(jí)應(yīng)用的執(zhí)行與C級(jí)應(yīng)用的執(zhí)行所造成的潛在干擾; 其中該C級(jí)應(yīng)用的設(shè)計(jì)是經(jīng)過(guò)批準(zhǔn)的以與該飛機(jī)數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行交互,而該A/B級(jí)應(yīng)用的設(shè)計(jì)是未經(jīng)過(guò)批準(zhǔn)的以與該飛機(jī)數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行交互。
2.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該操作系統(tǒng)限制用于通信的多個(gè)套接字緩沖區(qū)的總大小。
3.如權(quán)利要求2所述的3級(jí)電子飛行包,其中這些套接字緩沖區(qū)的總大小由一個(gè)預(yù)定的每套接字最大數(shù)據(jù)分配及一個(gè)預(yù)定的最大套接字?jǐn)?shù)量所限制。
4.如權(quán)利要求I所述的3級(jí)電子飛行包,其中網(wǎng)絡(luò)廣播式消息是被禁止的。
5.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該電子存儲(chǔ)系統(tǒng)包括非易失性數(shù)據(jù)存儲(chǔ),并且其中每個(gè)應(yīng)用被分配給具有讀及執(zhí)行但無(wú)寫權(quán)限的ー個(gè)分區(qū)。
6.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該電子存儲(chǔ)系統(tǒng)包括一個(gè)易失性數(shù)據(jù)存儲(chǔ),并且其中只有在所有的C級(jí)應(yīng)用已經(jīng)是已保留的易失性數(shù)據(jù)存儲(chǔ)后,每個(gè)A/B級(jí)應(yīng)用才是已保留的易失性數(shù)據(jù)存儲(chǔ)。
7.如權(quán)利要求6所述的3級(jí)電子飛行包,其中易失性數(shù)據(jù)存儲(chǔ)的ー個(gè)保留被限制在每個(gè)應(yīng)用的一個(gè)預(yù)定的最大存儲(chǔ)量上。
8.如權(quán)利要求7所述的3級(jí)電子飛行包,其中易失性數(shù)據(jù)存儲(chǔ)的保留被限制在所有應(yīng)用的ー個(gè)預(yù)定的總最大存儲(chǔ)量上。
9.如權(quán)利要求7所述的3級(jí)電子飛行包,其中該操作系統(tǒng)通過(guò)在一個(gè)控制訪問(wèn)該易失性數(shù)據(jù)存儲(chǔ)的存儲(chǔ)管理単元中加載多個(gè)寄存器來(lái)強(qiáng)制執(zhí)行該預(yù)定的總最大值及每個(gè)應(yīng)用的一個(gè)預(yù)定的最大值。
10.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該操作系統(tǒng)為這些應(yīng)用的不同進(jìn)程的執(zhí)行控制該單處理器的調(diào)度,并且為每個(gè)應(yīng)用提供ー個(gè)有限的最大調(diào)度百分比。
11.如權(quán)利要求10所述的3級(jí)電子飛行包,其中這些應(yīng)用的不同進(jìn)程為該單處理器排隊(duì),從而使得C級(jí)應(yīng)用的進(jìn)程在該隊(duì)列中被給予優(yōu)先權(quán)。
12.如權(quán)利要求11所述的3級(jí)電子飛行包,其中相對(duì)于當(dāng)這些進(jìn)程歷史上沒(méi)有使用它們?nèi)康恼{(diào)度百分比時(shí),當(dāng)它們歷史上使用它們?nèi)康恼{(diào)度百分比吋,這些進(jìn)程在該隊(duì)列中被較低地放置。
13.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該電子飛行包進(jìn)ー步包括具有多個(gè)配置寄存器的外圍設(shè)備,并且其中該操作系統(tǒng)阻塞A/B級(jí)應(yīng)用到這些寄存器的訪問(wèn)。
14.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該操作系統(tǒng)在該單處理器上執(zhí)行,從而為該顯示器提供數(shù)據(jù),該操作系統(tǒng)為至少ー個(gè)C級(jí)及ー個(gè)A/B級(jí)應(yīng)用中的每ー個(gè)管理ー個(gè)単獨(dú)的緩沖區(qū)并在這些緩沖區(qū)之間通過(guò)操作系統(tǒng)控制進(jìn)行選擇,從而使得該A/B級(jí)應(yīng)用不會(huì)覆蓋該C級(jí)應(yīng)用的緩沖區(qū)的數(shù)據(jù)。
15.如權(quán)利要求14所述的3級(jí)電子飛行包,其中単獨(dú)的緩沖區(qū)處于由不同應(yīng)用唯一可寫的存儲(chǔ)位置。
16.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該操作系統(tǒng)在該單處理器上執(zhí)行,從而為該顯示器提供數(shù)據(jù),該操作系統(tǒng)管理從ー個(gè)應(yīng)用接收標(biāo)準(zhǔn)顯示數(shù)據(jù)的應(yīng)用緩沖區(qū)及從C級(jí)應(yīng)用接收更高優(yōu)先級(jí)的顯示數(shù)據(jù)的疊加緩沖區(qū),該操作系統(tǒng)合成這些緩沖區(qū)的內(nèi)容,從而使得在顯示時(shí),該應(yīng)用緩沖區(qū)不會(huì)從該疊加緩沖區(qū)封閉數(shù)據(jù)。
17.如權(quán)利要求14所述的3級(jí)電子飛行包,其中這些緩沖區(qū)被劃分為多個(gè)功能區(qū)域,并且其中該顯示器系統(tǒng)取決于該顯示器的指示方位為不同的功能區(qū)域不同地在該顯示器上重新安排緩沖區(qū)位置與空間位置之間的關(guān)系。
18.如權(quán)利要求I所述的3級(jí)電子飛行包,其中該電子存儲(chǔ)系統(tǒng)還保持ー個(gè)第二操作系統(tǒng),并且其中該A/B級(jí)應(yīng)用被該第二操作系統(tǒng)通過(guò)該操作系統(tǒng)實(shí)現(xiàn)的虛擬化而執(zhí)行。
19.如權(quán)利要求18所述的3級(jí)電子飛行包,其中該操作系統(tǒng)執(zhí)行該第二操作系統(tǒng),仿佛該第二操作系統(tǒng)是ー個(gè)A/B級(jí)應(yīng)用。
20.如權(quán)利要求18所述的3級(jí)電子飛行包,其中根據(jù)由該操作系統(tǒng)強(qiáng)制執(zhí)行的預(yù)定規(guī)貝U,該操作系統(tǒng)限制該第二操作系統(tǒng)對(duì)該電子存儲(chǔ)器、該顯示器、及該處理器的訪問(wèn),從而阻塞該第二操作系統(tǒng)的執(zhí)行與C級(jí)應(yīng)用的執(zhí)行所造成的潛在干擾。
21.如權(quán)利要求18所述的3級(jí)電子飛行包,其中該操作系統(tǒng)是設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng),而該第二操作系統(tǒng)是設(shè)計(jì)未經(jīng)過(guò)批準(zhǔn)的操作系統(tǒng)。
22.如權(quán)利要求20所述的3級(jí)電子飛行包,其中該第二操作系統(tǒng)是Windows 。
全文摘要
一種為飛機(jī)提供計(jì)算服務(wù)并且與飛機(jī)航空電子設(shè)備通信的電子飛行包可在一個(gè)單處理器上通過(guò)對(duì)操作系統(tǒng)進(jìn)行具體的修改來(lái)執(zhí)行飛機(jī)設(shè)計(jì)經(jīng)過(guò)批準(zhǔn)的C級(jí)應(yīng)用及設(shè)計(jì)未經(jīng)過(guò)批準(zhǔn)的A/B級(jí)應(yīng)用,從而控制存儲(chǔ)器及處理器訪問(wèn),由此提供與C級(jí)應(yīng)用及A/B級(jí)應(yīng)用在不同的處理器上執(zhí)行的雙處理器系統(tǒng)相媲美的隔離性。
文檔編號(hào)G06F9/50GK102844741SQ201180019450
公開日2012年12月26日 申請(qǐng)日期2011年2月23日 優(yōu)先權(quán)日2010年2月23日
發(fā)明者賈森·舒勒, 喬納森·斯卡夫, 安德魯·林格倫, 米迦·菲迪克, 彼得·斯哥芝, 戴維·奧克扎斯基, 拉姆·古浦塔, 麗雅·車仁雅庫(kù)娃, 尤金·澤巴克, 尼古拉斯·赫魯徹斯基, 斯蒂芬·楚拉, 馬修·亨格福德, 杰弗里·赫林, 戴維·瓊斯, 伯納德·紐曼, 約翰·萊斯滕 申請(qǐng)人:美國(guó)宇航公司