会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电子飞行包 / 单处理器3级电子飞行包

单处理器3级电子飞行包

申请号 CN201180019450.X 申请日 2011-02-23 公开(公告)号 CN102844741A 公开(公告)日 2012-12-26
申请人 美国宇航公司; 发明人 贾森·舒勒; 乔纳森·斯卡夫; 安德鲁·林格伦; 米迦·菲迪克; 彼得·斯哥芝; 戴维·奥克扎斯基; 拉姆·古浦塔; 丽雅·车仁雅库娃; 尤金·泽巴克; 尼古拉斯·赫鲁彻斯基; 斯蒂芬·楚拉; 马修·亨格福德; 杰弗里·赫林; 戴维·琼斯; 伯纳德·纽曼; 约翰·莱斯滕;
摘要 一种为飞机提供计算服务并且与飞机航空电子设备通信的电子飞行包可在一个单处理器上通过对操作系统进行具体的修改来执行飞机设计经过批准的C级应用及设计未经过批准的A/B级应用,从而控制存储器及处理器访问,由此提供与C级应用及A/B级应用在不同的处理器上执行的双处理器系统相媲美的隔离性。
权利要求

1.一种3级电子飞行包,包括:

一个单处理器,该单处理器具有至少一个核;

一个电子存储系统,该电子存储系统与该处理器通信并保持一个操作系统;

一个网络接口,该网络接口与一个飞机数据网络通信以连接到包括多个导航系统的其他飞机设备上;

一个显示器,该显示器与该处理器通信;

其中根据由该操作系统强制执行的预定规则,该操作系统执行以限制在该电子存储系统中的A/B级应用对该电子存储器、该显示器、及该处理器的访问从而阻塞A/B级应用的执行与C级应用的执行所造成的潜在干扰;

其中该C级应用的设计是经过批准的以与该飞机数据网络进行交互,而该A/B级应用的设计是未经过批准的以与该飞机数据网络进行交互。

2.如权利要求1所述的3级电子飞行包,其中该操作系统限制用于通信的多个套接字缓冲区的总大小。

3.如权利要求2所述的3级电子飞行包,其中这些套接字缓冲区的总大小由一个预定的每套接字最大数据分配及一个预定的最大套接字数量所限制。

4.如权利要求1所述的3级电子飞行包,其中网络广播式消息是被禁止的。

5.如权利要求1所述的3级电子飞行包,其中该电子存储系统包括非易失性数据存储,并且其中每个应用被分配给具有读及执行但无写权限的一个分区。

6.如权利要求1所述的3级电子飞行包,其中该电子存储系统包括一个易失性数据存储,并且其中只有在所有的C级应用已经是已保留的易失性数据存储后,每个A/B级应用才是已保留的易失性数据存储。

7.如权利要求6所述的3级电子飞行包,其中易失性数据存储的一个保留被限制在每个应用的一个预定的最大存储量上。

8.如权利要求7所述的3级电子飞行包,其中易失性数据存储的保留被限制在所有应用的一个预定的总最大存储量上。

9.如权利要求7所述的3级电子飞行包,其中该操作系统通过在一个控制访问该易失性数据存储的存储管理单元中加载多个寄存器来强制执行该预定的总最大值及每个应用的一个预定的最大值。

10.如权利要求1所述的3级电子飞行包,其中该操作系统为这些应用的不同进程的执行控制该单处理器的调度,并且为每个应用提供一个有限的最大调度百分比。

11.如权利要求10所述的3级电子飞行包,其中这些应用的不同进程为该单处理器排队,从而使得C级应用的进程在该队列中被给予优先权。

12.如权利要求11所述的3级电子飞行包,其中相对于当这些进程历史上没有使用它们全部的调度百分比时,当它们历史上使用它们全部的调度百分比时,这些进程在该队列中被较低地放置。

13.如权利要求1所述的3级电子飞行包,其中该电子飞行包进一步包括具有多个配置寄存器的外围设备,并且其中该操作系统阻塞A/B级应用到这些寄存器的访问。

14.如权利要求1所述的3级电子飞行包,其中该操作系统在该单处理器上执行,从而为该显示器提供数据,该操作系统为至少一个C级及一个A/B级应用中的每一个管理一个单独的缓冲区并在这些缓冲区之间通过操作系统控制进行选择,从而使得该A/B级应用不会覆盖该C级应用的缓冲区的数据。

15.如权利要求14所述的3级电子飞行包,其中单独的缓冲区处于由不同应用唯一可写的存储位置。

16.如权利要求1所述的3级电子飞行包,其中该操作系统在该单处理器上执行,从而为该显示器提供数据,该操作系统管理从一个应用接收标准显示数据的应用缓冲区及从C级应用接收更高优先级的显示数据的叠加缓冲区,该操作系统合成这些缓冲区的内容,从而使得在显示时,该应用缓冲区不会从该叠加缓冲区封闭数据。

17.如权利要求14所述的3级电子飞行包,其中这些缓冲区被划分为多个功能区域,并且其中该显示器系统取决于该显示器的指示方位为不同的功能区域不同地在该显示器上重新安排缓冲区位置与空间位置之间的关系。

