CN101894045A - 一种实时Linux操作系统 - Google Patents
一种实时Linux操作系统 Download PDFInfo
- Publication number
- CN101894045A CN101894045A CN 201010202478 CN201010202478A CN101894045A CN 101894045 A CN101894045 A CN 101894045A CN 201010202478 CN201010202478 CN 201010202478 CN 201010202478 A CN201010202478 A CN 201010202478A CN 101894045 A CN101894045 A CN 101894045A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- operating system
- linux
- interface
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种实时Linux操作系统,VIRT实时虚拟层单元,位于计算机设备的硬件与操作系统之间,用于模拟计算机设备的硬件,在硬件与操作系统之间提供硬件接口;实现与驱动程序之间的通信;VIRT实时内核单元,用于为实时任务提供运行环境,并赋予实时任务第一优先级,且该第一优先级总是高于非实时任务的第二优先级;以及提供应用接口,实时任务基于应用接口进行开发;Linux内核单元,用于为非实时任务提供运行环境。应用上述技术方案,基于实时虚拟化技术,使用双内核架构-VIRT实时内核和Linux内核,分割了实时操作系统和通用操作系统,使用实时优先级调度策略,保证了实时操作系统以最高优先级进行调度,同时实时操作系统完全控制了硬件中断和硬件操作。
Description
技术领域
本发明涉及嵌入式技术,特别是指一种实时Linux操作系统。
背景技术
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时操作系统是为特定的应用设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时操作系统的特征。这就是说,即使一个操作系统不是严格的实时操作系统,它们也能解决一部分实时应用问题。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:在各种应用到实时操作系统的场合,需要针对不同的用途编写与之对应的驱动、中间件以及其他程序,加重了开发工作量,不利于后期对系统的维护。
发明内容
本发明所提供的实时Linux操作系统,用于在各种应用到实时操作系统的场合中,为实际应用提供一个可以支持各种驱动,方便扩展,维护简单的运行平台,以及填补国内还未有一种能够商业化应用的实时操作系统的技术空白。
本发明的实施例提供一种实时Linux操作系统,
一种实时Linux操作系统,包括:VIRT实时虚拟层单元,位于计算机设备的硬件与操作系统之间,用于模拟计算机设备的硬件,在硬件与操作系统之间提供硬件接口,所述操作系统能够通过所述硬件接口实现与硬件之间的交互;其中,所述操作系统包括实时操作系统和非实时通用操作系统;并且,能够区分实时操作系统和非实时通用操作系统,并将所述非实时通用操作系统作为所述实时操作系统的一个非实时线程运行;截获所有的硬件中断,将实时中断发送给对应的硬件;实现与驱动程序之间的通信;VIRT实时内核单元,用于为实时任务提供运行环境,并赋予实时任务第一优先级,且该第一优先级总是高于非实时任务的第二优先级;以及提供应用接口,所述实时任务基于所述应用接口进行开发;Linux内核单元,用于实现通用Linux操作系统的进程调度、存储管理、虚拟文件系统、网络接口和进程通信功能,并为所述非实时任务提供运行环境。
上述操作系统中,VIRT实时虚拟层单元还包括:实时中断控制模块,用于截获硬件传来的硬件中断,所述硬件中断分为实时中断和Linux中断;当截获到所述实时中断时,将所述实时中断发送给对应的硬件;当截获到所述Linux中断时,判断Linux内核单元是否屏蔽该Linux中断,如果该Linux中断被屏蔽则忽略该Linux中断,否则交于所述Linux内核单元处理。
上述操作系统中,还包括:实时高精度时间控制模块,对于一个帧,在帧内包含按时序排列的预定数目个最小时钟周期,当所述实时任务为周期性实时任务时,在一个帧内找到位于不同时序处的最小时钟周期,在该最小时钟周期内触发对于该实时任务的处理。
上述操作系统中,还包括:进程调度策略模块,用于设置实时任务对应的实时进程的优先级,将该实时进程的优先级的权重设置为该实时进程的进程计数值加1000,使得所述实时进程比所有非实时进程的优先级高。
上述操作系统中,还包括:进程间通讯处理模块,用于在实时操作系统中的进程之间、VIRT实时内核单元与进程之间通过信号进行相互通信,所述信号是基于可移植操作系统接口标准的数据结构。
上述操作系统中,还包括:实时先入先出队列模块,用于创建一个先入先出队列缓冲区,该先入先出队列缓冲区能够被实时任务对应的实时进程,以及非实时任务对应的非实时进程访问;其中,所述非实时进程采用符合可移植操作系统接口标准的访问函数对该先入先出队列缓冲区进行访问;所述实时进程采用符合可移植操作系统接口标准的访问函数或者专有函数对所述先入先出队列缓冲区进行访问。
上述操作系统中,还包括:实时线程同步模块,用于采用加可移植操作系统接口标准自旋锁方法控制对共享资源的存取,包括:在一个给定的实时线程/实时进程的工作过程中通过自旋以等待资源,而不是将该实时线程/实时进程放入等待队列来等待该实时线程被唤醒。
上述操作系统中,还包括:访问硬件模块,用于通过Linux操作系统中的设备节点访问物理内存,包括:将一段特定物理内存进行映射得到该特定物理内存的映射后的地址,使用该映射后的地址访问所述特定物理内存。
上述操作系统中,VIRT实时内核单元具体包括:专有接口支持模块,用于为不同的实时操作系统提供专有接口,使得基于所述不同的实时操作系统开发的实时任务能够在实时Linux操作系统上运行;所述专有接口包括:可移植操作系统接口标准接口,VxWorks接口,POSIX接口,psos+接口,uITRON接口,vrtx接口,vrtai接口,以及xenomai接口。
上述操作系统中,还包括:多核任务分配模块,用于将仿真模型切分为不同的子任务,将不同的子任务分配给不同的处理器。
应用上述技术方案,基于实时虚拟化技术,使用双内核架构-VIRT实时内核和Linux内核,分割了实时操作系统和通用操作系统,使用实时优先级调度策略,保证了实时操作系统以最高优先级进行调度,同时实时操作系统完全控制了硬件中断和硬件操作。
附图说明
图1为本发明实时Linux操作系统结构示意图;
图2为本发明实时Linux操作系统应用场景下的结构示意图;
图3为本发明VIRT实时虚拟层单元的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。本发明中,基于开源代码的Linux通用操作系统,提供一种实时Linux操作系统(VIRT Linux,Virtualization RealTime Linux,也简称VIRT,或习惯称之为VIRT实时操作系统)。
如图1所示,一种实时Linux操作系统,包括:
VIRT实时虚拟层单元102,位于计算机设备的硬件与操作系统之间,模拟计算机设备的硬件,用于在硬件与操作系统之间提供硬件接口,所述操作系统能够通过所述硬件接口实现与硬件之间的交互;
并且,能够区分实时操作系统和非实时通用操作系统,将所述非实时通用操作系统作为所述实时操作系统的一个非实时线程运行;
实现与驱动程序之间的通信交互;
VIRT实时内核(VIRT Kernel)单元103,用于为实时任务提供运行环境,并赋予实时任务第一优先级,且该第一优先级总是高于非实时任务的第二优先级;以及提供应用接口,所述实时任务基于所述实时应用接口进行开发;
Linux内核单元104,用于实现通用Linux操作系统的进程调度、存储管理、虚拟文件系统、网络接口和进程通信功能,并为所述非实时任务提供运行环境。
应用上述技术方案,基于实时虚拟化技术,使用双内核架构-VIRT实时内核单元和Linux内核单元,分割了实时操作系统和通用操作系统,使用实时优先级调度策略,保证了实时操作系统以最高优先级进行调度,同时实时操作系统完全控制了硬件中断和硬件操作。
其中,Linux内核单元104支持的各种功能是通用Linux内核的必备功能,通用Linux主要由内核和外部配置模块(Module)组成。
上述技术方案中,VIRT实时虚拟层单元102以完整模拟硬件的方式提供全部硬件接口,同时还模拟特权指令的执行过程-即能够模拟计算机的处理器、物理内存、时钟、外设等,把运行于该VIRT实时虚拟层单元102之上的普通操作系统和实时操作系统有效的统一起来,使得为原始的硬件设计的操作系统或其它系统级软件完全不做任何修改就可以在VIRT实时虚拟层单元102上运行。
举例而言,在x86体系结构中VIRT实时虚拟层单元102模拟硬件的过程中需要实现如下技术:页地址转换机制需要操作系统维护两个非常重要的数据结构,即页表目录和页表。一个特殊寄存器CR3-也叫做页目录基址寄存器(Page-Directory Base Register,PDBR),指向当前的页表目录;对于操作系统切换进程对应的页表的操作,真实硬件提供特权CR3寄存器来作为操作系统进行切换的接口,操作系统只需执行″movpgtable,%%cr3″汇编指令即可。全虚拟化虚拟机管理器(VMM,Virtual Machine Monitor)-VIRT实时虚拟层单元102需要完整地模拟该特权CR3寄存器接口执行的全过程,由于VMM完全控制主机物理内存,不允许GuestOS(客户机操作系统)-包括VIRT实时内核单元103和Linux内核单元104-修改物理CR3寄存器,因此VMM会分配一个影子CR3给GuestOS,利用陷阱(Trap)的方式从GuestOS手中获得执行控制权,然后将pgtable代表的客户机物理地址(GuestPhysicalAddress)填入影子CR3寄存器,返回到GuestOS中,随后VMM还须处理复杂的GuestOS缺页异常(PageFault)。此处的VMM具体为VIRT实时虚拟层单元102。
VIRT实时虚拟层单元102的主要功能可以细分为:(1)虚拟化技术处理、(2)高速中断处理、(3)高精度定时器管理、(4)文件系统处理、(5)进程间通讯处理。其中:
非实时通用操作系统的系统调用中,为了保护临界区资源,Linux内核单元104处于内核临界区时,硬件中断会被Linux内核单元104屏蔽,这就意味着如果当前的某一个进程正处于内核临界区,即使它的优先级较低,也会延迟高优先级的硬件中断请求,在实时应用中,这是一个十分严重的问题,因而如图3所示,实时Linux操作系统提供了:
实时中断控制模块1022,用于截获硬件传来的硬件中断,所述硬件中断分为实时中断和Linux中断;当截获到所述实时中断时,将所述实时中断发送给对应的硬件;当截获到所述Linux中断时,判断Linux内核单元是否屏蔽该Linux中断,如果该Linux中断被屏蔽则忽略该Linux中断,否则交于Linux内核单元处理。具体而言,为了在提供实时性能的同时维护通用操作系统内核的结构,必须提供一个全面控制中断的“中断接口层-实时中断控制模块1022”,但中断接口层对于实时Linux操作系统的剩余部分而言,仍然像硬件中断一样。中断接口层从本质上说是一个中断模拟层,并在VIRT中是VIRT实时虚拟层单元102的一部分,这就在硬件中断控制器和通用操作系统内核之间引入了一个软件层,按照实时代码所需要的使得VIRT实时内核单元103来处理中断,但是如果没有实时任务105,仍然允许通用操作系统来处理中断。中断模拟的完成通过如下方式实现:将所有出现的sti和cli用模拟代码代替。
实时高精度时间控制模块1023,对于一个帧,在帧内包含时序排列的预定数目个最小时钟周期,当所述实时任务105为周期性实时任务105时,在一个帧内找到不同时序处的最小时钟周期,在该最小时钟周期内触发对于该实时任务105的处理。
具体而言,时钟中断是影响实时操作系统的一个重要因素,操作系统中的时钟管理是系统的心脏。在非实时通用操作系统(通用Linux)中采用周期触发的方式,固定每隔一个时间间隔触发一次中断,即操作系统根据时间片来进行进程调度,同时也根据时间片的累加来确定非实时通用操作系统的当前时间。在通用操作系统中,Linux为了提高系统的平均吞吐率,将时钟中断的最小间隔设置为10ms,这对于一个周期性的实时任务105-例如分析雷达在一个周期内采集的信号,当该实时任务105的周期小于10ms时则无法满足实时性。如果要把时钟的最小间隔改小以满足周期性的实时任务105的需要,由于Linux的进程切换比较费时,时钟中断越频繁,而花在中断处理上的时间就越多,系统的大部分时间是调用进程调度程序进行进程调度而不能正常的处理实时任务105。
本申请中为满足实时性,将周期性的时钟中断改为非周期性的单次触发中断,以这种简单而且代价较小的方式满足实时性;单次触发中断就是只在需要的时候才开启时钟中断,即根据实际需要的定时精度来动态的调节时钟的中断间隔。帧调度技术支持用户空间中任务的硬件实时调度,以帧和最小周期数的形式来实现。每一个帧都有固定的最小周期数,最小周期数既可以是时间驱动的也可以是中断驱动的,对于每一个任务来说,可以向CPU指定该任务的优先级,指定帧的最小周期数,然后按照最小周期数来运行。例如,一帧中有10个时钟周期,任务在时钟周期为2时开始,开始运行的频率为3,任务会在后续的如下时钟周期:2,5,8,2,5,8…中运行。如果在开始的时钟周期有多个任务就绪,则优先级最高的任务先运行。为满足实时性,每一个时钟周期的时间长度可以设定为小于Linux中默认的10ms。因此,实时高精度时间控制模块1023采用单次触发的方式,对实时周期任务可以根据各自的周期来控制,对于时间控制可以达到微秒量级。
文件系统处理模块1024,许多嵌入式系统没有磁盘或者文件系统,Linux不需要它们也能运行,这样可以在系统启动时就将操作系统和预先编好的应用程序全都加载到内存中去。然而考虑到以后的扩展,本申请分析了Linux的现有文件系统,将与系统和程序运行相关的文件析取出来,移植到文件系统处理模块1024中,这样就能为实时任务应用程序的开发人员提供更方便的接口,且这些接口可以根据具体需要重新进行自定义。
以下,对实时Linux操作系统中重要的三个方面:进程间的通讯、中断和硬件设备的访问以及线程间的同步技术加以阐述。实时Linux操作系统中还包括:
进程调度策略模块,用于设置实时任务105对应的实时进程的优先级,将实时进程优先级对应的权重设置为该实时进程的进程计数值加1000,使得所述实时进程比所有非实时进程的优先级高。影响系统响应速度的关键部分在于进程调度的策略;一个实时操作系统中必须规定不同进程的优先级,并把优先级作为唯一的进程选择的标准。实时Linux操作系统支持两种类型的进程:一般进程和实时进程,通过sched_setscheduler系统调用函数设置实时进程。实时进程比所有一般进程的优先级高,Linux设置实时进程的权重为它的进程计数值(counter)加1000;设置一般进程优先级的权重为counter。因此,实时进程总会被认为是最值得运行的进程。
进程间通讯处理模块1021,用于在VIRT中的进程之间、内核与进程之间通过信号(signal)进行相互通信,所述信号是基于可移植操作系统接口(POSIX,Portable Operating System Interface of Unix)标准的数据结构。
进程抢先调度模块,用于提交高优先级的进程时,如有其它进程正在运行,则打断正在运行的进程。若正在运行的进程运行在用户态,系统一般允许它被打断且执行高优先级的进程,若正在运行的进程运行在系统态,则此时是否允许被打断决定了系统是抢先式的还是非抢先式的。Linux是一个非抢先式的操作系统,在用户执行系统调用时不允许其它进程的调度,这会影响操作系统的响应速度。一个真正的抢先式的操作系统允许正在系统状态下的当前进程被打断,然后进程切换回来时还能继续从所述系统状态下的当前进程刚才的执行点继续下去。但必须保证操作系统中某些关键部分的操作的原子性,并防止重入。
当多个实时进程/线程需要访问共享资源时,如果没有一种同步机制,将破坏共享资源中数据的完整性。因此实时Linux操作系统中应包括:
实时线程同步模块,用于采用加POSIX自旋锁的方法控制对共享资源的存取,包括:在一个给定的实时线程的工作过程中通过自旋以等待资源,而不是将该实时线程放入等待队列来等待该实时线程被唤醒。自旋锁是在可抢占内核和对称多处理器(SMP)情况下对共享资源的一种同步机制,一般地一个任务对共享资源的访问是非常短暂的,如果两个任务竞争一个共享资源时,没有得到共享资源的任务将自旋以等待另一个任务使用完该共享资源。这种锁机制是非常高效的,但是在保持自旋锁期间将失效抢占,这意味着抢占延迟将增加。在Linux2.6内核中自旋锁的使用非常普遍,有的甚至对整个一个数组或链表的便历过程都使用自旋锁,因此抢占延迟非常不确定。
实时Linux操作系统中还包括:
实时先入先出队列模块,用于创建一个先入先出队列缓冲区,该先入先出队列缓冲区能够被实时任务105对应的实时进程,以及非实时任务105对应的非实时进程访问;其中,所述非实时进程采用标准的POSIX访问函数对该先入先出队列缓冲区进行访问;所述实时进程采用标准的POSIX访问函数或者专有函数对该先入先出队列缓冲区进行访问。实时FIFO缓冲与其它的FIFO设备一样。一个生产者,一个实时线程或者一个用户空间应用程序,压入数据;一个消费者按照压入的顺序接受数据。实时FIFO的构建使得实时线程决不会在数据提交中产生阻塞。它们将会尽可能快的完成write()函数然后继续执行。通过这种方法,实时线程决不因为FIFO的状态而产生延迟。
访问硬件模块,用于通过Linux系统中的/dev/mem设备访问物理内存,包括:将一段特定物理内存进行映射得到该特定物理内存的映射后的地址,使用该映射后的地址访问所述特定物理内存。具体而言,VIRT与通用Linux一样通过/dev/mem设备访问物理内存,具体由模块rtl_posixio.o提供此项功能。首先应用程序应该打开/dev/mem设备,通过函数mmap对某段物理内存进行映射后,即可使用映射后的地址访问该段物理内存。应用程序只能在Linux进程中(即在应用程序的init_module()模块中)调用mmap,在实时进程中调用mmap将会失败。另一种访问物理内存的方法是通过Linux将会失败。另一种访问物理内存的方法是通过Linux的函数ioremap(2)。
软中断仿真模块,用于当有中断发生时检查一个预定标志位,如果该预定标志位是1则调用Linux对应的中断处理程序;否则将该预定标志位置为0,此时Linux中断被禁止,中断处理程序不会被调用,而是在保存着所有挂起中断的信息的变量的相应位置处。VIRT要求将应用程序分成实时部分和非实时部分。应用程序的实时部分应该是简单的和轻负荷的,在VIRT的实时内核中完成;而非实时部分,在Linux的用户空间完成。因此VIRT提过了多种内核实时进程和Linux用户空间进程间的通讯机制,最重要的是实时FIFO和共享内存。实时FIFO是能够被内核实时进程和Linux用户空间进程访问的快进快出队列,是一种单向的通讯机制,可以通过两路实时FIFO构成双向的数据交换方式。在使用实时FIFO前先要对实时FIFO通道初始化。在初始化实时FIFO通道后,VIRT内核的实时进程和Linux用户空间的进程都可以使用标准的POSIX函数open、read、write和close等对实时FIFO通道进行访问。内核实时进程还可以使用VIRT的专有函数rtf_put和rtf_get对实时FIFO通道进行读写。VIRT共享内存由mbuff.o模块支持。
多核任务分配模块,用于将仿真模型切分为不同的子任务,将不同的子任务分配给不同的处理器。其中,不同的处理器节点对应完成仿真模型中不同的子任务;例如,控制处理器节点负责完成对整个仿真模型的业务逻辑-工作步骤的控制,主计算处理器节点完成核心的主要计算任务,从计算处理器节点完成非主要计算任务,输出显示处理器节点用于实现显示功能或者与其他设备的通信。或者,将仿真模型切分为基本相同的子任务,由各个处理器节点配合完成;例如在处理雷达数据的过程中,雷达所采集的数据是一个超大规模的矩阵,则,VIRT实时内核单元103将这一超大规模的矩阵分割为若干个小型矩阵,由多核任务分配模块将每一个小型矩阵分配给不同的处理器节点进行运算。
需要说明的是,VIRT实时虚拟层单元(VIRT Kernel)102目前广泛用于x86,IA64,ARM,PowerPC,Mips等主流硬件平台上。
VIRT实时内核单元103,作为实时操作系统(RTOS),用于为实时任务105提供运行环境,并总是将实时任务105的优先级设定为比普通任务106的优先级高;以及提供各种实时应用接口,所述实时任务105基于所述实时应用接口进行开发;
Linux内核单元104,作为非实时通用操作系统(GPOS),用于实现通用Linux的各种功能,为普通任务106提供运行环境。
VIRT实时内核单元103,为实时程序提供运行环境,具体包括:
对于各类实时任务105来说,一般来说移植过程比较简单,因为大多数实时操作系统都提供了POSIX标准接口,但是还有一些实时操作系统,比如VxWorks,QNX,RTEMS等实时操作系统提供了专有的接口,所以对于应用程序来说需要实现其它实时操作系统中存在的接口,以此达到广泛的支持诸多实时操作系统。
(1)实时POSIX接口:是实时操作系统定义标准接口。满足大多数标准实时操作系统接口。
(2)VxWorks(一种具体的实时操作系统)接口:提供VxWorks实时操作系统的接口,完成实时操作系统注册,实时控制,线程化等功能
(3)psos+接口:提供psos+接口。
(4)uITRON接口:
(5)vrtx接口:主要定义开放的第三方应用程序的加载功能
(6)vrtai接口:
(7)xenomai接口
Linux内核单元104支持通用Linux(General Linux),基于Linux所开发的应用任务可以在Linux内核单元104的环境中运行。
应用的嵌入式操作系统有数百种之多,比较流行的主要有Windriver公司的Vxwork,QNX公司的QNX和Microsoft公司的WinCE等。
其中,WinCE只是一个软实时操作系统。在一些实时要求不严格的地方可以使用WinCE。但在一些实时要求严格的地方,就只能在VxWorks,QNX,LynxOS和VIRT Linux中选择了。
各类实时操作系统具体对比如下:
VIRT | VxWorks | QNX | LynxOS | |
区分实时与非实时 | 能 | 否 | 否 | 能 |
中断响应时间(微秒) | 12.6 | 13.1 | 12.8 | 14 |
上下文切换时间(微秒) | 6.2 | 5.7 | 7.9 | 9 |
图形系统 | Linux图形系统 | 支持 | 支持 | 支持 |
使用Linux资源 | 完全使用 | 否 | 否 | 部分使用 |
编程接口 | POSIXpthread,UNIX/Linux接口(学习难度小) | 专用接口(学习难度大) | POSIXpthread,UNIX/Linux接口(学习难度小) | 专用接口(学习难度大) |
CPU | x86/amd64,IA64,ARM,PPC,MIPS | x86/amd64,ARM,PPC,MIPS | x86,ARM,PPC,MIPS | x86,ARM,PPC,MIPS |
多核 | 目前支持Intel双路四 | 否 | 支持 | 否 |
核(八核系统) | ||||
64位系统 | IntelEM64t,AMD,IA64Power64,MIPS64 | 否 | 否 | 否 |
集群MPI | 支持,目前支持20个四核节点实时并行计算 | 否 | 否 | 否 |
实时网络 | 支持 | 支持 | 支持 | 支持 |
实时数据库 | MySQL数据库连接 | 否 | 否 | 否 |
Linux源代码兼容 | 完全兼容 | 否 | 否 | 兼容 |
Linux驱动源代码兼容 | 完全兼容 | 否 | 否 | 否 |
板卡驱动 | Linux驱动(使用成熟稳定的驱动) | 编写驱动(稳定性和成熟性需要长时间验证) | 编写驱动(稳定性和成熟性需要长时间验证) | 编写驱动(稳定性和成熟性需要长时间验证) |
开发语言 | C,C++,Fortran77,Fortran99 | C/C++ | C/C++ | C/C++ |
Intel高性能编译器 | IntelICC与GCC混合编译 | 支持 | 支持 | 否 |
本发明的上述技术方案的有益效果如下:兼容国际实时标准POSIX规范和接口,同时对于实时网络也有标准的Socket接口标准。这样就为实时Linux操作系统能够平滑兼容不同实时平台(例如VxWorks)提供了理论基础。同时能够切合目前用户实时控制和实时网络的需求,在设计之初就考虑到了多平台的结合问题,并采用C/C++语言的技术来实现与平台的平稳结合。硬实时操作系统能够支持Intel,AMD,ARM,PowerPC,MIPS,M68K等主流芯片;支持基于应用空间的实时化PSRT功能;充分利用Linux大量资源;支持大量的驱动程序,与Linux驱动源代码兼容;10微秒以内的系统延迟;高可靠性和高稳定性。实时Linux操作系统属于对系统实时性要求比较高的嵌入式操作系统—抢占式多任务嵌入式硬实时操作系统。其代码的内核代码完全是使用C/C++语言写成的,因此便子移植并能够支持大多数类型的处理器。目前在航空航天、通信设备、工业控制系统、医疗器械等领域得到了广泛应用,而且,随着嵌入式设备技术的高速发展,VIRT将会有更广阔的应用与发展前景。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种实时Linux操作系统,其特征在于,包括:
VIRT实时虚拟层单元,位于计算机设备的硬件与操作系统之间,用于模拟计算机设备的硬件,在硬件与操作系统之间提供硬件接口,所述操作系统能够通过所述硬件接口实现与硬件之间的交互;其中,所述操作系统包括实时操作系统和非实时通用操作系统;
并且,能够区分实时操作系统和非实时通用操作系统,并将所述非实时通用操作系统作为所述实时操作系统的一个非实时线程运行;
截获所有的硬件中断,将实时中断发送给对应的硬件;
实现与驱动程序之间的通信;
VIRT实时内核单元,用于为实时任务提供运行环境,并赋予实时任务第一优先级,且该第一优先级总是高于非实时任务的第二优先级;以及提供应用接口,所述实时任务基于所述应用接口进行开发;
Linux内核单元,用于实现通用Linux操作系统的进程调度、存储管理、虚拟文件系统、网络接口和进程通信功能,并为所述非实时任务提供运行环境。
2.根据权利要求1所述的操作系统,其特征在于,VIRT实时虚拟层单元还包括:
实时中断控制模块,用于截获硬件传来的硬件中断,所述硬件中断分为实时中断和Linux中断;
当截获到所述实时中断时,将所述实时中断发送给对应的硬件;当截获到所述Linux中断时,判断Linux内核单元是否屏蔽该Linux中断,如果该Linux中断被屏蔽则忽略该Linux中断,否则交于所述Linux内核单元处理。
3.根据权利要求1所述的操作系统,其特征在于,还包括:
实时高精度时间控制模块,对于一个帧,在帧内包含按时序排列的预定数目个最小时钟周期,当所述实时任务为周期性实时任务时,在一个帧内找到位于不同时序处的最小时钟周期,在该最小时钟周期内触发对于该实时任务的处理。
4.根据权利要求1所述的操作系统,其特征在于,还包括:
进程调度策略模块,用于设置实时任务对应的实时进程的优先级,将该实时进程的优先级的权重设置为该实时进程的进程计数值加1000,使得所述实时进程比所有非实时进程的优先级高。
5.根据权利要求1所述的操作系统,其特征在于,还包括:
进程间通讯处理模块,用于在实时操作系统中的进程之间、VIRT实时内核单元与进程之间通过信号进行相互通信,所述信号是基于可移植操作系统接口标准的数据结构。
6.根据权利要求1所述的操作系统,其特征在于,还包括:
实时先入先出队列模块,用于创建一个先入先出队列缓冲区,该先入先出队列缓冲区能够被实时任务对应的实时进程,以及非实时任务对应的非实时进程访问;
其中,所述非实时进程采用符合可移植操作系统接口标准的访问函数对该先入先出队列缓冲区进行访问;所述实时进程采用符合可移植操作系统接口标准的访问函数或者专有函数对所述先入先出队列缓冲区进行访问。
7.根据权利要求1所述的操作系统,其特征在于,还包括:
实时线程同步模块,用于采用加可移植操作系统接口标准自旋锁方法控制对共享资源的存取,包括:在一个给定的实时线程/实时进程的工作过程中通过自旋以等待资源,而不是将该实时线程/实时进程放入等待队列来等待该实时线程被唤醒。
8.根据权利要求1所述的操作系统,其特征在于,还包括:
访问硬件模块,用于通过Linux操作系统中的设备节点访问物理内存,包括:将一段特定物理内存进行映射得到该特定物理内存的映射后的地址,使用该映射后的地址访问所述特定物理内存。
9.根据权利要求1所述的操作系统,其特征在于,VIRT实时内核单元具体包括:
专有接口支持模块,用于为不同的实时操作系统提供专有接口,使得基于所述不同的实时操作系统开发的实时任务能够在实时Linux操作系统上运行;所述专有接口包括:
可移植操作系统接口标准接口,VxWorks接口,POSIX接口,psos+接口,uITRON接口,vrtx接口,vrtai接口,以及xenomai接口。
10.根据权利要求2所述的操作系统,其特征在于,还包括:
多核任务分配模块,用于将仿真模型切分为不同的子任务,将不同的子任务分配给不同的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010202478 CN101894045A (zh) | 2010-06-18 | 2010-06-18 | 一种实时Linux操作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010202478 CN101894045A (zh) | 2010-06-18 | 2010-06-18 | 一种实时Linux操作系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101894045A true CN101894045A (zh) | 2010-11-24 |
Family
ID=43103241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010202478 Pending CN101894045A (zh) | 2010-06-18 | 2010-06-18 | 一种实时Linux操作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894045A (zh) |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096376A (zh) * | 2010-12-30 | 2011-06-15 | 中国科学院长春光学精密机械与物理研究所 | 半实物仿真中的混合时序同步控制方法 |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN102141915A (zh) * | 2010-12-29 | 2011-08-03 | 中国船舶重工集团公司第七研究院 | 一种基于RTLinux的设备实时控制方法 |
CN102760082A (zh) * | 2011-04-29 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 一种任务管理方法和移动终端 |
CN102902513A (zh) * | 2012-09-03 | 2013-01-30 | 哈尔滨工程大学 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
WO2014116339A1 (en) * | 2013-01-24 | 2014-07-31 | Raytheon Company | Synchronizing parallel applications in an asymmetric multi-processing system |
CN104077186A (zh) * | 2013-03-25 | 2014-10-01 | 中微半导体设备(上海)有限公司 | 内嵌实时内核的操作系统及内嵌方法 |
CN104090747A (zh) * | 2014-05-22 | 2014-10-08 | 清华大学 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
CN104476409A (zh) * | 2014-11-25 | 2015-04-01 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN104866373A (zh) * | 2015-05-20 | 2015-08-26 | 南京国电南自电网自动化有限公司 | 基于跨平台技术的实时操作系统仿真方法 |
WO2016004587A1 (zh) * | 2014-07-08 | 2016-01-14 | 北京航空航天大学 | 一种基于多核处理器架构的机器人混合系统应用框架 |
CN105320571A (zh) * | 2015-11-27 | 2016-02-10 | 浪潮(北京)电子信息产业有限公司 | 一种进程调度方法 |
CN105652813A (zh) * | 2014-11-13 | 2016-06-08 | 沈阳高精数控智能技术股份有限公司 | 一种基于AM335X处理器构建嵌入式实时EtherCAT主站的方法 |
CN105786457A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 将VxWorks任务移植到Linux的方法及装置 |
CN105786456A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 一种实现VxWorks任务钩子函数功能的方法及装置 |
CN106886454A (zh) * | 2017-02-20 | 2017-06-23 | 深圳多哚新技术有限责任公司 | 一种基于vr眼镜的任务处理方法、装置及vr眼镜 |
CN107015814A (zh) * | 2017-04-26 | 2017-08-04 | 国网冀北电力有限公司信息通信分公司 | 满足异构操作系统业务移植的浏览器操作系统设计方法 |
CN107066422A (zh) * | 2017-06-26 | 2017-08-18 | 中科和光(天津)应用激光技术研究所有限公司 | 一种基于嵌入式双核实时系统的警用执法仪 |
CN103218322B (zh) * | 2011-09-16 | 2017-10-24 | 三星电子株式会社 | 片上系统、电子系统以及操作其的方法 |
CN107703878A (zh) * | 2015-11-27 | 2018-02-16 | 中工科安科技有限公司 | 一种plc分布式远程io扩展模块 |
CN108073545A (zh) * | 2016-11-17 | 2018-05-25 | 联芯科技有限公司 | 一种多处理器通信装置及方法 |
WO2018107394A1 (en) * | 2016-12-14 | 2018-06-21 | Intel Corporation | I/o emulation abortion in virtualized environments |
CN108304246A (zh) * | 2016-09-29 | 2018-07-20 | 联芯科技有限公司 | 识别目标文件的方法与设备 |
CN108614732A (zh) * | 2016-12-09 | 2018-10-02 | 中标软件有限公司 | 龙芯平台动态前景下的操作系统硬件设备快速映射方法 |
CN109343976A (zh) * | 2018-09-24 | 2019-02-15 | 北京技德终端技术有限公司 | 一种单任务实时消息传递操作系统 |
CN109361606A (zh) * | 2018-09-28 | 2019-02-19 | 新华三技术有限公司 | 一种报文处理系统及网络设备 |
CN109445959A (zh) * | 2018-10-17 | 2019-03-08 | 北京技德终端技术有限公司 | 一种传感器数据处理实时操作系统 |
CN109947539A (zh) * | 2017-12-20 | 2019-06-28 | 广州中国科学院先进技术研究所 | 一种机器人控制器 |
CN110069326A (zh) * | 2018-09-26 | 2019-07-30 | 北京技德终端技术有限公司 | 一种红黑树定时器管理实时操作系统 |
WO2019214608A1 (en) * | 2018-05-11 | 2019-11-14 | Huawei Technologies Co., Ltd. | User space pre-emptive real-time task scheduler |
CN110727461A (zh) * | 2019-10-12 | 2020-01-24 | 深圳市芯智科技有限公司 | 一种用于显示器的移植实时操作系统的方法 |
CN111078301A (zh) * | 2018-10-22 | 2020-04-28 | 致茂电子(苏州)有限公司 | 一种多核心运算装置及其运作方法 |
CN111679923A (zh) * | 2020-06-11 | 2020-09-18 | 北京经纬恒润科技有限公司 | 实时通信方法和系统 |
CN111737025A (zh) * | 2020-05-25 | 2020-10-02 | 中车株洲电力机车研究所有限公司 | 用于实现VxWorks操作系统环境下RTP间数据调用的方法及系统 |
CN111880863A (zh) * | 2020-07-10 | 2020-11-03 | Oppo广东移动通信有限公司 | 应用程序的运行方法、装置、电子设备及存储介质 |
CN111966472A (zh) * | 2020-07-02 | 2020-11-20 | 佛山科学技术学院 | 一种工业实时操作系统的进程调度方法及系统 |
CN112068945A (zh) * | 2020-09-16 | 2020-12-11 | 厦门势拓御能科技有限公司 | 一种优化嵌入式系统中优先级反转方法 |
WO2021001376A1 (de) * | 2019-07-03 | 2021-01-07 | Beckhoff Automation Gmbh | Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage |
CN112965829A (zh) * | 2021-02-22 | 2021-06-15 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
CN112975969A (zh) * | 2021-02-26 | 2021-06-18 | 清华大学 | 机器人控制和视觉感知一体化控制器系统和方法 |
CN114296865A (zh) * | 2021-12-15 | 2022-04-08 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
CN114579285A (zh) * | 2022-04-29 | 2022-06-03 | 武汉深之度科技有限公司 | 一种任务运行系统、方法及计算设备 |
WO2022141300A1 (zh) * | 2020-12-30 | 2022-07-07 | 华为技术有限公司 | 一种任务调度方法及装置 |
CN114911539A (zh) * | 2022-05-17 | 2022-08-16 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN114911538A (zh) * | 2022-05-17 | 2022-08-16 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN115958600A (zh) * | 2022-12-28 | 2023-04-14 | 上海新时达机器人有限公司 | 一种机器人控制系统 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
CN116737673A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN117112244A (zh) * | 2023-08-22 | 2023-11-24 | 电子科技大学 | 一种面向混合实时性任务集的非对称stm同步方法 |
CN117931412A (zh) * | 2024-03-21 | 2024-04-26 | 北京邮电大学 | 一种双内核实时操作系统及任务调度方法 |
CN112068945B (zh) * | 2020-09-16 | 2024-05-31 | 厦门势拓御能科技有限公司 | 一种优化嵌入式系统中优先级反转方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
CN101051282A (zh) * | 2007-05-09 | 2007-10-10 | 浙江大学 | 多操作系统协同工作实现方法 |
US20080155542A1 (en) * | 2004-08-18 | 2008-06-26 | Jaluna Sa | Operating Systems |
CN101324852A (zh) * | 2008-07-22 | 2008-12-17 | 北京航空航天大学 | 实时操作系统及其实时化方法 |
CN101344860A (zh) * | 2007-07-10 | 2009-01-14 | 米特尔网络公司 | 接合实时操作系统环境和本地主机操作系统的虚拟机环境 |
-
2010
- 2010-06-18 CN CN 201010202478 patent/CN101894045A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
US20080155542A1 (en) * | 2004-08-18 | 2008-06-26 | Jaluna Sa | Operating Systems |
CN101051282A (zh) * | 2007-05-09 | 2007-10-10 | 浙江大学 | 多操作系统协同工作实现方法 |
CN101344860A (zh) * | 2007-07-10 | 2009-01-14 | 米特尔网络公司 | 接合实时操作系统环境和本地主机操作系统的虚拟机环境 |
CN101324852A (zh) * | 2008-07-22 | 2008-12-17 | 北京航空航天大学 | 实时操作系统及其实时化方法 |
Cited By (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141915A (zh) * | 2010-12-29 | 2011-08-03 | 中国船舶重工集团公司第七研究院 | 一种基于RTLinux的设备实时控制方法 |
CN102141915B (zh) * | 2010-12-29 | 2014-05-14 | 中国船舶重工集团公司第七研究院 | 一种基于RTLinux的设备实时控制方法 |
CN102096376A (zh) * | 2010-12-30 | 2011-06-15 | 中国科学院长春光学精密机械与物理研究所 | 半实物仿真中的混合时序同步控制方法 |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN102129391B (zh) * | 2011-03-14 | 2013-08-28 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN102760082A (zh) * | 2011-04-29 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 一种任务管理方法和移动终端 |
CN102760082B (zh) * | 2011-04-29 | 2016-09-14 | 腾讯科技(深圳)有限公司 | 一种任务管理方法和移动终端 |
CN103218322B (zh) * | 2011-09-16 | 2017-10-24 | 三星电子株式会社 | 片上系统、电子系统以及操作其的方法 |
CN102902513B (zh) * | 2012-09-03 | 2015-12-02 | 哈尔滨工程大学 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
CN102902513A (zh) * | 2012-09-03 | 2013-01-30 | 哈尔滨工程大学 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
WO2014116339A1 (en) * | 2013-01-24 | 2014-07-31 | Raytheon Company | Synchronizing parallel applications in an asymmetric multi-processing system |
US9304945B2 (en) | 2013-01-24 | 2016-04-05 | Raytheon Company | Synchronizing parallel applications in an asymmetric multi-processing system |
CN104077186A (zh) * | 2013-03-25 | 2014-10-01 | 中微半导体设备(上海)有限公司 | 内嵌实时内核的操作系统及内嵌方法 |
CN104090747A (zh) * | 2014-05-22 | 2014-10-08 | 清华大学 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
CN104090747B (zh) * | 2014-05-22 | 2018-08-21 | 清华大学 | 利用实时调度优化器对Linux智能终端进行优化的方法 |
WO2016004587A1 (zh) * | 2014-07-08 | 2016-01-14 | 北京航空航天大学 | 一种基于多核处理器架构的机器人混合系统应用框架 |
US10265848B2 (en) | 2014-07-08 | 2019-04-23 | Beihang University | Robotic hybrid system application framework based on multi-core processor architecture |
CN105652813A (zh) * | 2014-11-13 | 2016-06-08 | 沈阳高精数控智能技术股份有限公司 | 一种基于AM335X处理器构建嵌入式实时EtherCAT主站的方法 |
CN105652813B (zh) * | 2014-11-13 | 2018-08-14 | 沈阳高精数控智能技术股份有限公司 | 一种基于AM335X处理器构建嵌入式实时EtherCAT主站的方法 |
CN104476409A (zh) * | 2014-11-25 | 2015-04-01 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN104476409B (zh) * | 2014-11-25 | 2019-10-18 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN105786457A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 将VxWorks任务移植到Linux的方法及装置 |
CN105786457B (zh) * | 2014-12-22 | 2018-10-12 | 迈普通信技术股份有限公司 | 将VxWorks任务移植到Linux的方法及装置 |
CN105786456B (zh) * | 2014-12-22 | 2018-10-12 | 迈普通信技术股份有限公司 | 一种实现VxWorks任务钩子函数功能的方法及装置 |
CN105786456A (zh) * | 2014-12-22 | 2016-07-20 | 迈普通信技术股份有限公司 | 一种实现VxWorks任务钩子函数功能的方法及装置 |
CN104866373B (zh) * | 2015-05-20 | 2019-01-18 | 南京国电南自电网自动化有限公司 | 基于跨平台技术的实时操作系统仿真方法 |
CN104866373A (zh) * | 2015-05-20 | 2015-08-26 | 南京国电南自电网自动化有限公司 | 基于跨平台技术的实时操作系统仿真方法 |
CN107703878A (zh) * | 2015-11-27 | 2018-02-16 | 中工科安科技有限公司 | 一种plc分布式远程io扩展模块 |
CN107703878B (zh) * | 2015-11-27 | 2019-06-28 | 中工科安科技有限公司 | 一种plc分布式远程io扩展模块 |
CN105320571A (zh) * | 2015-11-27 | 2016-02-10 | 浪潮(北京)电子信息产业有限公司 | 一种进程调度方法 |
CN105320571B (zh) * | 2015-11-27 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种进程调度方法 |
CN108304246A (zh) * | 2016-09-29 | 2018-07-20 | 联芯科技有限公司 | 识别目标文件的方法与设备 |
CN108073545A (zh) * | 2016-11-17 | 2018-05-25 | 联芯科技有限公司 | 一种多处理器通信装置及方法 |
CN108614732A (zh) * | 2016-12-09 | 2018-10-02 | 中标软件有限公司 | 龙芯平台动态前景下的操作系统硬件设备快速映射方法 |
CN108614732B (zh) * | 2016-12-09 | 2021-07-09 | 中标软件有限公司 | 龙芯平台动态前景下的操作系统硬件设备快速映射方法 |
US11281482B2 (en) | 2016-12-14 | 2022-03-22 | Intel Corporation | I/O emulation with abortion in virtualized environments including transfer of portions of non-real time I/O emulation to work threads prior to switching contexts |
WO2018107394A1 (en) * | 2016-12-14 | 2018-06-21 | Intel Corporation | I/o emulation abortion in virtualized environments |
CN106886454A (zh) * | 2017-02-20 | 2017-06-23 | 深圳多哚新技术有限责任公司 | 一种基于vr眼镜的任务处理方法、装置及vr眼镜 |
CN107015814A (zh) * | 2017-04-26 | 2017-08-04 | 国网冀北电力有限公司信息通信分公司 | 满足异构操作系统业务移植的浏览器操作系统设计方法 |
CN107066422A (zh) * | 2017-06-26 | 2017-08-18 | 中科和光(天津)应用激光技术研究所有限公司 | 一种基于嵌入式双核实时系统的警用执法仪 |
CN109947539A (zh) * | 2017-12-20 | 2019-06-28 | 广州中国科学院先进技术研究所 | 一种机器人控制器 |
WO2019214608A1 (en) * | 2018-05-11 | 2019-11-14 | Huawei Technologies Co., Ltd. | User space pre-emptive real-time task scheduler |
US10983846B2 (en) | 2018-05-11 | 2021-04-20 | Futurewei Technologies, Inc. | User space pre-emptive real-time scheduler |
CN109343976A (zh) * | 2018-09-24 | 2019-02-15 | 北京技德终端技术有限公司 | 一种单任务实时消息传递操作系统 |
CN110069326A (zh) * | 2018-09-26 | 2019-07-30 | 北京技德终端技术有限公司 | 一种红黑树定时器管理实时操作系统 |
CN109361606A (zh) * | 2018-09-28 | 2019-02-19 | 新华三技术有限公司 | 一种报文处理系统及网络设备 |
CN109361606B (zh) * | 2018-09-28 | 2021-05-25 | 新华三技术有限公司 | 一种报文处理系统及网络设备 |
CN109445959A (zh) * | 2018-10-17 | 2019-03-08 | 北京技德终端技术有限公司 | 一种传感器数据处理实时操作系统 |
CN111078301A (zh) * | 2018-10-22 | 2020-04-28 | 致茂电子(苏州)有限公司 | 一种多核心运算装置及其运作方法 |
CN111078301B (zh) * | 2018-10-22 | 2023-11-21 | 致茂电子(苏州)有限公司 | 一种多核心运算装置及其运作方法 |
WO2021001376A1 (de) * | 2019-07-03 | 2021-01-07 | Beckhoff Automation Gmbh | Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage |
CN110727461A (zh) * | 2019-10-12 | 2020-01-24 | 深圳市芯智科技有限公司 | 一种用于显示器的移植实时操作系统的方法 |
CN111737025A (zh) * | 2020-05-25 | 2020-10-02 | 中车株洲电力机车研究所有限公司 | 用于实现VxWorks操作系统环境下RTP间数据调用的方法及系统 |
CN111737025B (zh) * | 2020-05-25 | 2024-04-09 | 中车株洲电力机车研究所有限公司 | 用于实现VxWorks操作系统环境下实时进程间数据调用的方法及系统 |
CN111679923A (zh) * | 2020-06-11 | 2020-09-18 | 北京经纬恒润科技有限公司 | 实时通信方法和系统 |
CN111679923B (zh) * | 2020-06-11 | 2023-08-08 | 北京经纬恒润科技股份有限公司 | 实时通信方法和系统 |
CN111966472A (zh) * | 2020-07-02 | 2020-11-20 | 佛山科学技术学院 | 一种工业实时操作系统的进程调度方法及系统 |
CN111966472B (zh) * | 2020-07-02 | 2023-09-26 | 佛山科学技术学院 | 一种工业实时操作系统的进程调度方法及系统 |
CN111880863A (zh) * | 2020-07-10 | 2020-11-03 | Oppo广东移动通信有限公司 | 应用程序的运行方法、装置、电子设备及存储介质 |
CN111880863B (zh) * | 2020-07-10 | 2023-10-24 | Oppo广东移动通信有限公司 | 应用程序的运行方法、装置、电子设备及存储介质 |
CN112068945A (zh) * | 2020-09-16 | 2020-12-11 | 厦门势拓御能科技有限公司 | 一种优化嵌入式系统中优先级反转方法 |
CN112068945B (zh) * | 2020-09-16 | 2024-05-31 | 厦门势拓御能科技有限公司 | 一种优化嵌入式系统中优先级反转方法 |
WO2022141300A1 (zh) * | 2020-12-30 | 2022-07-07 | 华为技术有限公司 | 一种任务调度方法及装置 |
CN112965829B (zh) * | 2021-02-22 | 2023-08-11 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
CN112965829A (zh) * | 2021-02-22 | 2021-06-15 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
CN112975969A (zh) * | 2021-02-26 | 2021-06-18 | 清华大学 | 机器人控制和视觉感知一体化控制器系统和方法 |
CN114296865A (zh) * | 2021-12-15 | 2022-04-08 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
CN114296865B (zh) * | 2021-12-15 | 2024-03-26 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
CN114579285A (zh) * | 2022-04-29 | 2022-06-03 | 武汉深之度科技有限公司 | 一种任务运行系统、方法及计算设备 |
CN114911539A (zh) * | 2022-05-17 | 2022-08-16 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN114911538A (zh) * | 2022-05-17 | 2022-08-16 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN114911539B (zh) * | 2022-05-17 | 2024-05-14 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
CN116302303B (zh) * | 2022-09-09 | 2024-02-13 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
CN116737673B (zh) * | 2022-09-13 | 2024-03-15 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN116737673A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN115958600A (zh) * | 2022-12-28 | 2023-04-14 | 上海新时达机器人有限公司 | 一种机器人控制系统 |
CN117112244A (zh) * | 2023-08-22 | 2023-11-24 | 电子科技大学 | 一种面向混合实时性任务集的非对称stm同步方法 |
CN117931412A (zh) * | 2024-03-21 | 2024-04-26 | 北京邮电大学 | 一种双内核实时操作系统及任务调度方法 |
CN117931412B (zh) * | 2024-03-21 | 2024-06-11 | 北京邮电大学 | 一种双内核实时操作系统及任务调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101894045A (zh) | 一种实时Linux操作系统 | |
Wu et al. | Flep: Enabling flexible and efficient preemption on gpus | |
Patel et al. | Embedded hypervisor xvisor: A comparative analysis | |
US4414624A (en) | Multiple-microcomputer processing | |
US8661435B2 (en) | System and method for affinity dispatching for task management in an emulated multiprocessor environment | |
US20180341510A1 (en) | Virtual processor scheduling via memory monitoring | |
Suzuki et al. | Gpuvm: Gpu virtualization at the hypervisor | |
CN103793255A (zh) | 可配置的多主模式多os内核实时操作系统架构与启动方法 | |
Ballesteros et al. | Nix: A case for a manycore system for cloud computing | |
Zuo et al. | Performance tuning towards a KVM-based low latency virtualization system | |
Ma et al. | Performance Tuning Towards a KVM-based Embedded Real-Time Virtualization System. | |
Zampiva et al. | A hypervisor approach with real-time support to the MIPS M5150 processor | |
Khan et al. | Multi-threaded simics systemc virtual platform | |
US8402191B2 (en) | Computing element virtualization | |
Lackorzynski et al. | Combining predictable execution with full-featured commodity systems | |
Suzuki | Making gpus first-class citizen computing resources in multitenant cloud environments | |
Alyas et al. | GPGPU Virtualization Techniques a Comparative Survey | |
Sang et al. | The Xthreads library: Design, implementation, and applications | |
Papadimitriou et al. | A Comparative Evaluation of Core Kernel Features of the Recent Linux, FreeBSD, Solaris, and Windows Operating Systems | |
Rivnak et al. | Real-Time Operating Systems: Course Development | |
Suzuki et al. | Cooperative GPGPU scheduling for consolidating server workloads | |
Wang et al. | Self-boosted co-scheduling for SMP virtual machines | |
Aguiar et al. | A virtualization approach for MIPS-based MPSoCs | |
Moyer | Operating systems in multicore platforms | |
Wang et al. | A Multiprocessor RTOS Design of uC/OS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice |
Addressee: Yang Jian Document name: the First Notification of an Office Action |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101124 |