0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

军事系统中移植和抽象应用的趋势

星星科技指导员 来源:嵌入式计算设计 作者:操作系统 2022-11-07 11:56 次阅读

随着当今军事电子行业的不断发展和复杂性的增加,旧技术往往会过时,从而需要标准化的开发工具。这些复杂的军事应用程序也可能带来许多挑战,包括使特定于操作系统的代码在不同的操作系统上运行。因此,可行的具有成本效益和资源效率的补救措施包括通过移植和抽象跨多个平台回收和共享软件。

随着当今军事电子行业的不断发展和复杂性的增加,旧技术往往会过时,从而需要标准化的开发工具。这些复杂的军事应用程序也可能带来许多挑战,包括使特定于操作系统的代码在不同的操作系统上运行。因此,可行的具有成本效益和资源效率的补救措施包括通过移植和抽象跨多个平台回收和共享软件。

嵌入式行业不断变化和发展,通常会使旧技术过时,并产生对更标准化开发工具的需求。由于军事系统应用经常庞大而复杂,适应快速的创新可能会带来巨大的挑战。因此,开发人员在使特定于操作系统的代码在不同的操作系统上运行以及在设计时考虑到不断变化的技术时面临障碍。在整个军事和国防系统行业中,跨多个平台回收和共享软件的想法

正迅速成为一种流行的思维方式,因为它绝对具有成本和资源效率。

在新操作系统平台上回收应用程序

军事系统中的嵌入式软件不断发展,以跟上不断变化的市场需求,以及

硬件和软件平台技术。这些进步通常会产生新的系统需求,并可能导致某些技术过时,因此有必要进行平台升级或操作系统更改。开发人员需要利用他们现有的软件和知识库,而不是从头开始重写软件并放弃在开发中的投资。

因此,军事工业对将现有嵌入式软件移植到升级平台或新操作系统的兴趣日益浓厚。这实质上允许开发人员“回收”他们的软件,从而消除了

昂贵的重写和浪费的投资。

但是,使为一个操作系统编写的软件在另一个操作系统上运行是一项艰巨且耗时的任务,并且有许多容易出错的陷阱,因为每个操作系统在许多方面都不同。一个简单的例子是每个操作系统提供的任务优先级级别。例如,在标准Linux 下,优先级范围从 0 到 99;对于 VxWorks,范围为 0 到 255;对于 LynxOS,范围为 0 到 512;对于 Solaris,范围是 0 到169 个优先级。要让软件在具有此类不一致的新操作系统平台上运行,需要重写和重组软件。为了加快这种复杂的任务,开发人员需要一个提供熟悉的API的工具,以消除新操作系统的学习曲线并减少项目的研究和开发时间。此工具应处理有问题的任务优先级变化和其他操作系统不一致,以帮助旧版软件轻松适应新的操作系统平台(参见图 1)。

图1

pYYBAGNogdqATB5QAAA7ypvYSEI049.jpg

跨操作系统平台共享应用程序:规划未来

军事系统应用程序通常庞大而复杂,需要能够相互通信并在具有各种操作系统的分布式计算机系统上运行。陆军未来作战系统(FCS)是迄今为止最大的国防部项目,被政府问责局(GAO)描述为“一项前所未有的事业”,“随着FCS设计的需求得到更好的理解,它将继续增长”。

例如,《华盛顿邮报》最近一篇关于FCS的文章指出,尽管陆军最初估计软件有3400万行,但由于开发范围的变化,新的预测是6380万行。

尽管需要对设计进行修改,但每次应用程序的技术要求发生变化或需要使用新技术时,重新配置系统是不合逻辑的。

鉴于这些问题,整个行业正在迅速意识到规划未来的必要性。开发人员正在寻求利用操作系统抽象工具来编写高度可移植的软件,该软件允许跨各种系统的多个应用程序之间进行通信,并且无需将来重写和昂贵的维护。然而,设计内部操作系统抽象是一项复杂的任务,类似于设计一个全新的操作系统,需要适应现在和未来的应用程序。这需要大量的开发工作和维护,从而将注意力从开发人员的核心项目上移开。

很难设计一个操作系统抽象,其中包含满足应用程序所有需求的所有特性和功能,因此它不依赖于底层操作系统的任何功能(例如:printf())。它还需要花费大量精力来设计一个抽象,允许将来扩展功能,而不会失去现有应用软件的向后兼容性。此外,设计需要考虑缺少某些 API 特性和功能,这些特性和功能仅在某些操作系统上可用,而在其他操作系统上不可用。

真正的操作系统抽象不仅应该抽象 API,还应该抽象数据类型、头文件和符号定义。操作系统抽象需要允许快速添加新的操作系统支持,而无需更改现有的应用程序软件。但是,这需要通过在多个操作系统上实现操作系统抽象解决方案来进行昂贵的测试,以确保它允许应用程序在不同的操作系统上运行而无需更改软件。当需要更改软件以将应用程序移动到新平台时,它完全违背了操作系统抽象设计的目的。很难知道应用程序将使用的每个操作系统(或操作系统版本),因为这需要预测未来,以便规划对应用程序要求的所有更改。也很难正确预测计划的操作系统是否始终可用且最新,也很难规划尚未发布的新操作系统。

为了适应未来的需求并避免如此复杂的项目,开发人员需要一个 COTS 操作系统抽象,以便轻松开发便携式软件。抽象需要允许设计更改,

而无需软件重写,从而保护软件投资。这种抽象工具的设计应具有对国防和任务系统至关重要的安全关键功能,同时又不牺牲实时性能(见

图2)。

图2

pYYBAGNogduADs1qAAAkvD4g6zk609.jpg

保护操作系统投资

军事系统开发人员需要利用现有的知识库来消除学习曲线,并通过开发便携式应用程序来保护软件投资。例如,MapuSoft Technologiesí OSChanger和OS Abstractor使开发人员能够重用软件并适应未来的变化。这些产品旨在克服操作系统的不一致,使开发可移植代码变得毫不费力,同时包括高级安全关键和应用程序性能功能。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5059

    文章

    18972

    浏览量

    301932
  • 操作系统
    +关注

    关注

    37

    文章

    6676

    浏览量

    123135
收藏 人收藏

    评论

    相关推荐

    手把手带你移植HAL库函数

    在嵌入式系统开发,硬件抽象层(HAL,HardwareAbstractionLayer)库的使用可以极大地简化开发过程,提高代码的可移植性和维护性。本文将详细介绍如何快速搞懂HAL库
    的头像 发表于 05-18 08:04 1578次阅读
    手把手带你<b class='flag-5'>移植</b>HAL库函数

    【鸿蒙】标准系统移植指南

    标准系统移植指南 本文描述了移植一块开发板的通用步骤,和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续发布开发板移植的实例供开
    的头像 发表于 02-27 14:36 794次阅读
    【鸿蒙】标准<b class='flag-5'>系统</b><b class='flag-5'>移植</b>指南

    MR混合现实情景实训教学系统军事专业课堂上的应用

    在现代教育,技术的进步为教育领域带来了巨大的变革。MR混合现实情景实训教学系统作为最新的教育技术,为军事专业课堂带来了全新的教学模式。 MR混合现实技术 将虚拟现实(VR)和增强现实(AR)的优势
    的头像 发表于 02-19 10:07 387次阅读

    人工智能的军事应用与影响

    人工智能正在颠覆军事领域。据文献报道,该技术可以通过多种方式部署在军事行动。在此上下文中,其中一些用途涉及以下问题、
    的头像 发表于 01-31 12:28 1264次阅读

    多元智能网络系统军事领域的创新应用

    网络系统的发展应用始于信息和电信领域,并迅速由计算机本地网发展为全球规模的网络系统,为拓展到社会、经济、政治和军事领域奠定了基础。
    的头像 发表于 01-26 10:18 492次阅读

    如何将UCOSIII系统移植到ADSPBF609建立的工程文件

    如何将UCOSIII系统移植到ADSPBF609建立的工程文件,编译环境是CCES
    发表于 01-12 08:20

    stm32必须要移植系统

    电子等。在使用STM32进行开发时,是否需要进行系统移植是一个常见的问题。 系统移植是指将操作系统或者驱动程序从一个硬件平台
    的头像 发表于 01-08 14:17 794次阅读

    传感器抽象框架有哪些

    。 背景 传感器网络是由很多分布式传感器节点组成的网络系统,用于采集环境的各种物理量。每个传感器节点通常由传感器、处理器、存储器和通信接口组成。传感器网络可以应用于环境监测、农业、交通、医疗等多个领域。 设
    的头像 发表于 12-28 14:08 582次阅读

    java抽象类可以有构造函数吗

    Java 抽象类是一种不能直接实例化的类,它通常用作其他类的父类或接口的实现类。抽象类可以包含抽象方法和非抽象方法,
    的头像 发表于 11-21 10:23 811次阅读

    java抽象类可以有普通方法吗

    Java抽象类可以有普通方法,但它也可以有抽象方法。抽象类是一种中间状态,介于普通类和接口之间。它允许定义方法的具体实现,同时也可以定义一些没有具体实现的
    的头像 发表于 11-21 10:22 1427次阅读

    如何理解java抽象

    Java抽象类是一种特殊的类,无法被实例化,只能被继承。它是一个中间层的类,位于具体类和接口之间,用于定义通用的属性和方法,并提供一些默认的实现。抽象类经常被用来作为其他类的基类,以提供一些通用
    的头像 发表于 11-21 10:16 536次阅读

    java接口是特殊的抽象类吗

    Java接口是一种特殊的抽象类吗? 在Java编程语言中,接口(interface)与抽象类(abstract class)是两种不同的概念,尽管它们之间存在一些相似之处,但在设计和使用上有着明显
    的头像 发表于 11-21 10:07 585次阅读

    抽象类可以实现接口吗

    抽象类是一种特殊的类,在面向对象编程起到了很重要的作用。同时,接口也是面向对象编程的一个重要概念,用于定义类的契约和行为。抽象类和接口的设计和使用有很多相似之处,但也有一些区别。在
    的头像 发表于 11-21 09:49 1147次阅读

    Java抽象类和接口的介绍

    概念 抽象类是一种特殊的类,它不能被实例化,只能作为基类被继承。抽象类通过提供抽象方法和普通方法,来定义一组相关类的公共接口和行为。 1.2 特点 1.2.1 抽象类不能被实例化:由
    的头像 发表于 11-21 09:47 428次阅读

    java接口和抽象类的区别

    Java的接口(Interface)和抽象类(Abstract class)都是抽象的概念,它们可以用来定义类的行为和特征。虽然它们具有一些相似之处,但也存在一些重要的区别。本文将详尽介绍Java
    的头像 发表于 11-21 09:45 497次阅读