18.如权利要求1所述的3级电子飞行包,其中该电子存储系统还保持一个第二操作系统,并且其中该A/B级应用被该第二操作系统通过该操作系统实现的虚拟化而执行。

19.如权利要求18所述的3级电子飞行包,其中该操作系统执行该第二操作系统,仿佛该第二操作系统是一个A/B级应用。

20.如权利要求18所述的3级电子飞行包,其中根据由该操作系统强制执行的预定规则,该操作系统限制该第二操作系统对该电子存储器、该显示器、及该处理器的访问,从而阻塞该第二操作系统的执行与C级应用的执行所造成的潜在干扰。

21.如权利要求18所述的3级电子飞行包,其中该操作系统是设计经过批准的操作系统,而该第二操作系统是设计未经过批准的操作系统。

22.如权利要求20所述的3级电子飞行包,其中该第二操作系统是

说明书全文

单处理器3级电子飞行包

[0001] 相关申请的交叉引用
[0002] 本申请要求于2010年2月23日提交的美国临时申请61/307,012的利益并且通过结合引用在此。

背景技术

[0003] 本发明涉及在飞机中提供辅助计算机功能的电子飞行包(EFB),并且具体地涉及永久安装在飞机上并适合同时托管并执行A级、B级以及C级应用的3级EFB。
[0004] EFB是设计为使机组人员更简单、更有效并使用更少的纸张来执行飞行管理任务的计算机系统。EFB的通常的计算平台旨在减少或代替纸质参考资料如飞机操作手册、导航图及其他传统上需要的被机组人员带上飞机的在飞行员的手提飞行包中的物品。在美国,EFB设备由联邦航空管理局(FAA)依照咨询通告(AC)120-76A来控制,并且在欧洲,由欧洲航空安全局(EASA)依照临时指导单页(TGL)36来控制,以上内容通过结合引用在此。
[0005] 在许多情况中,已开发了被设计为提供旨在代替纸质参考的数据并电子地将其显示在EFB上的应用程序,用于与商用现货(COTS)操作系统(OSes)及软件组件一起使用,例如具有.NET框架组件的微软 OS。这些应用的实例是用于显示手册及参考文件的文件阅读器、终端图表浏览器及电子记录应用。
[0006] 随着EFB的成熟及流行,在驾驶员座舱中的具有显示器的附加计算机系统的可用性被充分发挥,以提供与主飞行显示器系统及多功能显示器传统上相关联的附加功能性。这些内容包括显示与飞机的当前状态(包括位置、方向及飞行计划)相关的航空电子设备数据。除了EFB的传统功能之外,这些附加的功能被分为三类应用:A级、B级及C级。A级应用包括传统呈现在纸件格式上的预先构成的数据的固定展现(电子飞行员手册、参考文件、设备清单及维护手册)。B级应用包括可操纵动态数据及展现(终端图表、性能计算、机舱视频)的交互式应用。C级应用包括典型地与主飞行显示器相关联的项目,并且会影响飞行安全及机组人员工作量。C级应用的一个实例为显示本机位置的交互式移动地图或者与为跟踪过程或合并与分割(M&S)提供指导的广播式自动相关监视(ADS-B)处理器交互的应用,以上内容通过结合引用在此。
[0007] 每个AC-120-76A,C级应用需要通过其失败对机组人员安全及工作量的影响所决定的严密性的飞机认证服务(AIR)设计经过批准。航空无线电技术委员会(RTCA)公布了DO-178B“机载系统中的软件设计考虑及设备认证”,这是FAA接受的为获取在航空电子设备中使用的软件的设计经过批准的指导。RTCA有限公司是一家在美国华盛顿DC的私营的非盈利性公司。DO-178B是获取FAA设计保证批准的一种手段,但并不是唯一手段。
[0008] 每个AC120-76A,物理EFB硬件基于安装及用途被分为三级之一。这些级是1级、2级及3级。1级的EFB通常是便携式的并且不能附装到飞机上的基于COTS的系统(如便携式电脑或平板电脑)。2级的EFB通常也是基于COTS的系统并且是便携式的,但是在正常运行中被连接到飞机上。3级的EFB是安装的航空电子设备,并且与1级及2级的EFB不同的是其需要满足依照其在飞机上的预期功能的管理要求。RTCA有限公司公布了DO-160F“机载设备的环境条件及测试过程”,这是一个FAA批准接受的为获取在航空电子设备中使用的硬件的AIR批准的指导,以上内容通过结合引用在此。
[0009] A级和/或B级(此后为A/B级)应用可被托管在任何级的EFB上,并且不需要设计经过批准。然而,C级应用不需要设计经过批准,并且只可托管在3级的EFB上,除了在应用具有技术标准规定(TSO)并且其他托管在1级或2级的EFB上的应用具有较小的或不具有安全性影响及不干扰具有TSO的C级应用的那些情况下。
[0010] 当在一个单个3级的EFB上托管A/B级应用及C级应用时,重要的是将设计经过批准的C级应用及飞机接口从A/B级应用相隔离,从而使得不存在对飞机上的连接到或托管在EFB上的任何挑剔安全性的组件或软件的来自A/B级应用的反效果或干扰。当前用于隔离设计经过批准的软件并保护连接到EFB上的飞机组件的一种方法是:在一个单一的EFB中使用两个单独处理器,一个处理器托管一个如基于Linux用户的操作系统及C级应用的设计经过批准的操作系统,而另一个处理器托管一个COTS操作系统,如美国华盛顿的微软公司制造的 操作系统。连接这两个处理器的电路通过该设计经过批准的操作系统提供对COTS操作系统的硬件控制,允许其控制、监测及限制其运行以保护连接到该EFB上的飞机接口。由这两个单独的处理器提供的物理隔离提供了C级应用从A/B级应用的充分隔离。

发明内容

[0011] 本发明提供了一种可在一个单处理器上执行A/B级及C级应用的3级EFB(电子飞行包),由此提供了在重量、功耗、及成本上的实质性的节约。通过识别A/B级应用可能干扰C级应用执行的一组机制,本发明人已通过对限制对存储器、进程、及显示器资源的访问的操作系统的修改实现了硬件隔离的效果。这些修改允许具有与多处理器系统等效的隔离的单处理器架构。
[0012] 确切地,本发明提供了一种3级电子飞行包,该电子飞行包具有包括至少一个核的一个单处理器及与该处理器通信并保持一个操作系统的电子存储系统。该电子飞行包提供了与飞机数据网络通信的一个网络接口,以连接到包括导航系统及与该处理器通信的显示器的其他飞机设备上。根据由该操作系统强制执行的预定规则,在该电子存储系统中的A/B级应用对该电子存储器、显示器、及处理器的访问被限制,从而阻塞A/B级应用的执行与C级应用的执行所造成的潜在干扰。
[0013] 因此,本发明的至少一个实施方案的特征是提供执行在一个单处理器上的重要的和不重要的应用之间的分离,而不需要单独的处理器。
[0014] 该操作系统可限制用于通信的套接字缓冲区的总大小,例如,通过将套接字缓冲区的总大小限制为一个预定的每套接字最大数据分配以及将总套接字数量限制为一个预定的最大套接字数量。如通常在本领域所理解,套接字缓冲区是在计算机存储器中的用于计算机执行的进程之间的通信的存储区域。
[0015] 因此,本发明的至少一个实施方案的特征是防止A/B级应用的过量套接字缓冲区分配(这样的缓冲区典型地在操作系统的存储空间中)干扰操作系统运行。
[0016] 操作系统可禁止网络广播式消息。
[0017] 因此,本发明的至少一个实施方案的特征是保证消息是处于可被监测以防止电子欺骗的定义的特定端点之间。
[0018] 电子存储系统可包括非易失性数据存储并且每个应用程序可被分配到一个具有读及执行但无写权限的一个分区。
[0019] 因此,本发明的至少一个实施方案的特征是防止A/B级应用通过磁盘覆盖改变C级应用使用的数据。
[0020] 易失性数据存储的保留可被限制在每个应用的一个预定的最大存储量上。只有在所有的C级应用已保留了易失性数据存储后,每个A/B级应用才能保留易失性数据存储。
[0021] 进一步地,本发明的至少一个实施方案的特征是防止A/B级应用使用的过量易失性存储器通过拒绝易失性存储器到C级应用而干扰C级应用。
[0022] 易失性数据存储的保留可被限制在所有应用的一个预定的总最大存储量上。
[0023] 因此,本发明的至少一个实施方案的特征是防止由易失性存储器的过分配导致的系统不稳定性。
[0024] 该操作系统可通过将寄存器加载到控制访问该易失性数据存储的一个存储管理单元中来强制实施该预定的总最大值及一个预定的每应用最大值。
[0025] 因此,本发明的至少一个实施方案的特征是采用一个存储管理单元以通过A/B级应用的运行来强制执行抗损坏的存储器分区。访问该存储管理单元设置可限制在该操作系统中。
[0026] 操作系统可为了应用程序的不同进程的执行来控制单处理器的调度并且为每个应用程序提供一个有限的最大调度百分比。
[0027] 因此,本发明的至少一个实施方案的特征是通过A/B级应用的执行来采用一个抗全侵占的进程调度算法。
[0028] 这些应用的不同进程为该单处理器排队,从而使得C级应用的进程在该队列中被给予优先权。
[0029] 因此,本发明的至少一个实施方案的特征是保证C级应用运行在应用的混合环境中。
[0030] 相对于当这些进程历史上没有使用它们全部的调度百分比时,当它们历史上使用它们全部的调度百分比时,这些进程在该队列中被较低地放置。
[0031] 因此,本发明的至少一个实施方案的特征是通过一个特定的应用防止该单处理器的垄断。
[0032] 该电子飞行包可进一步包括具有多个配置寄存器的外围设备,并且该第一操作系统可以阻塞A/B级应用到这些寄存器的访问。
[0033] 因此,本发明的至少一个实施方案的特征是通过A/B级应用防止外围设备运行的损坏。
[0034] 该电子飞行包可进一步包括一个提供与该单处理器通信的显示器系统,从而为该显示器提供数据,该操作系统为至少一个C级及一个A/B级应用中的每一个管理一个单独的缓冲区并在这些缓冲区中通过操作系统控制进行选择,从而使得该A/B级应用不会覆盖该C级应用的缓冲区的数据。
[0035] 因此,本发明的至少一个实施方案的特征是防止A/B级应用通过如果使用一个单个缓冲区时可发生的覆盖输出而不可逆地损害从C级应用输出的临界图。
[0036] 这些单独的缓冲区可处于由不同应用唯一可写的存储位置。
[0037] 因此,本发明的至少一个实施方案的特征是防止视频缓冲区超限防止通过C级应用的图形数据的输出。
[0038] 该操作系统可进一步在该单处理器上执行从而为该显示器提供数据。该操作系统可随后管理一个应用的从一个应用接收标准显示数据的视频缓冲区,以及一个从C级应用接收更高优先级显示数据的叠加视频缓冲区,并且可组合这些缓冲区的内容,从而使得在显示时,该应用缓冲区不能从该叠加缓冲区封闭数据。
[0039] 因此,本发明的至少一个实施方案的特征是保证临界图不被不知何故保持焦点的A级/B应用(或C级应用)所封闭。
[0040] 这些缓冲区可被划分为多个功能区域,并且该显示器系统可取决于该显示器的指示方位为不同的功能区域不同地在该显示器上重新安排缓冲区位置与空间位置之间的关系。
[0041] 因此,本发明的至少一个实施方案的特征是取决于显示器的定向提供对该显示器的复杂的重新格式化,而不需要分别对两个不同的显示格式编程。
[0042] 该电子存储系统还可保持一个第二操作系统,并且该A/B级应用可被该第二操作系统通过该操作系统实现的虚拟化而执行。例如,该第一操作系统可以是一个授权的开源操作系统,而该第二操作系统可以是一个专利的操作系统,如
[0043] 因此,本发明的至少一个实施方案的特征是在没有危及有待用于设计经过批准的应用的电子飞行包的能力时,允许A/B级应用的使用只可执行在一个不可被设计经过批准的专利的操作系统上。操作系统的分离及虚拟化将专利的操作系统划分,从而使得包含不正确的行为。
[0044] 这些具体的目的及优势可仅应用到落在权利要求书范围内的一些实施方案中,并且因此不限定本发明的范围。

附图说明

[0045] 图1是使用单独的处理器以隔离应用的现有技术EFB的硬件方框图;
[0046] 图2是示出了使用依照本发明的单处理器的EFB的与图1相似的硬件方框图;
[0047] 图3是图2中的EFB的功能方框图,示出了存储系统与单处理器之间的通信;
[0048] 图4是示出了图2及图3的EFB的加载和发射的流程图;
[0049] 图5是可在图2及图3中的EFB上执行的用于加载及发射的应用的配置文件及配置表的表示;
[0050] 图6是图2中的存储器的详细表示,示出了各数据结构及文件的分配;
[0051] 图7是不同执行应用使用的由一个图形组合器相组合从而为电子飞行包提供一个显示器的多视频缓冲区的表示;
[0052] 图8是支持两个显示器定向的具有单个二进制应用的应用模板的表示;
[0053] 图9是本发明中使用的为将应用进程排队的处理器调度系统的简化图;
[0054] 图10是非易失性磁盘存储器的表示,示出了其的一个分区表;以及[0055] 图11是可由本发明实现的虚拟化的图。

具体实施方式

[0056] 现参见图1,用于飞机12的现有技术EFB 10可包括分别与一个第一及第二存储器15及17通信的一个第一处理器14以及一个第二处理器16。第一处理器14可被用于托管在该第一存储器15中保持的一个第一软件应用18,该第一软件应用可以是例如一个C级软件应用。第二处理器16可被用于托管在该第二存储器17中保持的一个第二软件应用20,该第二软件应用可以是例如一个A/B级软件应用。存储器15及17可包括多个硬盘驱动单元及闪存,以提供非易失性存储器的若干形式。
[0057] 处理器14及16可共享具有一个单一液晶显示器(LCD)设备26的一个共同的显示单元22。每个处理器14及16可与其自身的视频控制器24及25通信。第一处理器14可与主视频控制器24通信,并且第二处理器16可与次级视频控制器25通信。这两个视频控制器24及25可通过作为一个视频转换系统30的一个现场可编程序门阵列(FPGA)系统与LCD设备26通信。FPGA转换系统30可处于一个单处理器的控制下,例如,第一处理器14可具有一个将其连接到转换系统30的主设备总线35,从而使得它可以控制14或16中的哪一个在视频接口31上处于传送中。当需要显示更重要的航班或飞机相关信息而显示单元22正被使用以显示由在第二处理器16上运行的第二软件应用20提供的不太重要的信息时,可以形成这种条件。转换系统30可与LCD 26通过一个显示接口31通信,该显示接口为LCD显示器26的驱动电路27提供信号并从多个按钮或一个LCD触摸屏42接收信号。一个外部键盘36可连接到显示接口31上。处理器14及16还可与一个标准以太网(未示出)通信,从而与如飞机照相机及被本领域所理解的类似设备的其他设备通信。
[0058] 每个处理器14及16还可与其自身的输入接口29通信,该输入接口从按钮及LCD触摸屏42或外部键盘36接收信号。
[0059] 再次参见图1,由于相关安全性的担忧,限制飞机12的其他航空电子设备对航空电子设备接口43的访问及可见性有可能是必需的。一个I/O卡34提供对航空电子设备接口43的访问,从而使得EFB 10可以与安装在飞机12上的其他设备交互。I/O卡34可包括一个微控制器,该微控制器包含嵌入式软件、支持电路及被设计为连接一种本领域所知的类型的航空电子设备接口43的电路。允许第一处理器14对I/O卡34进行初始化及配置,使第一处理器14能够限制第二处理器16对航空电子设备接口43的访问。这种能力允许EFB 10满足必需的安全性标准。
[0060] 在某些情况下,或者由于第二处理器16的故障,或者由于软件20的软件故障,第一处理器14使第二处理器16无效或重置可能是必要的。可能存在从第一处理器14到第二处理器16的一个重置信号33,该重置信号允许第一处理器14使第二处理器16无效或重置。这保证了第一处理器14具有对显示单元22的完全控制(通过转换系统30),第二处理器16也同样。这消除了对第二应用满足严格的FAA标准的昂贵的认证的需要,该严格的FAA标准控制在商用飞机12中的一个3级EFB上的软件应用的使用。这样,第二软件应用20可代表一个商用的、现成的软件应用。即使第二软件应用20被提供为一个定制的软件应用,由于消除了C级应用需要的昂贵并严格的认证,仍然存在一个明显的优势。这是因为第一处理器14配备有完全夺取显示单元22的控制的能力,并且如可能被需要的,第二处理器16显示重要的信息,或需要一个直接的操作符响应。
[0061] 现参见图2,本发明提供了一种EFB 10’,其中双处理器系统及用于提供一个处理器优于另一个处理器的优势的硬件开关的复杂性可由一个单处理器50避免。该单处理器50使用一个特别修改的操作系统54(将会在下文描述)执行保持在存储器15中的多应用程序52(A级、B级或C级应用)。该特别修改的操作系统54控制托管在EFB 10’上的所有其他软件的执行。一个与EFB 10的内部操作相关的主菜单程序53还可以被保持在存储器
15中并由单处理器50执行。为了描述清楚,如在此使用的“操作系统”将会被考虑与附加的根服务、驱动器及通常由多应用使用并且对于应用程序的执行而言是必须的的其他软件联合覆盖操作系统内核。
[0062] 在此架构中,处理器50可与一个接口34通信,而不需要一个转换系统,并且接口34可通过一个设备总线35与各种输入设备36及42连接,与那些以前描述的相似。接口34还可通过航空电子设备接口43连接到多个航空电子设备系统,包括一个导航单元。处理器
50还可以通过接口34与一个视频控制器24通信,该视频控制器具有一个尽可能小的单图形处理器及到显示单元22的数据。处理器50还可以也通过接口34与输入接口29通信,该输入接口从按钮及触摸屏42以及外部键盘36接收信号。
[0063] 现参见图3,处理器50可以是例如具有多个核56的一个处理器,例如每个核都具有一个L1高速缓冲存储器58并共享一个L2高速缓冲存储器60。L2高速缓冲存储器60可通过一个或多个内部总线与随机访问易失性存储器64及非易失性存储器66相连接,例如后者逻辑上地作为一个“磁盘”驱动,例如可由闪存实现,这两者都是存储器系统62的一部分。对易失性存储器64的访问可通过一个存储管理单元68进行,而对非易失性存储器66的访问可通过一个磁盘控制器70进行,该磁盘控制器的类型被本领域所熟知。
[0064] 现参见图4,处理器50可在每次使用飞机中的EFB 10’的期间之前及之中执行一个加载进程76,该加载进程76用于安装及配置所希望的应用程序。在第一步,如由进程块80所指示,加载进程76启动一个加载程序。对每个进程块82,加载程序检查有待与和应用程序52相关联的配置文件84(作为清单文件的一部分)一起使用在电子飞行包10’上的所识别的应用程序52,并将应用程序52识别为如这将会影响它们在磁盘分区中的布局的应用。
[0065] 暂时参见图3及5,配置文件84可具有每个应用程序52的入口86,这些入口链接到针对那个应用的应用程序可执行文件88。每个配置文件84的入口86通常将提供一个识别可执行文件88及其进程(例如具有一个组标识符)及应用类型92(例如,A级、B级、或C级)的应用标识符90,并且将为应用96指示有待保留的存储量。来自配置文件84的信息将会在发射操作系统54时被添加到为应用程序52开发的配置表94中。配置表94将添加有待在下文描述的附加信息,该附加信息包括定义一个权限组的存储管理单元存储分配信息98、与每个应用程序52相关联的视频缓冲区信息102,如将会在下文所讨论。
[0066] 再次参见图4及10,使用在进程块82、进程块106得到的信息,应用程序52在非易失性存储器66中被安装到先前准备的分区99中。分区进程分配了单独的磁盘分区99a-d,这些分区包括一个保持用于这些应用程序(并且同样用于操作系统)的可执行文件的第一磁盘分区99a,该第一磁盘分区仅提供包含在这个分区中的对这些文件的读访问及执行而没有写访问。一个第二分区99b提供读/写访问但不提供执行,并且由应用程序用于临时文件和记录上。一个第三分区99c提供包含在此分区中的文件的只读访问但不提供执行,并且可被用于应用之间共享的数据库。该第四分区99d保持可用的但还未安装的程序,并且不可执行的但是仅仅是对于操作系统而言是读写。通过将这些应用放置在第一磁盘分区99,任何错误应用不会覆盖其他应用的磁盘文件。每个分区99都在一个分区表110中被描述,如通常由一个分区表110中的一行所指示的。如被本领域所理解,一个分区99将包括其自身的文件系统112(在磁盘上将逻辑地址映射到物理地址)及映射到一个预定及有限的物理地址范围116的其自身的存储区域114,如在磁盘媒介中的操作系统及信息编码所实现。分区表110可为每个分区提供一个逻辑标识符(在此指代为a、b、c、d),为文件系统
112提供物理地址信息120,以及指示应用程序52具有对该特定分区的读或写权限的数据访问权限122。为实现访问权限的其他分区方法也被本发明所考虑。
[0067] 通常,每个应用程序52将会被加载到在分区99a中的其自身唯一的文件夹中,并且被提供了一个防止其看见文件系统112的与其他目录相关联的分区的“根监狱(root jail)”。使用如本领域所知的类型的“回环装置”以允许给定的应用程序只访问分区99b及99c的合适的部分。通过限制对磁盘控制器硬件配置寄存器的访问和/或限制可用的操作系统对应用程序的调用,磁盘控制器硬件可提供对这些分区的鲁棒的强制执行,该强制执行防止可能的错误的应用行为,在该错误的应用行为中一个应用覆盖一个第二应用或其数据。
[0068] 再次参见图4,在至少完成一次加载程序76后,处理器50可执行一个在进程块132开始的发射进程126。该发射进程126通过操作系统54实现,并且将各应用程序52移动到易失性存储器64中从而执行。该发射进程再次由配置表94控制,并且具体地,通过将每个应用程序识别为A级、B级、或C级来控制。在一个优选实施方案中,在每个由进程块
134及136绑定的环中,发射进程以C级应用开始,并且只有在所有C级应用都被发射后才发射A级及B级应用。
[0069] 还参见图6,在该发射进程的前几步,保持操作系统54的可执行文件及各应用程序52的易失性存储器被操作系统54所保留。该保留可由一个存储管理单元68(如图1中所示)强制执行,其方式是通过加载存储管理单元68的控制寄存器及数据来控制易失性存储器64的逻辑地址到物理地址的映射,与操作系统一起控制对每个应用程序52使用的随机访问存储器64的每个地址范围的访问(根据为每个应用程序的进程所分配的组)。这些控制寄存器可具有映射到一个寄存器存储空间65的逻辑地址存储器,并且对存储管理单元68的这些控制寄存器的访问可由此通过存储管理单元68自身被限制在操作系统54中。
[0070] 在发射进程126的前几步之前,一个第一地址范围138将会已经被分配给操作系统54,从而保持该操作系统可执行、其数据存储器140、及为套接字缓冲区142所保留的存储器。数据的该第一地址范围138的写权限仅提供给操作系统54,如被操作系统所设置。
[0071] 如所述,在进程块148应用程序52的各自的地址范围也被保留。本发明仅保留每个应用程序52的由配置文件决定的一个预定的固定地址范围152,并且该保留进程以由配置表94识别的C级应用开始。每个所保留的地址范围152必须保持应用程序52自身的目标文件154(保持用于执行的指令),并且在应用程序需要时分配在所保留的地址范围152内的数据空间,如将会在下文所描述。设置了一个应用的所保留的地址范围152的权限,如以上所述,从而使得应用程序52不会写在保持它们的可执行文件88的唯一的地址范围152之外,从而防止应用之间的干扰,以及例如,A/B级应用对C级应用的应用数据的有害的覆盖。如果内存不足以保证所有C级应用可被授权它们的每个配置文件84的所保留的最大存储量,则随后要求更多有待保留的存储的A/B级应用程序52将不会被发射并且宣告并记录错误。
[0072] 为了保证A/B级应用之后不能分配C级应用的正确运行所需的存储,将会评估C级应用的所有限制并且首先发射C级应用。剩余的存储对于A/B级应用将会是可用的。在评估完所有C级应用后,如果为A/B级应用所配置的限制超过可用的那些,将不会发射该应用。使用在该设计经过批准的配置文件中限定的最大限制来进行该评估,而不是当前C级应用所使用的存储量。
[0073] 如被本领域所理解,套接字缓冲区142可被用于在真实的网络上(例如,网络45)或在应用进程之间提供网络式通信,其中这些套接字缓冲区142存储在网络点之间或有待由不同程序或设备访问的应用之间的数据。因为套接字缓冲区142被保持在操作系统54的第一地址范围138内,套接字存储的滥用(例如,如果打开了太多的套接字或套接字太大)会干扰系统的运行。
[0074] 还参见图4,在进程块156上,每个应用程序52所需的套接字缓冲区142被保留在第一地址范围138内。为了防止可能的套接字缓冲区142对地址范围138的过分配,如可影响操作系统54或其应用程序52的运行,本发明将套接字缓冲区142的总数量及它们的最大的大小二者限制在从配置数据84获得的预定的值上。以此方式,通过保证地址范围138可保持这个具有预定的最大的大小的套接字的预定的总数量,可以保证套接字缓冲区
142不超过可用的存储空间的限制。实际上,在一个应用进程请求套接字连接时,对与存储在操作系统存储器中的每个应用52相关联的结构进行检查。如果这个请求可推送套接字存储器越过边界,该请求将会被操作系统54拒绝。
[0075] 在进程块160,以上描述的视频缓冲区158各自被保留在存储器范围内,该存储器范围针对要求访问显示器系统26的应用被分配给操作系统138。
[0076] 一旦每个应用程序52已被发射而必需的易失性存储器64被保留,操作系统54可每个进程块162为每个应用程序52调度多个进程,现在将描述这种可被操作系统调度程序调度的进程。
[0077] 现参见图9,操作系统调度程序161可为应用程序52产生的进程提供一个保持进程标识符166的调度队列164。这些进程将会由处理器50根据一个时间片系统执行,例如,其中在下一个进程执行前,每个进程可具有一个高达预定的最大值的处理器时间。未完全执行的进程返回到保持所有等待状态的进程的进程表168中。进程表168还保持其他进程产生的进程。
[0078] 逻辑地被描绘,进程表168提供了若干行,其中每行代表一个为了在队列164中的布局的有待被调度程序引擎170调度的进程,以由处理器50按队列顺序执行。每行包括一个进程识别数166、底层应用172的类型(例如,C级)、以及进程174的最近执行历史。调度程序引擎170运行以调度在表168中的在A/B级应用前的任何C级应用,并进一步地运行以给予在先前调度机会中不使用它们整个时间片(如进程174的历史所示)的进程更高的优先权。
[0079] 这样,调度程序引擎170使用一个惩罚系统以“惩罚”先前拱起CPU的应用52,该CPU推送它们到任务队列后面更远处,强制它们更长地等待以获得CPU的访问。通过在CPU上经常使用分配的时间的最大值的惩罚应用,内核强制它们到任务队列的末端,从而保证每个进程可以访问CPU,并且通过在配置文件中合适地设置可允许的CPU时间最大值,可控制合适的应用优先级。
[0080] 现参见图6及7,目标文件154所代表的每个应用程序52由操作系统54提供了一个单独的本地图形缓冲区158。该图形缓冲区158包括用于存储状态信息及常见的全局构造(纹理、字体等)的存储器,以及一个帧缓冲区,该帧缓冲区可保持对显示屏26的输出的充分的渲染,从而完整地描述显示屏26的区域上的可视图像。一个或多个常规图形处理器单元180可处理对操作系统54的图形调用,从而在图形缓冲区158的帧缓冲区部分产生单独的完整渲染的屏幕地图,逐一地提供到显示屏26的像素值映射。这些屏幕地图可随后由图形处理器180通过在这些图形缓冲区158的数据之间进行选择的合成过程(根据操作系统54提供的焦点信息)组合为一个屏幕缓冲区,从而在显示屏26上显示这些图形缓冲区158之一的数据。该进程保留了每个应用154的底图数据,从而使得其在焦点改变时不丢失,并且重要地,从而使得错误的A/B级应用以一种不可被操作系统54逆转的方式不能损害C级应用的数据。
[0081] 操作系统54创建了一个重叠图形缓冲区158’,该重叠图形缓冲区在合成过程中通常被放置在来自图形缓冲区158的图形信息的“前方”。在该重叠图形缓冲区158’的数据通常是在最前方的和/或可使用透明度参数。该重叠可被用于宣告高优先级系统信息(警告、通知、等),如可由C级应用所生成,并提供全局系统接口如触摸屏键盘、数字板或导航按钮。
[0082] 还参见图8,每个图形缓冲区158可被分为不同的功能区190(在此被描绘为保持图像,但也可能保持更高级的图形指令)。这些功能区190是如为了分离可在显示屏26上被独立单独定位的数据的。图形组合器186可接受一个指示显示屏的定向的屏幕位置命令196,或者以显示屏26a描绘的竖向模式,或者以显示屏26b描绘的横向模式,后者被安排具有最长的水平维度,而前者具有最长的垂直维度。基于该屏幕位置命令196,例如由配置表
94中的设置所提供,图形组合器186将改变这些功能区190的空间位置,以提供最佳的显示安排。这样,例如,功能区190可包括描述触摸屏按钮的功能区190a,及描述图形输出图像的功能区190b。对于横向显示屏26b,衍生自功能区190a的按钮的图像可被放置在衍生自功能区190b的图形输出图像的边上,而对于纵向显示屏26a,衍生自功能区190a的按钮的图像可被放置在衍生自功能区190b的图形输出图像的下面。以此方式,单独的显示布局不需要被硬编码到图形缓冲区158中。
[0083] 可替代地,应当理解的是功能上一致的结果可通过采用一个图形库来提供,该图形库使用关于屏幕的定向的知识以自动地调整应用所需的图形元素的位置。
[0084] 现参见图11,使用一个单处理器50运行具有不同的认证水平的多应用程序52的能力可被扩展为允许单处理器50及操作系统54通过虚拟化运行一个第二操作系统212。该虚拟化允许这些应用程序52中的一些在一个不同的操作系统212上执行,而不是该设计经过批准的操作系统54。这样,例如,以上描述的修改可与设计经过批准的基于Linux的应用相关,并且仍有A/B级应用中的一些可通过执行 操作系统212源于操作系统212,如Linux操作系统54的一个有效应用。
[0085] 在本实施方案中,操作系统54的一个设计经过批准的基于Linux的内核200可结合一个虚拟器如管理程序210,允许一个客户操作系统212的执行,典型地是一个COTS操作系统如 操作系统。管理程序210为客户操作系统212呈现了一个虚拟硬件平台,允许客户操作系统运行用于 操作系统的A级和B级应用程序52。Linux内核200可直接执行C级应用程序52。
[0086] 如被本领域所理解,管理程序210通过安装在COTS操作系统上的虚拟装置驱动程序214为真实的硬件提供一个接口以及一个虚拟化层216,从而将对COTS操作系统212的外形创建为一个真实的物理机器,即,处理器、存储器、及硬件。然而虚拟机的运行由管理程序210及操作系统54(如以上所修改)所控制,从而约束COTS操作系统212及其处理器50与存储器系统62的真实的物理资源的应用程序52对其的使用,并且作为设计经过批准的操作系统54的辅助。该虚拟机被视为好像是(COTS操作系统的集合,驱动器及应用被寄存在那)其自身右边的一个A/B级应用。 操作系统212如在非易失性存储器66及易失性存储器64中的其他任何应用程序52一样可被给出其自身的分区,并且可经受以上描述的与常规应用相关的其他约束。
[0087] 在这个环境中,C级应用程序52可被直接执行在设计经过批准的操作系统54上,并且因此,可能就包括处理器时间及显示空间的资源而言被给予优先权。
[0088] 虚拟化会带来性能损失,尤其是关于可被至少在部分地实现在软件中或被广泛转化在一个虚拟化的环境中的图形操作。因为这个原因,本发明考虑了在虚拟装置驱动程序到操作系统54的硬件驱动器232之间的的隧道效应220。该隧道效应220可通过对COTS操作系统212进行修改来实现,以避免虚拟装置驱动程序214及虚拟化层216,并通过内核200直接向真实的硬件驱动器232提供命令。以此方式,通过虚拟化层216及管理程序210的工作延迟被消除,并且消除了在图形命令通过虚拟化而不是直接由视频控制器24的硬件执行时发生的延迟。
[0089] 倒转C级应用的优先级到A/B级应用上面的隧道效应的风险通过允许操作系统54开启和关闭隧道效应220而控制,例如通过将驱动器232指向不同的命令缓冲区之间,一个由虚拟装置驱动程序214及隧道效应220使用,而一个由托管在设计经过批准的操作系统54上的应用程序52使用。
[0090] 额外的性能增益可以通过使用大大简化的COTS操作系统移除支持而获得,例如,对于未在电子飞行包10’中实现的硬件组件。
[0091] 额外的性能增益可以通过穿过多个不同的COTS操作系统212(未示出)的运行应用程序52的不同集合获得。不同虚拟机的使用允许每个虚拟机被“调谐”为它们将通过改变分配给由一个不同的操作系统212表示的每个虚拟机的资源而执行的应用程序52的类型。例如,存储密集的应用程序52可被执行在一个被成比例地给予更多存储的虚拟机上;计算密集的应用可被执行在一个被给予更多的处理器资源的虚拟机64a上。类似地,可这样调整硬件资源如网络访问及类似物。以此方式,资源可被更好地分配,减少了来自虚拟化的性能损失。例如,假设给定的虚拟机的存储可影响对虚拟机之间的存储器的简单均匀划分的效率改进,额外的存储可不成比例地提高处理速度。由于电子飞行包10’的封闭的硬件环境,这类的定制是可能的。
[0092] 特别地,本发明不是旨在限制在此包含的实施方案及图示,并且权利要求书应被理解为包括那些实施方案(包括这些实施方案的多个部分)的修改形式及不同实施方案的元素的组合,如在以下的权利要求范围中所达到。在此描述的所有出版物(包括专利及非专利出版物)以其整体通过引用结合在此。