CN110471705A - 一种定制双系统 - Google Patents
一种定制双系统 Download PDFInfo
- Publication number
- CN110471705A CN110471705A CN201910634106.XA CN201910634106A CN110471705A CN 110471705 A CN110471705 A CN 110471705A CN 201910634106 A CN201910634106 A CN 201910634106A CN 110471705 A CN110471705 A CN 110471705A
- Authority
- CN
- China
- Prior art keywords
- vxworks
- linux
- core
- memory
- dual
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种定制双系统,具体涉及系统运行技术领域,包括定制双系统,包括vxWorks系统和linux系统,所述vxWorks系统和linux系统分别安装于多核处理器上,所述vxWorks与linux独立运行分布,所述多核处理器的连接端设有硬件资源,所述硬件资源包括CPU核、内存、中断管理器和外部设备。本发明通过在多核处理器上设置两个独立运行的操作系统vxWorks系统和linux系统,vxWorks+linux双系统既能使VxWorks来管理比较紧急的任务,又能使Linux发挥其处理复杂逻辑以及人机交互界面的特性,并且vxWorks系统和linux系统通过交互空间共享内存实现数据交互,提高系统运行稳定性,且运行效率高,不会出现卡顿。
Description
技术领域
本发明涉及系统运行技术领域,更具体地说,本发明涉及一种定制双系统。
背景技术
传统的双系统通过Xen来实现,Xen是由剑桥大学计算机实验室开发的一个开源项目,是一个直接运行在计算机硬件之上的用以替代操作系统的软件层,它能够在计算机硬件上并发的运行多个客户操作系统(Guest OS),但是Xen有如下缺点:
1)Xen会占用相对较大的空间;
2)任何具有高I/O速率的操作或任何会吞噬资源的操作会使Xen陷入困境;
3)对于vxWorks系统的实时性能有一定影响。
定制双系统通过直接把双系统运行在裸核上,不通过中间层的转换实现,这样对于双系统中的每个系统和运行在单一系统模式下,功能基本一致,解决了Xen的缺点,而现有的定制双系统在对于不同的多核处理平台,如:ARM和POWERPC等,需要进行专门的系统定制。
因此,发明一种定制双系统来解决上述问题很有必要。
发明内容
为了克服现有技术的上述缺陷,本发明的实施例提供一种定制双系统,通过在多核处理器上设置两个独立运行的操作系统vxWorks系统和linux系统,vxWorks+linux双系统既能使VxWorks来管理比较紧急的任务,又能使Linux发挥其处理复杂逻辑以及人机交互界面的特性,并且vxWorks系统和linux系统通过交互空间共享内存实现数据交互,提高系统运行稳定性,且运行效率高,不会出现卡顿,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种定制双系统,包括vxWorks系统和linux系统,所述vxWorks系统和linux系统分别安装于多核处理器上,所述vxWorks与linux独立运行分布;
所述多核处理器的连接端设有硬件资源,所述硬件资源包括CPU核、内存、中断管理器和外部设备,所述CPU核、内存、中断号和外部设备分别分配给vxWorks和linux中不同的系统实现相应的功能,且单个系统对于硬件资源是独占的模式;
所述vxWorks系统与linux系统间设有交互空间,所述交互空间设置为内存空间0x3c000000-0x3fffffff,所述vxWorks系统与linux系统通过交互空间共享内存实现数据交互。
在一个优选地实施方式中,所述CPU核设置为四核处理器,四核分别命名为核0、核1、核2和核3,所述核0、核1和核2均用于运行Linux系统,所述核3用于运行vxWorks系统。
在一个优选地实施方式中,所述内存内部设有预留空间,所述预留空间内存容量设置为512MB,所述预留空间地址与vxWorks启动地址链接,所述核3的启动地址与vxWorks启动地址链接。
在一个优选地实施方式中,所述中断号用于路由中断信号给Linux系统或vxWorks系统,且同一个中断号只能路由给Linux系统或者vxWorks系统中的一个,所述Linux系统和vxWorks系统的连接串口上分别设有UART0中断号53和UART1中断号54,所述UART0中断号53和UART1中断号54的连接端均配置中断控制器,两个所述中断控制器分别与Linux系统和vxWorks系统相匹配。
在一个优选地实施方式中,所述外部设备的地址空间设置为独占模式,即单一地址空间只能给Linux系统和vxWorks系统中的其中一个使用。
在一个优选地实施方式中,一种定制双系统的运行方法,具体步骤如下:
步骤一:系统上电并自动初始化内存,将系统变量赋为默认值,把控件设为默认状态,做好系统运行准备;
步骤二:运行u-boot,u-boot启动vxWorks系统之前预留一段内存,并将该内存命名为0x20000000-0x3fffffff,随后加载vxWorks系统启动镜像到预留内存,且vxWorks系统编译镜像的时候把使用的内存地址设置为0x20000000-0x3fffffff,把核3的启动地址指向vxWorks系统启动地址,启动核3,u-boot通过设备树传递预留内存信息给Linux系统,使Linux系统把这段内存设置为预留内存;
步骤三:在核0-2上启动上Linux系统,启动UART0地址空间0xFF000000–0xFF00FFFF分配给Linux系统使用,UART0中断号53配置中断控制器,发送给Linux,控制核0-2中断运行;
步骤四:在核3上启动vxWorks系统,vxWorks系统运行,启动UART1地址空间0xFF010000–0xFF01FFFF分配给vxWorks系统使用,UART1中断号54配置中断控制器,发送给vxWorks系统,控制核3中断运行;
步骤五:VxWorks系统与Linux系统数据交互,vxWorks系统通过userReservedGet函数接口得到预留的内存空间0x3c000000-0x3fffffff,Linux系统通过mmap把内存空间0x3c000000-0x3fffffff映射到用户空间,VxWorks系统访问内存空间0x3c000000-0x3fffffff,Linux系统同样访问内存空间0x3c000000-0x3fffffff,实现系统间通信和信息交互。
所述步骤五中双系统交互运行驱动部分实现如下:
本发明的技术效果和优点:
1、通过在多核处理器上设置两个独立运行的操作系统vxWorks系统和linux系统,vxWorks+linux双系统既能使VxWorks来管理比较紧急的任务,又能使Linux发挥其处理复杂逻辑以及人机交互界面的特性,并且vxWorks系统和linux系统通过交互空间共享内存实现数据交互,提高系统运行稳定性,且运行效率高,不会出现卡顿;
2、通过将外部设备的地址空间设置为独占模式,单一地址空间只能给Linux系统和vxWorks系统中的其中一个使用,核0、核1和核2用于运行Linux系统,核3用于运行vxWorks系统,Linux系统与vxWorks系统并行独立运行,减少信息干扰,有利于提高系统运行稳定性。
附图说明
图1为本发明的定制双系统运行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1所示的一种定制双系统,包括vxWorks系统和linux系统,所述vxWorks系统和linux系统分别安装于多核处理器上,所述vxWorks与linux独立运行分布;
所述多核处理器的连接端设有硬件资源,所述硬件资源包括CPU核、内存、中断管理器和外部设备,所述CPU核、内存、中断号和外部设备分别分配给vxWorks和linux中不同的系统实现相应的功能,且单个系统对于硬件资源是独占的模式;
所述vxWorks系统与linux系统间设有交互空间,所述交互空间设置为内存空间0x3c000000-0x3fffffff,所述vxWorks系统与linux系统通过交互空间共享内存实现数据交互;
所述CPU核设置为四核处理器,四核分别命名为核0、核1、核2和核3,所述核0、核1和核2均用于运行Linux系统,所述核3用于运行vxWorks系统;
所述内存内部设有预留空间,所述预留空间内存容量设置为512MB,所述预留空间地址与vxWorks启动地址链接,所述核3的启动地址与vxWorks启动地址链接;
所述中断号用于路由中断信号给Linux系统或vxWorks系统,且同一个中断号只能路由给Linux系统或者vxWorks系统中的一个,所述Linux系统和vxWorks系统的连接串口上分别设有UART0中断号53和UART1中断号54,所述UART0中断号53和UART1中断号54的连接端均配置中断控制器,两个所述中断控制器分别与Linux系统和vxWorks系统相匹配,通过在多核处理器上设置两个独立运行的操作系统vxWorks系统和linux系统,vxWorks+linux双系统既能使VxWorks来管理比较紧急的任务,又能使Linux发挥其处理复杂逻辑以及人机交互界面的特性,并且vxWorks系统和linux系统通过交互空间共享内存实现数据交互,提高系统运行稳定性,且运行效率高,不会出现卡顿;
所述外部设备的地址空间设置为独占模式,即单一地址空间只能给Linux系统和vxWorks系统中的其中一个使用,通过将外部设备的地址空间设置为独占模式,单一地址空间只能给Linux系统和vxWorks系统中的其中一个使用,核0、核1和核2用于运行Linux系统,核3用于运行vxWorks系统,Linux系统与vxWorks系统并行独立运行,减少信息干扰,有利于提高系统运行稳定性;
一种定制双系统的运行方法,具体步骤如下:
步骤一:系统上电并自动初始化内存,将系统变量赋为默认值,把控件设为默认状态,做好系统运行准备;
步骤二:运行u-boot,u-boot启动vxWorks系统之前预留一段内存,并将该内存命名为0x20000000-0x3fffffff,随后加载vxWorks系统启动镜像到预留内存,且vxWorks系统编译镜像的时候把使用的内存地址设置为0x20000000-0x3fffffff,把核3的启动地址指向vxWorks系统启动地址,启动核3,u-boot通过设备树传递预留内存信息给Linux系统,使Linux系统把这段内存设置为预留内存;
步骤三:在核0-2上启动上Linux系统,启动UART0地址空间0xFF000000–0xFF00FFFF分配给Linux系统使用,UART0中断号53配置中断控制器,发送给Linux,控制核0-2中断运行;
步骤四:在核3上启动vxWorks系统,vxWorks系统运行,启动UART1地址空间0xFF010000–0xFF01FFFF分配给vxWorks系统使用,UART1中断号54配置中断控制器,发送给vxWorks系统,控制核3中断运行;
步骤五:VxWorks系统与Linux系统数据交互,vxWorks系统通过userReservedGet函数接口得到预留的内存空间0x3c000000-0x3fffffff,Linux系统通过mmap把内存空间0x3c000000-0x3fffffff映射到用户空间,VxWorks系统访问内存空间0x3c000000-0x3fffffff,Linux系统同样访问内存空间0x3c000000-0x3fffffff,实现系统间通信和信息交互。
所述步骤五中双系统交互运行驱动部分实现如下:
最后应说明是:在本申请的描述中,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种定制双系统,包括vxWorks系统和linux系统,其特征在于:所述vxWorks系统和linux系统分别安装于多核处理器上,所述vxWorks与linux独立运行分布;
所述多核处理器的连接端设有硬件资源,所述硬件资源包括CPU核、内存、中断管理器和外部设备,所述CPU核、内存、中断号和外部设备分别分配给vxWorks和linux中不同的系统实现相应的功能,且单个系统对于硬件资源是独占的模式;
所述vxWorks系统与linux系统间设有交互空间,所述交互空间设置为内存空间0x3c000000-0x3fffffff,所述vxWorks系统与linux系统通过交互空间共享内存实现数据交互。
2.根据权利要求1所述的一种定制双系统,其特征在于:所述CPU核设置为四核处理器,四核分别命名为核0、核1、核2和核3,所述核0、核1和核2均用于运行Linux系统,所述核3用于运行vxWorks系统。
3.根据权利要求1所述的一种定制双系统,其特征在于:所述内存内部设有预留空间,所述预留空间内存容量设置为512MB,所述预留空间地址与vxWorks启动地址链接,所述核3的启动地址与vxWorks启动地址链接。
4.根据权利要求1所述的一种定制双系统,其特征在于:所述中断号用于路由中断信号给Linux系统或vxWorks系统,且同一个中断号只能路由给Linux系统或者vxWorks系统中的一个,所述Linux系统和vxWorks系统的连接串口上分别设有UART0中断号53和UART1中断号54,所述UART0中断号53和UART1中断号54的连接端均配置中断控制器,两个所述中断控制器分别与Linux系统和vxWorks系统相匹配。
5.根据权利要求1所述的一种定制双系统,其特征在于:所述外部设备的地址空间设置为独占模式,即单一地址空间只能给Linux系统和vxWorks系统中的其中一个使用。
6.根据权利要求1-5任意一项所述的一种定制双系统的运行方法,其特征在于:具体步骤如下:
步骤一:系统上电并自动初始化内存,将系统变量赋为默认值,把控件设为默认状态,做好系统运行准备;
步骤二:运行u-boot,u-boot启动vxWorks系统之前预留一段内存,并将该内存命名为0x20000000-0x3fffffff,随后加载vxWorks系统启动镜像到预留内存,且vxWorks系统编译镜像的时候把使用的内存地址设置为0x20000000-0x3fffffff,把核3的启动地址指向vxWorks系统启动地址,启动核3,u-boot通过设备树传递预留内存信息给Linux系统,使Linux系统把这段内存设置为预留内存;
步骤三:在核0-2上启动上Linux系统,启动UART0地址空间0xFF000000–0xFF00FFFF分配给Linux系统使用,UART0中断号53配置中断控制器,发送给Linux,控制核0-2中断运行;
步骤四:在核3上启动vxWorks系统,vxWorks系统运行,启动UART1地址空间0xFF010000–0xFF01FFFF分配给vxWorks系统使用,UART1中断号54配置中断控制器,发送给vxWorks系统,控制核3中断运行;
步骤五:VxWorks系统与Linux系统数据交互,vxWorks系统通过userReservedGet函数接口得到预留的内存空间0x3c000000-0x3fffffff,Linux系统通过mmap把内存空间0x3c000000-0x3fffffff映射到用户空间,VxWorks系统访问内存空间0x3c000000-0x3fffffff,Linux系统同样访问内存空间0x3c000000-0x3fffffff,实现系统间通信和信息交互。
7.根据权利要求6所述的一种定制双系统,其特征在于:所述步骤五中双系统交互运行驱动部分实现如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910634106.XA CN110471705A (zh) | 2019-07-15 | 2019-07-15 | 一种定制双系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910634106.XA CN110471705A (zh) | 2019-07-15 | 2019-07-15 | 一种定制双系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471705A true CN110471705A (zh) | 2019-11-19 |
Family
ID=68508676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910634106.XA Pending CN110471705A (zh) | 2019-07-15 | 2019-07-15 | 一种定制双系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471705A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359238A (zh) * | 2008-09-02 | 2009-02-04 | 中兴通讯股份有限公司 | 一种多核系统的时间同步方法及系统 |
CN102567275A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种多核处理器上多个操作系统间内存访问的方法及系统 |
CN103608792A (zh) * | 2013-05-28 | 2014-02-26 | 华为技术有限公司 | 支持多核架构下资源隔离的方法及系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
CN105786457A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 将VxWorks任务移植到Linux的方法及装置 |
CN105808327A (zh) * | 2014-12-30 | 2016-07-27 | 联想(上海)信息技术有限公司 | 系统管理方法、装置及电子设备 |
CN107329833A (zh) * | 2017-07-03 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种利用链表实现内存连续的方法和装置 |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程系统及其内存配置和计算单元的编程方法 |
CN107656757A (zh) * | 2016-07-25 | 2018-02-02 | 南京中兴新软件有限责任公司 | 操作系统切换方法及装置 |
CN108108199A (zh) * | 2017-12-21 | 2018-06-01 | 北京东土科技股份有限公司 | 一种多核cpu上多操作系统启动方法及装置 |
CN108932213A (zh) * | 2017-10-10 | 2018-12-04 | 北京猎户星空科技有限公司 | 多操作系统间的通讯方法、装置、电子设备和存储介质 |
CN109343438A (zh) * | 2018-11-29 | 2019-02-15 | 中车大连电力牵引研发中心有限公司 | 网络融合系统及其控制方法 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
-
2019
- 2019-07-15 CN CN201910634106.XA patent/CN110471705A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101359238A (zh) * | 2008-09-02 | 2009-02-04 | 中兴通讯股份有限公司 | 一种多核系统的时间同步方法及系统 |
CN102567275A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种多核处理器上多个操作系统间内存访问的方法及系统 |
CN103608792A (zh) * | 2013-05-28 | 2014-02-26 | 华为技术有限公司 | 支持多核架构下资源隔离的方法及系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
CN105786457A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 将VxWorks任务移植到Linux的方法及装置 |
CN105808327A (zh) * | 2014-12-30 | 2016-07-27 | 联想(上海)信息技术有限公司 | 系统管理方法、装置及电子设备 |
CN107656757A (zh) * | 2016-07-25 | 2018-02-02 | 南京中兴新软件有限责任公司 | 操作系统切换方法及装置 |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程系统及其内存配置和计算单元的编程方法 |
CN107329833A (zh) * | 2017-07-03 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种利用链表实现内存连续的方法和装置 |
CN108932213A (zh) * | 2017-10-10 | 2018-12-04 | 北京猎户星空科技有限公司 | 多操作系统间的通讯方法、装置、电子设备和存储介质 |
CN108108199A (zh) * | 2017-12-21 | 2018-06-01 | 北京东土科技股份有限公司 | 一种多核cpu上多操作系统启动方法及装置 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
CN109343438A (zh) * | 2018-11-29 | 2019-02-15 | 中车大连电力牵引研发中心有限公司 | 网络融合系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934883B2 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
CN104714846B (zh) | 资源处理方法、操作系统及设备 | |
US11010053B2 (en) | Memory-access-resource management | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
CN103282875B (zh) | 多操作系统 | |
CN108696461A (zh) | 用于智能网络接口卡的共享存储器 | |
CN106385329B (zh) | 资源池的处理方法、装置和设备 | |
WO2016155335A1 (zh) | 异构多核可重构计算平台上任务调度的方法和装置 | |
CN109656861A (zh) | 一种基于srio总线的多核并行信号处理系统及方法 | |
US10212045B2 (en) | Method and system for testing and analyzing management servers | |
CN109445905A (zh) | 虚拟机数据通信方法和系统以及虚拟机配置方法和装置 | |
CN105159617B (zh) | 一种池化存储系统架构 | |
CN105045761B (zh) | 一种数据中心的高速并行处理架构 | |
CN103150217B (zh) | 多核处理器操作系统设计方法 | |
CN103577247A (zh) | 基于Rocks集群技术的虚拟机计算和存储集群及其构建方法 | |
CN110471705A (zh) | 一种定制双系统 | |
US11360931B2 (en) | Disjoint array computer | |
CN109412970A (zh) | 数据流转系统、数据流转方法、电子设备和存储介质 | |
CN102854862B (zh) | 一种ff接口功能块 | |
US20230111884A1 (en) | Virtualization method, device, board card and computer-readable storage medium | |
Teng et al. | Enabling Elastic Resource Management in Cloud FPGAs via A Multi-layer Collaborative Approach | |
CN118210634B (zh) | 服务器系统、服务器系统的资源调度方法、芯片及芯粒 | |
CN213906701U (zh) | 拟态交换机 | |
WO2020200250A1 (zh) | 运算方法、装置及相关产品 | |
CN113448684A (zh) | 一种同时支持虚拟机及arinc653分区的边缘控制系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |
|
RJ01 | Rejection of invention patent application after publication |