CN113391821B - 一种非对称多处理器嵌入式操作系统 - Google Patents
一种非对称多处理器嵌入式操作系统 Download PDFInfo
- Publication number
- CN113391821B CN113391821B CN202110508208.4A CN202110508208A CN113391821B CN 113391821 B CN113391821 B CN 113391821B CN 202110508208 A CN202110508208 A CN 202110508208A CN 113391821 B CN113391821 B CN 113391821B
- Authority
- CN
- China
- Prior art keywords
- operating system
- embedded
- real
- time
- embedded real
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
一种非对称多处理器嵌入式操作系统,部署在非对称多核硬件平台上,所述非对称多核硬件平台包括:非对称的多核处理器,包括:一个部署在主处理器上的主操作系统和一个或多个部署在从属处理器上的嵌入式实时操作系统;所述主操作系统,用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载;所述嵌入式实时操作系统,用于执行主操作系统分配的实时任务;所述主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式交互信息。该方法充分利用非对称多核处理器构架特点,解决了实时性操作系统与软件功能完备操作系统在同一嵌入式非对称多核处理器上共存的矛盾,提高系统实时性和安全性。
Description
技术领域
本发明涉及嵌入式操作系统领域,具体涉及一种非对称多处理器嵌入式操作系统。
背景技术
对称式多核处理器与非对称多核处理器都将通用多核处理器与硬件加速器结合在一起使用,其不同之处在于通用处理器和专用处理器所占的比例以及这些资源的使用方法。对称多核处理器采用大量相同的通用处理器内核,在操作系统的调度下,其中任何处理器都能运行任何类型的线程,而少量专用硬件加速器引擎则在通用处理器控制之下运行。而在非对称处理器中,通用处理器的数量相对较少,其中单核或多核处理器与一系列专门运行计算强度较高、对时延敏感性强的特定任务的专用加速器引擎结合使用。
就传统多核构架方案而言,操作系统将大多数应用工作分配到多个通用内核和处理引擎上。这种处理工作分配机制会降低确定性,因为每项工作在进入下一步之前都必须先经过操作系统调度。但是,如果要在不同的流量负载条件下提供确定性的性能,传统的操作系统解决方案就无法很好地满足这种要求。
发明内容
为了解决现有技术中所存在的上述问题,本发明提供一种非对称多处理器嵌入式操作系统,部署在非对称多核硬件平台上,所述非对称多核硬件平台包括:非对称的多核处理器,包括:
一个部署在主处理器上的主操作系统和一个或多个部署在从属处理器上的嵌入式实时操作系统;
所述主操作系统,用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载;
所述嵌入式实时操作系统,用于执行主操作系统分配的实时任务;
所述主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式交互信息。
优选的,所述嵌入式实时操作系统的数量由从属处理器的数量决定,一个从属处理器部署一个嵌入式实时操作系统。
优选的,所述主操作系统在内存分配上为嵌入式实时操作系统预留运行程序及数据的空间和共享内存空间。
优选的,所述主操作系统和嵌入式实时操作系统均包括远方驱动模块;
所述主操作系统的远方驱动模块,用于为嵌入式实时操作系统程序的加载提供驱动接口;
所述嵌入式实时操作系统的远方驱动模块,用于接收主处理器硬件资源配置信息。
优选的,所述主操作系统和嵌入式实时操作系统均还包括远方处理器消息引擎;
所述远方处理器消息引擎,用于定义消息交互接口规则,在所述主操作系统和嵌入式实时操作系统之间交互信息时,消息发送方的远方处理器消息引擎触发接收方的处理器产生中断,并通知接收方的操作系统接收消息发送方发送至所述共享内存空间的信息。
优选的,所述主操作系统和嵌入式实时操作系统均还包括守护进程;
所述主操作系统的守护进程,用于将嵌入式实时操作系统编译出来的可执行、可加载文件写入到所述运行程序及数据的空间。
所述嵌入式实时操作系统的守护进程,用于解析和分发接口消息。
优选的,所述嵌入式实时操作系统内核为轻量级内核。
与现有技术相比,本发明的有益效果为:
一种非对称多处理器嵌入式操作系统,部署在非对称多核硬件平台上,所述非对称多核硬件平台包括:非对称的多核处理器,包括:一个部署在主处理器上的主操作系统和一个或多个部署在从属处理器上的嵌入式实时操作系统;所述主操作系统,用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载;所述嵌入式实时操作系统,用于执行主操作系统分配的实时任务;所述主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式交互信息。该方法充分利用非对称多核处理器构架特点,解决了实时性操作系统与软件功能完备操作系统在同一嵌入式非对称多核处理器上共存的矛盾,提高系统实时性和安全性。
附图说明
图1为本发明的非对称多处理器嵌入式操作系统构建图。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。本发明提出了一种非对称多核嵌入式操作系统,其能够实现非实时操作系统与实时操作系统在非对称多核构架下并存;解决软件灵活性、系统安全性与实时性之间的矛盾,能充分发挥非对称多核架构处理器优势。
实施例1:
一种非对称多处理器嵌入式操作系统,部署在非对称多核硬件平台上,所述非对称多核硬件平台包括:非对称的多核处理器,包括:一个部署在主处理器上的主操作系统和一个或多个部署在从属处理器上的嵌入式实时操作系统;所述主操作系统,用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载;所述嵌入式实时操作系统,用于执行主操作系统分配的实时任务;所述主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式交互信息。
通过嵌入式非对称多处理器硬件平台,在主处理器操作系统内存分配上为另一处理器预留轻量级实时操作系统运行空间,主处理器预留一段内核地址空间,主处理器操作系统驱动程序虚拟该段内核地址空间为输入输出,用于主处理器操作系统与另一处理器上实时操作系统交互;主处理器最先启动,且负责管理另一处理器中轻量级实时操作系统的加载、卸载及运行环境配置;主处理器操作系统通过共享存储空间与轻量级实时操作系统进行交互;硬件平台资源由主处理器统一管理,轻量级实时操作系统所能访问的硬件外围资源由主处理器上操作系统动态配置,以防止硬件平台外围资源访问冲突。非对称多核处理器上每个核可以支持同一指令集结构,但不同核上对实时性和系统功能完备性、软件灵活性要求矛盾,该方法充分利用非对称多核处理器构架特点,解决了实时性操作系统与软件功能完备操作系统在同一嵌入式非对称多核处理器上共存的矛盾,该方法对通信、军工、电力等工业领域系统实时性与系统安全性提高具有重要意义。
一种非对称多处理器嵌入式操作系统构建方法,包括如下步骤:
第一步,主操作系统(如Linux系统)内存地址空间划分,保留嵌入式实时操作系统程序运行空间及数据空间;
第二步,定义核间消息接口及消息交互所需存储空间,注册核间消息交互中断,核间中断与内存共享为基础的结构是多核核间通信(非对称多核多处理器内)的基本特征,在非对称多核处理器里,各核拥有各自独立的资源,且功能相对独立,而且各个核之间的关系一般是主从关系,因此上述特征在中断通知与共享内存方式上已全面考虑在内,同时必需确保多核通信系统(非对称多核通信)也可以具备各核功能独立性、可靠性、实时性等特征;
第三步,实现守护进程,由主系统加载实时操作系统可执行可链接文件;
第四步,双系统通过远方处理器消息接口交互信息。
本方法通过异核异系统方式,将嵌入式操作系统运行在同一非对称多核硬件平台,该特点既保证了系统功能完备性又兼顾了系统的硬实时性;且该方法具有良好的扩展性,既可以一主系统加一嵌入式实时操作系统,又可以一主系统加多个嵌入式实时操作系统,可运行的操作系统数量随硬件平台核资源数量的变化而变化;该方法核间通信采用中断触发和共享内存方式,减小系统软件开销,提高了核间消息交互的及时性。
非对称多核处理器嵌入式操作系统构建如图1所示:
(1)主处理器操作系统(如嵌入式Linux系统)在内存分配上预留一段空间,为嵌入式实时操作系统提供运行程序及数据空间,同时两系统保留一段共享内存,主系统首先启动,负责嵌入式实时系统的可执行可连接文件加载、运行使能、硬件外围资源配置;
(2)主处理器操作系统上远方驱动模块为嵌入式实时操作系统程序加载提供驱动接口;
(3)守护进程运行在主处理器操作系统上,嵌入式实时系统编译出来的可执行可加载文件由该进程负责写入到预留空间,监控远方嵌入式实时系统交互信息;
(4)远方处理器消息引擎定义了两操作系统消息交互接口,负责解析共享内存中另一系统发送过来的消息,核间通信采用中断触发方式,当消息发送时,消息引擎触发另一处理器产生中断,通知另一系统接收信息;
(5)嵌入式实时操作系统或适合处理器构架的微内核运行空间;
(6)该远方处理器消息引擎运行于实时操作系统中,为另一系统的对等实体,消息接口规则与另一系统对等实体一致;
(7)远方驱动模块运行在实时操作系统中,接收主处理器硬件资源配置信息,该处理器所能访问的外围硬件资源动态受控于主处理器;
(8)实时操作系统守护进程负责双系统接口消息解析与分发,以及系统控制命令(如卸载系统);
(9)实时系统内核或轻量级内核。
优选的,所述两嵌入式操作系统运行在同一非对称多核硬件平台,该特点既保证了系统软件完备性又兼顾了系统的硬实时性。
优选的,所述系统构建方法具有良好的扩展性,既可以一主系统加一嵌入式实时操作系统,又可以一主系统加多个嵌入式实时操作系统,可运行的操作系统数量随硬件平台核资源数量的变化而变化,嵌入式实时操作系统由从属处理器的数量决定,一个从属处理器运行一个嵌入式实时操作系统。
优选的,所述系统构建方法核间通信采用中断触发加共享内存方式,减小系统软件开销,提高了核间消息交互的及时性。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
Claims (2)
1.一种非对称多处理器嵌入式操作系统,部署在非对称多核硬件平台上,所述非对称多核硬件平台包括:非对称的多核处理器,其特征在于,包括:
一个部署在主处理器上的主操作系统和一个或多个部署在从属处理器上的嵌入式实时操作系统;
所述主操作系统,用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载;
所述嵌入式实时操作系统,用于执行主操作系统分配的实时任务;
所述主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式交互信息;
所述嵌入式实时操作系统的数量由从属处理器的数量决定,一个从属处理器部署一个嵌入式实时操作系统;
所述主操作系统在内存分配上为嵌入式实时操作系统预留运行程序及数据的空间和共享内存空间;
所述主操作系统和嵌入式实时操作系统均包括远方驱动模块;
所述主操作系统的远方驱动模块,用于为嵌入式实时操作系统程序的加载提供驱动接口;
所述嵌入式实时操作系统的远方驱动模块,用于接收主处理器硬件资源配置信息;
所述主操作系统和嵌入式实时操作系统均还包括远方处理器消息引擎;
所述远方处理器消息引擎,用于定义消息交互接口规则,在所述主操作系统和嵌入式实时操作系统之间交互信息时,消息发送方的远方处理器消息引擎触发接收方的处理器产生中断,并通知接收方的操作系统接收消息发送方发送至所述共享内存空间的信息;
所述主操作系统和嵌入式实时操作系统均还包括守护进程;
所述主操作系统的守护进程,用于将嵌入式实时操作系统编译出来的可执行、可加载文件写入到所述运行程序及数据的空间;
所述嵌入式实时操作系统的守护进程,用于解析和分发接口消息。
2.如权利要求1所述的操作系统,其特征在于,所述嵌入式实时操作系统内核为轻量级内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508208.4A CN113391821B (zh) | 2021-05-11 | 2021-05-11 | 一种非对称多处理器嵌入式操作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508208.4A CN113391821B (zh) | 2021-05-11 | 2021-05-11 | 一种非对称多处理器嵌入式操作系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113391821A CN113391821A (zh) | 2021-09-14 |
CN113391821B true CN113391821B (zh) | 2023-03-10 |
Family
ID=77616805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110508208.4A Active CN113391821B (zh) | 2021-05-11 | 2021-05-11 | 一种非对称多处理器嵌入式操作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391821B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023216250A1 (zh) * | 2022-05-13 | 2023-11-16 | 北京小米移动软件有限公司 | 安全系统和电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328461A (ja) * | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 非対称マルチプロセッサ |
CN101901159B (zh) * | 2010-08-03 | 2014-04-30 | 中兴通讯股份有限公司 | 一种多核CPU加载Linux操作系统的方法及系统 |
CN102736595A (zh) * | 2012-06-06 | 2012-10-17 | 中国电力科学研究院 | 一种基于32位微处理器和rtos的智能配电终端统一平台 |
CN103942178A (zh) * | 2014-03-03 | 2014-07-23 | 浙江大学 | 多核处理器上实时操作系统与非实时操作系统之间的通信方法 |
CN107066422A (zh) * | 2017-06-26 | 2017-08-18 | 中科和光(天津)应用激光技术研究所有限公司 | 一种基于嵌入式双核实时系统的警用执法仪 |
CN107436810A (zh) * | 2017-07-03 | 2017-12-05 | 北京东土科技股份有限公司 | 一种计算机系统资源调度方法及装置 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
CN112306669A (zh) * | 2019-08-02 | 2021-02-02 | 中兴通讯股份有限公司 | 一种基于多核系统的任务处理方法及装置 |
CN111745651B (zh) * | 2020-06-15 | 2022-04-05 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作系统结构及其运作方法 |
CN111459647B (zh) * | 2020-06-17 | 2020-09-25 | 北京机电工程研究所 | 基于嵌入式操作系统的dsp多核处理器并行运算方法及装置 |
CN112199173B (zh) * | 2020-09-28 | 2023-02-28 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 双核cpu实时操作系统数据处理方法 |
CN112463342A (zh) * | 2020-12-14 | 2021-03-09 | 北京四方继保工程技术有限公司 | 一种多核cpu运行模式的平台架构设计方法 |
-
2021
- 2021-05-11 CN CN202110508208.4A patent/CN113391821B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113391821A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298438B2 (en) | Profiling application code to identify code portions for FPGA implementation | |
CN110489213B (zh) | 一种任务处理方法及处理装置、计算机系统 | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
CN106371894B (zh) | 一种配置方法、装置和数据处理服务器 | |
WO2017070900A1 (zh) | 多核数字信号处理系统中处理任务的方法和装置 | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN114020470B (zh) | 资源分配方法、装置、可读介质及电子设备 | |
US9588808B2 (en) | Multi-core system performing packet processing with context switching | |
CN112905342B (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
KR20090080753A (ko) | 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치 | |
US9063805B2 (en) | Method and system for enabling access to functionality provided by resources outside of an operating system environment | |
WO2021103646A1 (zh) | 一种部署pod的方法及装置 | |
CN113778612A (zh) | 基于微内核机制的嵌入式虚拟化系统实现方法 | |
US9547576B2 (en) | Multi-core processor system and control method | |
WO2023274278A1 (zh) | 一种资源调度的方法、装置及计算节点 | |
CN113391821B (zh) | 一种非对称多处理器嵌入式操作系统 | |
Pazzaglia et al. | Optimal memory allocation and scheduling for DMA data transfers under the LET paradigm | |
CN112925616A (zh) | 任务分配方法、装置、存储介质及电子设备 | |
US20150160973A1 (en) | Domain based resource isolation in multi-core systems | |
CN107430510A (zh) | 数据处理方法、装置和系统 | |
CN116841952A (zh) | 核间通信系统、方法、装置、设备、芯片及可读存储介质 | |
CN116821187A (zh) | 基于数据库的数据处理方法、装置、介质和电子设备 | |
CN116578416A (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
US9274837B2 (en) | Assigning levels of pools of resources to a super process having sub-processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |