随着新系统的设计,软件开发人员正在使用基于开放标准的编程语言和操作系统,如C / C++和POSIX,以确保未来的可移植性。
随着新系统的设计,软件开发人员正在使用基于开放标准的编程语言和操作系统,如C / C++和POSIX,以确保未来的可移植性。
但对于现有的已部署遗留系统,不一定有相同的考虑因素和设计方法可用或遵循。当需要更新系统时,无论是为了更改硬件还是添加新功能,通常都会面临如何迁移或更新现有软件而不必经历重写软件的昂贵练习的两难境地。在经过认证的系统中,这种成本甚至更高,因为重新编码=重新认证。
然而,好消息是,一种新的虚拟化技术可以重用现有的软件应用程序,包括运行它们的操作系统,而无需更改或重建软件。
不断发展的遗留系统
如今,系统工程师面临着将基于老化硬件的遗留系统发展到更现代设备上的任务时,面临着艰巨的挑战。当硬件出现故障、过时且不再可用时,设计人员必须转向更新、更复杂的硬件。在大多数情况下,旧版软件依赖于操作系统版本,如果不升级,则可能不支持新硬件。将旧应用程序同时迁移到新操作系统和新硬件平台的任务在时间和金钱方面都可能非常昂贵。
这就是现代虚拟化技术发挥作用的地方,它允许重用现有的软件应用程序及其操作系统,几乎不需要更改代码。想象一下,在一种技术中,一小段代码直接在新的现代硬件上运行,并允许多个“来宾”操作系统在顶部同时运行,每个操作系统都有自己的“虚拟”资源集(虚拟机)。每个操作系统都认为它看到了一整套硬件,包括专用的CPU、内存、磁盘、图形、鼠标、键盘、网络设备等。当这些虚拟机配置为类似于旧硬件时,运行旧版软件应用程序和操作系统的任务变得简单。
分离内核和虚拟机管理程序
使这成为可能的一小段代码是分离内核和虚拟机管理程序(SKH)。SKH 直接在新的现代硬件上运行,并允许工程师将物理或虚拟资源分配给各种来宾操作系统。然后,SKH 强制分离这些资源,为每个来宾提供硬件级安全性。旧版操作系统在其分配的虚拟机上完全虚拟化运行,无需任何修改。LynuxWorks的LynxSecure是高度安全的现代SKH的一个例子。
除了通过使用虚拟化运行遗留应用程序来节省重新开发时间之外,SKH 还可以使应用程序从巨大的性能提升中受益。现在可以将多个更快的 CPU 和大量 RAM 分配给传统操作系统和应用程序,从而提高其性能,超越其原始硬件。摩尔定律预测晶体管密度每两年翻一番,因此一个已有 15 年历史的传统系统可能会看到新硬件的性能呈指数级(200 倍)增长。
应用
许多复杂的军事、航空和医疗系统在现场部署之前必须经过严格的认证流程。在给定硬件目标上认证应用程序及其操作系统的工作很容易超过应用程序本身的实际开发成本。虚拟化允许旧版应用程序和操作系统在较新的硬件上未经修改地运行,从而显著降低认证成本。更少的代码更改等同于降低测试成本和认证可重用性。
虚拟化的好处
虚拟化为旧系统提供了其他附加优势。系统工程师现在可以将多个遗留系统整合到一个更强大的硬件平台上,并降低整体系统成本。事实上,遗留系统可以与其他较新的应用程序和操作系统一起运行,以提供比以前更多的功能。想象一下,在RTOS(如LynxOS)上运行的传统实时GPS应用程序与基于Windows XP的电子邮件应用程序相邻,所有这些都在同一硬件平台上。这不仅在今天是可能的,而且可以在分离内核和虚拟机管理程序的帮助下安全地完成。分离内核保证一个来宾不会以任何方式影响其他来宾。在提供的示例中,如果 Windows XP 客户机拾取了“病毒”,则不会影响 RTOS 客户机或其性能。
虚拟化照亮了遗留系统的未来
使用现代分离内核和虚拟机管理程序现在可以延长旧系统的使用寿命,允许迁移到新硬件、添加新功能以及将多个物理系统整合到一个系统中。所有这些优势都有助于在航空航天和国防工业中部署新的安全和安保系统时降低成本并降低风险。
审核编辑:郭婷
-
操作系统
+关注
关注
37文章
6850浏览量
123431 -
C++
+关注
关注
22文章
2112浏览量
73706
发布评论请先 登录
相关推荐
评论