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使开发人员能够重用软件并适应未来的变化。这些产品旨在克服操作系统的不一致,使开发可移植代码变得毫不费力,同时包括高级安全关键和应用程序性能功能。

审核编辑:郭婷

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

    关注

    4994

    文章

    18371

    浏览量

    290172
  • 操作系统
    +关注

    关注

    37

    文章

    6324

    浏览量

    122000
收藏 人收藏

    评论

    相关推荐

    手把手带你移植HAL库函数

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

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

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

    stm32必须要移植系统

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

    传感器抽象框架有哪些

    传感器抽象框架是一种用于开发和管理传感器网络的软件架构。它提供了一种抽象和整合的方式来处理传感器节点、传感器数据和传感器网络的通信。本文将详细介绍传感器抽象框架的背景、设计原则、实施方式以及应用领域
    的头像 发表于 12-28 14:08 265次阅读

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

    Java抽象类是一种不能被实例化的类,它可以包含构造方法。在下文中,我将详细解释抽象类和构造方法的基本概念,并提供一些例子和说明,以帮助读者更好地理解。 首先,让我们来了解一下抽象类的概念
    的头像 发表于 11-21 10:23 401次阅读

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

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

    如何理解java中的抽象

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

    java接口是特殊的抽象类吗

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

    抽象类可以实现接口吗

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

    Java中抽象类和接口的介绍

    Java是一种面向对象的编程语言,提供了抽象类和接口两种机制来帮助开发人员组织和管理代码。本文将详细介绍Java语言中抽象类和接口的概念、特点、使用方式以及它们之间的区别和联系。 抽象类 1.1
    的头像 发表于 11-21 09:47 253次阅读

    TLM抽象模型介绍

    了一个4层的通信模型,除RTL层之外的3层属于事务层。 消息层处于最高抽象层次,被SoC系统结构工程师用来做功能划分和系统级的结构分析。消息层没有时间信息,是事件驱动的。 主设备和从设备之间的一次事务包含
    的头像 发表于 11-02 14:57 367次阅读
    TLM<b class='flag-5'>抽象</b>模型介绍

    AUTOSAR架构MCAL、服务层、ECU抽象层介绍

    1 微控制器抽象层(MCAL) AUTOSAR CP的微控制器抽象层(MCAL)是AUTOSAR软件架构中的一个重要组成部分,它提供了对底层硬件的抽象和访问接口,以实现软件与硬件之间的解耦和可
    的头像 发表于 10-27 15:36 3603次阅读

    基于ARM的Linux系统移植

    电子发烧友网站提供《基于ARM的Linux系统移植.pdf》资料免费下载
    发表于 10-11 10:57 1次下载
    基于ARM的Linux<b class='flag-5'>系统</b><b class='flag-5'>移植</b>

    人工智能技术在军事情报领域的应用现状和发展趋势

    了人工智能技术下的军事情报服务模型。系统梳理了美国智能情报系统典型项目研究发展状况,并对人工智能在军事情报领域重点发展趋势及技术难点进行了探
    发表于 09-18 12:27 911次阅读
    人工智能技术在<b class='flag-5'>军事</b>情报领域的应用现状和发展<b class='flag-5'>趋势</b>

    Linux驱动移植 Linux系统架构优点

    系统移植 linux 驱动移植 移植是说同样的一个 linux 操作系统,我们可以跑到不同的硬件上面,我们把操作
    的头像 发表于 07-27 17:06 592次阅读
    Linux驱动<b class='flag-5'>移植</b> Linux<b class='flag-5'>系统</b>架构优点