CN117827277B - 操作系统的多内核适配装置、方法及工业物联网操作系统 - Google Patents
操作系统的多内核适配装置、方法及工业物联网操作系统 Download PDFInfo
- Publication number
- CN117827277B CN117827277B CN202410248575.9A CN202410248575A CN117827277B CN 117827277 B CN117827277 B CN 117827277B CN 202410248575 A CN202410248575 A CN 202410248575A CN 117827277 B CN117827277 B CN 117827277B
- Authority
- CN
- China
- Prior art keywords
- kernel
- target
- component
- operating system
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000006978 adaptation Effects 0.000 claims abstract description 41
- 238000013461 design Methods 0.000 claims abstract description 16
- 239000000306 component Substances 0.000 claims description 163
- 230000003993 interaction Effects 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 239000008358 core component Substances 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 14
- 230000015654 memory Effects 0.000 description 33
- 238000007726 management method Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005012 migration Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Abstract
本申请涉及工业物联网技术领域,具体提供一种操作系统的多内核适配装置、方法及工业物联网操作系统,旨在解决操作系统无法兼容多个内核的问题。为此目的,本申请的操作系统的多内核适配装置包括:设计模块用于基于预设的目标应用程序的待适配内核构件的配置文件,生成包括多个目标内核对象的目标内核构件;注册模块用于分别给各个目标内核对象数据生成唯一标识,及分别将各个目标内核对象添加到目标内核构件的双向链表中,生成第一目标数据;适配模块用于基于目标数据,从默认的内核构件中适配目标应用程序的内核构件。通过上述适配装置,使系统能兼容多种内核,有效降低应用程序开发的难度,且内核适配的灵活性、可复用性及可用性大大提高。
Description
技术领域
本申请涉及工业物联网技术领域,具体涉及一种操作系统的多内核适配装置、方法及工业物联网操作系统。
背景技术
工业场景节点设备上的物联网操作系统总体上具有各自独立的技术体系,拥有相对封闭的自我生态,具有较高的应用门槛,可复用的资源相对缺乏,呈现较为严重的各自为政的碎片化状态。近年来为了拓展应用范围、吸引开发者,降低应用开发与移植成本,很多系统开始注重强调对POSIX(Portable Operating System Interface,可移植操作系统接口)接口规范的遵从。然而,对POSIX接口支持较好的操作系统无法兼容多个内核,使得工业生产的效率和质量都较为低下。
发明内容
为解决以上问题,本申请提供一种操作系统的多内核适配装置,通过设计模块基于预设的目标应用程序的待适配内核构件的配置文件,生成包括多个目标内核对象的目标内核构件,然后注册模块分别给各个目标内核对象数据生成唯一标识后将各个目标内核对象添加到目标内核构件的双向链表中,生成目标数据,最后适配模块基于目标数据从默认的内核构件中适配目标应用程序对应的内核构件,使得操作系统能够兼容多个内核,目标应用程序能够根据实际业务需要自由选择部署合适的内核进行使用,有效地降低了目标应用程序开发的难度,且在内核需要优化时无需修改目标应用程序,极大地降低了目标应用程序与内核的耦合程度、目标应用程序的开发难度和迁移成本以及与操作系统对接的门槛,进而使得目标应用程序与内核适配的灵活性、可复用性以及可用性显著提高。
第一方面,本申请实施例提供了一种操作系统的多内核适配装置,包括:设计模块,用于基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,所述目标内核构件包括多个目标内核对象;注册模块,用于分别给各个所述目标内核对象数据生成唯一标识,以及分别将各个所述目标内核对象添加到所述目标内核构件的双向链表中,生成目标数据;适配模块,用于基于所述目标数据,从默认的内核构件中适配所述目标应用程序对应的内核构件。
第二方面,本申请实施例提供了一种操作系统的多内核适配方法,包括:基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,所述目标内核构件包括多个目标内核对象;分别给各个所述目标内核对象数据生成唯一标识,以及分别将各个所述目标内核对象添加到所述目标内核构件的双向链表中,生成第一目标数据;基于所述目标数据,从默认的内核构件中适配所述目标应用程序对应的内核构件。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例通过设计模块基于预设的目标应用程序的待适配内核构件的配置文件,生成包括多个目标内核对象的目标内核构件,然后注册模块分别给各个目标内核对象数据生成唯一标识后将各个目标内核对象添加到目标内核构件的双向链表中,生成目标数据,最后适配模块基于目标数据从默认的内核构件中适配目标应用程序对应的内核构件,使得操作系统能够兼容多个内核,目标应用程序能够根据实际业务需要自由选择部署合适的内核进行使用,有效地降低了目标应用程序开发的难度,且在内核需要优化时无需修改目标应用程序,极大地降低了目标应用程序与内核的耦合程度、目标应用程序的开发难度和迁移成本以及与操作系统对接的门槛,进而使得目标应用程序与内核适配的灵活性、可复用性以及可用性显著提高。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例所提供的一种操作系统的多内核兼容适配装置的结构示意图;
图2示出了图1中管理模块的结构示意图;
图3示出了本申请实施例所提供的一种操作系统的多内核兼容适配方法的流程图;
图4示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
工业场景节点设备上的物联网操作系统总体上具有各自独立的技术体系,拥有相对封闭的自我生态,具有较高的应用门槛,可复用的资源相对缺乏,呈现较为严重的各自为政的碎片化状态。近年来为了拓展应用范围、吸引开发者,降低应用开发与移植成本,很多系统开始注重强调对POSIX(Portable Operating System Interface,可移植操作系统接口)接口规范的遵从。然而,对POSIX接口支持较好的操作系统无法兼容多个内核,使得工业生产的效率和质量都较为低下。
基于此,本申请实施例提供一种操作系统的多内核适配装置。下面结合附图对本申请实施例的方案进行具体说明。
参见图1示出的一种操作系统的多内核适配装置的结构示意图,该装置具体包括:
设计模块101,用于基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,目标内核构件包括多个目标内核对象;
注册模块102,用于分别给各个目标内核对象数据生成唯一标识,以及分别将各个目标内核对象添加到目标内核构件的双向链表中,生成目标数据;
适配模块103,用于基于目标数据,从默认的内核构件中适配目标应用程序对应的内核构件。
本申请实施例中,操作系统的多内核适配装置可以以Transform 转换层框架为基础,采用Rust语言和C语言开发得到,且该操作系统的多内核适配装置可以运行在ARM(Advanced RISC Machines,高级精简指令集计算机)或RISC-V(RISC Five,第五代精简指令处理器)等芯片中。
通过采用Transform 转换层框架开发得到操作系统的多内核适配装置,可以来实现个性化的装置定制,灵活地对装置调用和参数进行设置,显著提升操作系统的多内核适配装置向下兼容适配多种操作系统内核的灵活性。
预设的目标应用程序的待适配内核构件的配置文件可以采用文本语言描述的形式,对目标应用程序所需要适配的内核构件的属性参数信息进行设置,将设置好的文件上传到操作系统,操作系统的内核适配装置利用其设计模块接收该配置文件,从而生成目标内核构件。而且,配置文件的具体形式可以如下描述:
Feature: //特性
Kernel: true;//是否支持内核特性
Num: /*kernel num*///若支持内核特性,内核个数
Kernel: //内核特性详细定义
version: 1.0.0//内核版本
info: "kernel name"//内核名
toolchain: "gcc"//内核编译工具链
Parameter: //内核对象特性
support: "task semaphore mutex memory timer filesystem"//内核对象支持:线程、信号量、互斥量、内存、定时器、文件系统
Task: //线程特性详细定义
attr: /*task attribute*///线程参数
Semaphore: //信号量特性详细定义
attr: /*semaphore attribute*///信号量参数
Mutex: //互斥量特性详细定义
attr: /*mutex attribute*///互斥量参数
Memory: //内存特性详细定义
attr: /*memory attribute*///内存参数
Timer: //定时器特性详细定义
attr: /*timer attribute*///定时器参数
Filesystem: //文件系统特性详细定义
attr: /*filesystem attribute*///文件系统参数
通过使用配置文件来预设设置目标应用程序需要进行适配的内核构件的属性参数信息进行设置,能够使得不同的目标应用程序灵活地适配与其匹配的内核构件,显著提升操作系统适配内核的灵活性和复用性。
在操作系统的内核构件中,双向链表注册通常指的是将一个内核对象(如进程控制块、设备控制块等)添加到内核构件中的双向链表中,并通过这种方式对内核对象进行管理。双向链表是一种常见的数据结构,其中每个节点都包含指向前一个节点和后一个节点的指针,这样可以方便地在链表中插入、删除和遍历节点。
通过将各个目标内核对象添加到目标内核构件维护的双向链表中,能够使得目标内核构件对这些目标内核对象进行有效管理和操作。通过双向链表注册,目标内核构件可以快速地查找和访问这些对象,实现对它们的统一管理,进而提升操作系统的多内核适配装置的适配速度。此外,通过注册模块得到的目标数据可以包括内核的属性特征、回调函数、双向链表等信息。
在上述实施方式的基础上,在一些变更的实施方式中,设计模块101还可以包括编译工具配置模块(图中未示出),用于在初始化阶段基于操作系统内核构件的项目根目录单独创立构建目录,并在其中配置交叉编译链以初始化指定变成语言的交叉编译工具链、相关Kconfig、Makefile配置等编译工具。
在上述实施方式的基础上,在一些变更的实施方式中,适配模块103包括分类模块1031、加载模块1032以及管理模块1033;分类模块1031,用于基于目标数据,分别给各个目标内核对象设置实际交互类型;加载模块1032,用于加载经过分类模块1031处理后的各个目标内核对象,生成所述目标应用程序的通用服务接口;管理模块1033,用于对各个目标内核对象进行修改。
本申请实施例中,实际交互类型可以包括被动型、主动型以及事件型。其中,被动型交互类型对应的目标内核对象指的是无内部触发机制和事件,由其他外部构件通过互相通信来调用、操作;主动型交互类型对应的目标内核对象指的是拥有内部控制机制,通常作为构件容器中与目标应用程序进行互相通信、操作和配置的主要部分,大部分主动型交互类型对应的目标内核对象属于组合对象范围,它们由多个子对象和被动型交互类型对应的目标内核对象封装而成,这些内部子对象组合成为单一功能模块,构件容器和目标应用程序与这些主动型交互类型对应的目标内核对象相互交往、通信,通过主动型交互类型对应的目标内核对象来对内部各个子对象进行协调调用操作完成对应功能;事件型交互类型对应的目标内核对象指由外部事件来触发相应操作,其内部包含了事件接收器,接收和处理外部事件源,通常被用来对经常性报告事件的软硬件部件建模,例如报告时间事件的内核定时器等,其事件一旦被触发,调用事件型交互类型对应的目标内核对象完成对应操作。
进一步地,加载模块1032,用于加载经过分类模块1031处理后的各个目标内核对象,并对各个目标内核对象进行识别与可行性验证,后结合应用场景进行自适应性装配,若验证成功,在将各个目标内核对象装配到构件容器中,生成目标应用程序的通用服务接口;若验证失败,则停止装备操作,并可以发出错误提示。如对实时性要求较高的场景选择实时性较好的实时操作系统内核、对生产可靠性和稳定性要求严格的场景选择鲁棒性强的工控操作系统内核。
需要说明的是,通用服务接口指的是为目标应用程序提供业务数据的接口。
通过为目标应用程序提供通用服务接口,不用考虑内核构件接口差异,实现目标应用程序的可复用性,显著降低目标应用程序的开发和移植成本。
参见图2,在上述实施方式的基础上,在一些变更的实施方式中,管理模块1033包括更新单元331;更新单元331,用于基于接收到的修改目标内核构件请求,获取请求中的修改数据,以及基于修改数据,对目标数据进行修改。具体地,目标数据可以包括静态属性信息和动态属性信息,静态属性信息涉及与内核构件运行环境相关的配置信息,例如内存大小、启动内核构件的名称、版本等信息,这些配置信息在运行过程中不能随意变更;动态属性信息则可以包括内核对象特性,即线程、信号量、互斥量、内存、定时器、文件系统等信息,而动态属性信息则被修改为修改数据中提供的对应的信息。
在上述实施方式的基础上,在一些变更的实施方式中,更新单元331包括接收器3311、控制器3312以及读写器3313;接收器3311,用于接收修改目标内核构件请求;控制器3312,用于获取接收器3312接收到的修改目标内核构件请求中的修改数据;读写器3313,用于基于修改数据,更新配置文件。具体通过装置对待适配好的内核构件进行动态改动可以包括:
修改目标内核构件请求发送给管理模块1033中的更新单元331的接收器3311,对配置文件中的属性信息进行分析,确定为全局配置;
接收器3311发送请求给控制器3312,让控制器3312为修改请求做前期准备;
控制器3312通知所有与即将配置的构件具有相关联系的构件;
管理模块1033与相关构件之间建立构件连接器;
准备完成,内核构件连接器确认准备完成,开始操作系统构件动态配置;
控制器3312通知需要动态配置的构件,开始全局动态配置;
管理模块1033开始构件动态配置、更新;
内核构件动态配置完成后,管理模块1033发送配置结束信息给控制器3312和目标应用程序。
例如,基于矽璓工业物联操作系统XiUOS,支持三种操作系统内核,即XiZi内核、RT-Thread内核、NuttX内核。通过以上操作系统的多内核兼容适配装置,XiUOS应用程序可支持自定义选择三种内核中之一运行,使用操作系统的多内核适配装置提供通用服务接口,无需针对某一内核单独开发,并可兼容众多第三方开源库,如C库中的NewLib、MuslLib等。通过设计模块、注册模块、适配模块的配合,可以实现工业应用与内核的隔离,并且大大提供应用的可复用性,降低开发门槛和维护成本。具体可以是:
XiUOS工业应用业务需求信息收集、分析,明确功能需求、性能要求、安全要求等,选定内核构件和其他功能构件。
进行应用架构设计。考虑模块划分、接口设计、数据流设计等,配置文件,定义内核构件属性信息。
分析内核构件的依赖关系,并引入相关依赖的构件库。
根据需求实现应用,导出构件接口,提供外部服务,根据构件描述模型定义内核构件描述文件。
获取内核构件描述文件并注册内核构件,与依赖的构件库、工业应用间通过连接器建立相互连接,最终完成嵌入式工业物联操作系统搭建。
将装配好的工业物联操作系统,部署到工控设备硬件平台上,进行加载启动,执行相关的工业应用业务。
在上述实施方式的基础上,在一些变更的实施方式中,操作系统的多内核适配装置还包括:读写器3313,用于读取预设的目标应用程序的待适配内核构件的配置文件,得到初始数据;设计模块101,用于将初始数据转化为目标内核构件所需要的数据结构,然后对数据结构进行编译处理,得到目标内核构件。
本申请实施例通过设计模块基于预设的目标应用程序的待适配内核构件的配置文件,生成包括多个目标内核对象的目标内核构件,然后注册模块分别给各个目标内核对象数据生成唯一标识后将各个目标内核对象添加到目标内核构件的双向链表中,生成目标数据,最后适配模块基于目标数据从默认的内核构件中适配目标应用程序对应的内核构件,使得操作系统能够兼容多个内核,目标应用程序能够根据实际业务需要自由选择部署合适的内核进行使用,有效地降低了目标应用程序开发的难度,且在内核需要优化时无需修改目标应用程序,极大地降低了目标应用程序与内核的耦合程度、目标应用程序的开发难度和迁移成本以及与操作系统对接的门槛,进而使得目标应用程序与内核适配的灵活性、可复用性以及可用性显著提高。
参见图3,本申请实施例还提供一种操作系统的多内核适配方法,该方法具体包括以下步骤:
步骤201:基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,目标内核构件包括多个目标内核对象。
内核是操作系统的核心组件,是最基本的软件层。它负责管理和控制计算机的硬件资源,并提供给应用程序访问和使用这些资源的接口。内核作为操作系统的核心,承担了以下几个主要功能:
1. 系统资源管理:内核负责管理计算机的硬件资源,包括处理器、内存、磁盘、输入输出设备等。它分配和回收这些资源,协调多个应用程序之间的资源竞争,保证资源的有效利用。
2. 进程管理:内核管理计算机中运行的进程和线程,分配处理器时间片,调度执行不同的任务。它负责创建、终止和切换进程,管理进程间的通信和同步。
3. 内存管理:内核管理计算机的内存资源,包括分配和回收内存空间、虚拟内存管理、页表管理等。它通过内存管理单元(MMU)实现地址映射和页面交换,确保应用程序能够正常访问内存。
4. 文件系统:内核管理计算机中的文件和目录,提供对文件的读写、创建、删除等操作。它负责文件的组织结构、权限控制、磁盘空间管理等。
5. 设备驱动程序:内核管理计算机中的各种硬件设备,包括键盘、鼠标、显示器、磁盘驱动器、网卡等。它提供设备驱动程序,使得应用程序可以通过内核接口与硬件设备进行通信。
内核是操作系统的核心,负责操作系统的底层功能和资源管理,为上层的应用程序提供了一个抽象的硬件接口。不同的操作系统有不同的内核实现。
在上述实施方式的基础上,在一些变更的实施方式中,在基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件之前,还可以预先在操作系统中集成多个默认内核构件以及每个默认内核构件对应的默认内核依赖构件,分别将各个默认内核构件及其对应的默认内核依赖构件利用容器技术(如Docker)进行容器化处理,使得各个默认内核及其对应的默认内核依赖构件能够形成独立的内核运行环境,确保不会相互冲突。
需要说明的是,内核依赖构件指的是在操作系统环境下运行的应用程序所依赖的基础库,用于提供一系列常用的函数和数据结构。内核依赖构件常会依赖于操作系统的内核构件,通过系统调用与内核进行交互。例如,内核依赖构件中的文件操作函数(如打开文件、读取文件)需要通过系统调用传递给内核,由内核来完成实际的文件操作。内核依赖构件还可以提供对多线程、网络、时间等功能的支持,这些功能也需要依赖于内核的实现。
通过预先在系统中集成多个内核及其对应的内核依赖构件,并进行容器化处理,能够使得每个内核都有自己独立的运行环境,避免了相互冲突和依赖的问题,而且每个内核都可以在不同环境中运行,即无论是开发环境、测试环境还是生产环境,还可以在不同操作系统上部署,而无需担心构件和内核的兼容性问题;再再有容器化可以实现内核的弹性和可扩展性,通过容器编排工具(如Kubernetes),可以自动调度和管理多个容器实例,根据需求进行水平扩展或收缩,容器化的内核可以快速响应变化的负载,提供高可用性和容错能力;再有,容器化确保了目标应用程序在不同环境中具有一致的运行环境。内核依赖构件和内核构件在容器内部进行打包和管理,不会受到外部环境的影响,这意味着目标应用程序的行为和性能在不同环境中是可预测的,便于开发、测试和故障排查。
步骤202:分别给各个目标内核对象生成唯一标识,以及分别将各个目标内核对象添加到目标内核构件的双向链表中,生成目标数据。
步骤203:基于目标数据,从默认的内核构件中适配目标应用程序对应的内核构件。
在上述实施方式的基础上,在一些变更的实施方式中,基于目标数据,从默认的内核构件中适配目标应用程序对应的内核构件,可以包括基于目标数据,从多个默认内核构件中确定最终内核构件,然后基于最终内核构件,获取与最终内核构件相互依赖的内核依赖构件,将最终内核构件、目标应用程序以及内核依赖构件进行编译处理。
在上述实施方式的基础上,在一些变更的实施方式中,还可以接收为目标应用程序配置的内核构件优化的请求,获取待优化配置数据,然后基于待优化配置数据,重新执行从默认的内核构件中适配所述目标应用程序对应的内核构件的步骤。
本申请实施例提供的操作系统的内核适配方法与上述实施例提供的操作系统的内核适配装置出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种包括前述实施方式所提供的操作系统的多内核适配装置对应的工业物联网操作系统。
本申请实施例提供的工业物联网操作系统与本申请实施例提供的操作系统的多内核适配装置出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的操作系统的多内核适配方法对应的电子设备。请参考图4,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图4所示,所述电子设备30可以包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述任一实施方式所提供的操作系统的多内核适配方法。
其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口303(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述操作系统的多内核适配方法可以应用于处理器300中,或者由处理器300实现。
处理器300可能是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的操作系统的多内核适配方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的操作系统的多内核适配方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的操作系统的多内核适配方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请实施方式还提供一种与前述实施方式所提供的操作系统的多内核适配方法对应的计算机程序产品,包括计算机程序,该计算机程序被处理器执行以实现上述各实施例提供的操作系统的多内核适配方法。
本申请的上述实施例提供的计算机可读存储介质、计算机程序产品均与本申请实施例提供的操作系统的多内核适配方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器( DSP )来实现根据本申请实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种操作系统的多内核适配装置,其特征在于,包括:
设计模块,用于基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,所述目标内核构件包括多个目标内核对象;
注册模块,用于分别给各个所述目标内核对象生成唯一标识,以及分别将各个所述目标内核对象添加到所述目标内核构件的双向链表中,生成目标数据;
适配模块,用于基于所述目标数据,从默认的内核构件中适配所述目标应用程序对应的内核构件;
所述适配模块包括分类模块和加载模块;
所述分类模块,用于基于所述目标数据,分别给各个所述目标内核对象设置实际交互类型,其中,所述实际交互类型包括被动型、主动型以及事件型;
所述加载模块,用于加载经过分类模块处理后的各个所述目标内核对象,生成所述目标应用程序的通用服务接口,包括:
所述加载模块,用于加载经过分类模块处理后的各个目标内核对象,并对所述各个目标内核对象进行识别与可行性验证,后结合应用场景进行自适应性装配,若验证成功,则将所述各个目标内核对象装配到构件容器中,生成所述目标应用程序的通用服务接口;
还包括:
读写器,用于读取预设的所述目标应用程序的待适配内核构件的配置文件,得到初始数据;
所述设计模块,用于将所述初始数据转化为所述目标内核构件所需要的数据结构,对所述数据结构进行编译处理,得到所述目标内核构件。
2.根据权利要求1所述的操作系统的多内核适配装置,其特征在于,所述适配模块还包括管理模块;
所述管理模块,用于对各个所述目标内核对象进行修改。
3.根据权利要求2所述的操作系统的多内核适配装置,其特征在于,所述管理模块包括更新单元;
所述更新单元,用于基于接收到的修改目标内核构件请求,获取所述请求中的修改数据,以及所述修改数据,对所述目标数据进行修改。
4.根据权利要求3所述的操作系统的多内核适配装置,其特征在于,所述更新单元包括接收器、控制器以及读写器;
所述接收器,用于接收修改目标内核构件请求;
所述控制器,用于获取所述接收器接收到的修改目标内核构件请求中的修改数据;
所述读写器,用于基于所述修改数据,更新所述配置文件。
5.一种操作系统的多内核适配方法,其特征在于,包括:
基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件,其中,所述目标内核构件包括多个目标内核对象,包括:
读取预设的所述目标应用程序的待适配内核构件的配置文件,得到初始数据;
将所述初始数据转化为所述目标内核构件所需要的数据结构,对所述数据结构进行编译处理,得到所述目标内核构件;
分别给各个所述目标内核对象生成唯一标识,以及分别将各个所述目标内核对象添加到所述目标内核构件的双向链表中,生成目标数据;
基于所述目标数据,从默认的内核构件中适配所述目标应用程序对应的内核构件,包括:
基于所述目标数据,分别给各个所述目标内核对象设置实际交互类型,其中,所述实际交互类型包括被动型、主动型以及事件型;
加载经过设置实际交互类型的各个所述目标内核对象,生成所述目标应用程序的通用服务接口,包括:
加载经过设置实际交互类型的各个目标内核对象,并对所述各个目标内核对象进行识别与可行性验证,后结合应用场景进行自适应性装配,若验证成功,则将所述各个目标内核对象装配到构件容器中,生成所述目标应用程序的通用服务接口。
6.根据权利要求5所述的操作系统的多内核适配方法,其特征在于,所述基于预设的目标应用程序的待适配内核构件的配置文件,生成目标内核构件之前,还包括:
预先在所述操作系统中集成多个默认内核构件以及每个所述默认内核构件对应的默认内核依赖构件;
分别将各个默认内核构件及其对应的所述默认内核依赖构件进行容器化处理。
7.根据权利要求6所述的操作系统的多内核适配方法,其特征在于,基于所述目标数据,从默认的内核构件中适配所述目标应用程序对应的内核构件,包括:
基于所述目标数据,从所述多个默认内核构件中确定最终内核构件;
基于所述最终内核构件,获取与所述最终内核构件相互依赖的内核依赖构件;
将所述最终内核构件、所述目标应用程序以及所述内核依赖构件进行编译处理。
8.根据权利要求5所述的操作系统的多内核适配方法,其特征在于,所述方法还包括:
接收为所述目标应用程序配置的内核构件优化的请求,获取待优化配置数据;
基于所述待优化配置数据,重新执行所述从默认的内核构件中适配所述目标应用程序对应的内核构件的步骤。
9.一种工业物联网操作系统,其特征在于,包括权利要求1-4中任一项所述的操作系统的多内核适配装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248575.9A CN117827277B (zh) | 2024-03-05 | 操作系统的多内核适配装置、方法及工业物联网操作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248575.9A CN117827277B (zh) | 2024-03-05 | 操作系统的多内核适配装置、方法及工业物联网操作系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827277A CN117827277A (zh) | 2024-04-05 |
CN117827277B true CN117827277B (zh) | 2024-07-16 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930205A (zh) * | 2012-10-10 | 2013-02-13 | 北京奇虎科技有限公司 | 一种监测单元及方法 |
CN103971067A (zh) * | 2014-05-30 | 2014-08-06 | 中国人民解放军国防科学技术大学 | 支持核内外实体的操作系统内核统一访问控制方法 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930205A (zh) * | 2012-10-10 | 2013-02-13 | 北京奇虎科技有限公司 | 一种监测单元及方法 |
CN103971067A (zh) * | 2014-05-30 | 2014-08-06 | 中国人民解放军国防科学技术大学 | 支持核内外实体的操作系统内核统一访问控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8677327B2 (en) | Service testing method and service testing system | |
US20160019072A1 (en) | Dynamic determination of application server runtime classloading | |
WO2022016848A1 (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
CN112181588A (zh) | 一种应用容器化方法、装置及电子设备和存储介质 | |
CN112242920B (zh) | 一种云平台部署方法、装置及节点 | |
CN111666210A (zh) | 一种芯片验证方法及装置 | |
JP2004503866A (ja) | モジュラーコンピュータシステムおよび関連方法 | |
CN112256249A (zh) | 扩展Android系统功能的方法、设备及计算机存储介质 | |
CN116719533A (zh) | 环境自动部署方法、部署装置、电子设备及存储介质 | |
CN117827277B (zh) | 操作系统的多内核适配装置、方法及工业物联网操作系统 | |
CN111522623B (zh) | 组件化软件多进程运行系统 | |
US7418713B2 (en) | Component processing system and component processing method | |
CN110471828B (zh) | 一种操作系统测试方法、装置及其设备 | |
CN117827277A (zh) | 操作系统的多内核适配装置、方法及工业物联网操作系统 | |
CN113177292B (zh) | 一种通用的bim二次开发实现方法和装置 | |
CN116382713A (zh) | 构建应用镜像的方法、系统、设备和存储介质 | |
CN110083469B (zh) | 一种异构硬件组织运行统一内核方法及系统 | |
CN113867776A (zh) | 中台应用的发布方法、装置、电子设备和存储介质 | |
CN110673890B (zh) | 插件调用方法、系统、介质及装置 | |
CN111459570B (zh) | Pdf插件加载方法、电子设备和计算机存储介质 | |
US10698802B1 (en) | Method and system for generating a validation test | |
CN112306539A (zh) | 一种单片机应用层开发方法、系统、终端及介质 | |
CN112328213B (zh) | 一种在线软件开发过程的隔离方法、设备及介质 | |
US12014161B2 (en) | Deployment of management features using containerized service on management device and application thereof | |
CN117234466B (zh) | 企业管理软件开发方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |