CN103559045A - 一种硬件实时操作系统 - Google Patents

一种硬件实时操作系统 Download PDF

Info

Publication number
CN103559045A
CN103559045A CN201310596861.6A CN201310596861A CN103559045A CN 103559045 A CN103559045 A CN 103559045A CN 201310596861 A CN201310596861 A CN 201310596861A CN 103559045 A CN103559045 A CN 103559045A
Authority
CN
China
Prior art keywords
task
operating system
real time
hardware
ready
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.)
Granted
Application number
CN201310596861.6A
Other languages
English (en)
Other versions
CN103559045B (zh
Inventor
范延滨
王正彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao University
Original Assignee
Qingdao University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao University filed Critical Qingdao University
Priority to CN201310596861.6A priority Critical patent/CN103559045B/zh
Publication of CN103559045A publication Critical patent/CN103559045A/zh
Application granted granted Critical
Publication of CN103559045B publication Critical patent/CN103559045B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明属于计算机设备技术领域,涉及一种硬件实时操作系统,定时管理器由硬件定时器实现任务的延时和周期执行;任务管理器实现任务控制块队列的操作与管理;事件管理器实现包括信号量控制块、互斥信号量控制块、信号量集控制块、消息邮箱控制块、消息队列控制块的事件控制块的操作与管理;总线接口管理器实现处理器与硬件实时操作系统之间的数据传输与控制;其设计原理可靠,设计思想先进,合同技术手段科学,采用交叉的嵌入式技术和集成电路技术实现硬件实时操作系统集成电路IC,有效提高实时操作系统的实时性、可靠性和稳定性,具有广泛的开拓应用价值。

Description

一种硬件实时操作系统
技术领域:
本发明属于计算机设备技术领域,涉及一种由嵌入式技术与集成电路技术交叉实现的硬件实时操作系统(HRTOS,Hardware Real TimeOperation System),用电子设计自动化技术(EDA)对实时操作系统(RTOS,Real Time Operation System)内核进行硬件设计与实现,完成一种实现实时操作系统内核功能的集成电路(IC),提高了实时操作系统的实时性、可靠性和稳定性。
背景技术:
计算机系统包括通用计算机系统(PC机)和嵌入式计算机系统(简称嵌入式系统,Embedded System),通用计算机系统采用标准化设计,在硬件与软件上都是采用标准架构,其软件和硬件都是标准的,生产商也是相对集中的,其CPU的主要生产商有Intel、AMD等,操作系统主要有Windows和LINUX等。嵌入式计算机系统采用非标准化设计,它是一种专用计算机系统,具有特殊性,例如,一款手机具有3G功能,而另一款手机却具有4G功能等。因此,嵌入式系统需要根据产品的具体要求来量身定制,通过选择合适的嵌入式处理器、外围功能模块等来定制硬件系统;通过选择合适的嵌入式操作系统和应用协议等来定制软件系统。电气电子工程师协会(IEEE)给出的嵌入式系统定义是“控制、监视或者辅助装置、机器和设备运行的装置。”
嵌入式技术是继网络技术之后的又一主流技术,从20世纪90年代,嵌入式技术全面展开,随着信息化、智能化、网络化的发展,嵌入式系统获得了广阔的发展空间。目前,嵌入式技术已成为智能领域的核心技术,特别是物联网(IOT,Internet of Things)为嵌入式系统提供了巨大的应用空间。嵌入式系统又推动了物联网的崛起,也反示出嵌入式系统巨大的发展潜力。物联网的核心设备是智能终端,物联的实现就是智能终端的网络化运行,嵌入式系统又是智能终端的大脑和中枢神经,因此嵌入式系统是物联网产业发展的核心推动力。
总之,嵌入式系统是计算机硬件与软件高度融合的智能体,已经形成了巨大的技术空间和人才市场,而“实时操作系统”是嵌入式系统的基础运行平台,是嵌入式系统稳定、可靠工作的基础,其功能和性能的好坏将直接影响嵌入式系统的功能和性能。
实时操作系统RTOS主要特性包括:一是实时性,反映实时操作系统快速响应外部事件的能力;二是可靠性,反映实时操作系统能够保持正常运行而不受外界影响的能力,通常以系统连续并且可靠运行时间来度量;三是安全性,反映实时操作系统能够抵御外部攻击和应用软件自身缺陷的能力;四是开放性,反映实时操作系统符合国际和国家标准水平以及能否得到众多第三方广泛支持的基本条件。
基于优先级实现抢占式的多任务实时内核是实时操作系统的核心部分。其功能主要包括处理器管理、任务调度、任务同步、任务间通信、中断处理、定时器和内存管理等模块。例如,著名的VxWorks实时内核(Wind)主要包括基于优先级的任务调度、任务同步和通信、中断处理、定时器和内存管理;μC/OS-II/III提供了基于优先级的任务调度与管理、任务间同步与通信、时间管理和中断服务、内存管理等功能。
对于现有基于软件实现的实时操作系统,单纯依靠改进调度算法已不能使其实时性、稳定性等有更进一步的提高。如果采用硬件逻辑实现其任务调度、中断处理和定时器管理等功能,则可使其实时性和稳定性显著提高。因为硬件逻辑独立于处理器运行,不占用处理器的时间,所节省的时间用于执行任务程序,从而提高任务集合的可调度性和实时性。实时操作系统中与实时性相关的物理过程包括:系统滴答时钟(TICK)周期、任务轮询时间、就绪表操作时间、任务调度时间和条件判断时间等。其中,就绪表操作时间、任务调度时间、条件判断时间都是相关程序的一次性执行时间,因此这些时间相对比较短,都是微秒(μs)量级(假设处理器的工作时钟为10Mhz,约为10μs);系统滴答时钟TICK周期约为毫秒(ms)量级(如,VxWorks中TICK周期最小为1.67ms);任务轮询周期就是TICK周期,任务轮询时间是系统对多个任务轮询判断一遍所耗费的时间(如果系统有100个任务,那么总的轮训时间约为100*10μs=1ms)。从以上分析可知,RTOS是在TICK的同步下工作的,TICK周期直接决定RTOS的实时性和执行效率,减小TICK周期可以提高实时性,但是也会降低执行效率;TICK周期决定系统的实时性,任务轮询时间决定系统的执行效率(执行效率=1-任务轮询时间/TICK周期);以最优秀的VxWorks为例,假设系统工作时钟为10Mhz,VxWorks中建议的TICK周期为1.67ms到1.0ms;VxWorks的一个任务轮询时间约为3.8μs;256个任务的任务轮询时间约为973μs(3.8μs*256),则TICK周期为1.67ms下的执行效率约为41.7%(只有41.7%的时间执行用户程序),效率非常低。更重要的是,在RTOS的TICK延时循环判断中,RTOS是关闭中断的,因此,这将极大地降低中断响应的实时性,甚至其中断响应时间与TICK可比较。在硬件实时操作系统HRTOS中,N个任务的任务轮询由硬件逻辑并行完成(即无须软件轮询),而且TICK周期可以达到系统时钟CLK周期(为ns量级),任务调度周期、就绪表操作时间、任务调度时间等都降低到1个CLK周期,并且是并行完成的,严格地说HRTOS的任务调度可以在1个CLK内完成,考虑到设计余量并降低设计复杂的,任务调度周期可设计为6个CLK以内,其实时性为μs量级(10Mhz时钟时,约为0.6μs),得到了极大提高(微秒量级),所有任务也无需轮询判断,其执行效率达到99%。
在RTOS内核中,从逻辑上基本上可以分解为三个部分:任务的定时循环、任务的就绪逻辑和任务的切换,其中,任务的定时循环和任务的就绪逻辑可以由硬件实现,任务的切换可以由软件实现。因此,可以把RTOS抽象为硬件实时操作系统(HRTOS,Hardware RTOS)和软件实时操作系统(SRTOS,Software RTOS)。其中,HRTOS主要包括任务的定时循环和任务的就绪逻辑,由硬件实现。SRTOS主要包括任务的切换,由软件实现。即,由HRTOS形成任务切换的充要条件,由SRTOS实现任务的切换;所以,设计一种硬件实时操作系统具有广阔的应用价值和理论价值。
发明内容:
本发明的目的在于克服现有技术存在的缺点,寻求设计一种嵌入式技术与集成电路技术交叉实现的硬件实时操作系统(HRTOS),解决现有实时操作系统存在的实时性差、效率低等缺点,在嵌入式系统设计中,达到以硬件实时操作系统(HRTOS)为核心,构成可靠地、实时地嵌入式系统基本运行平台,可广泛地应用于航空航天、工业控制、武器装备、汽车电子、信息产品、物联网等相关技术领域。
为了实现上述目的,本发明的主体架构包括系统定时管理器、任务管理器、事件管理器和总线接口管理器,其中:定时管理器由硬件定时器实现任务的延时和周期执行,在设定任务执行周期或延时时间后,当设定的时间定时到时便会使对应任务就绪,并触发硬件内核的调度器,产生一次任务调度中断,每一个任务需要一个定时器,用于管理一个任务的延时和运行周期,如果系统有N个任务则需要N个定时器;任务管理器实现任务控制块(TCB,Task Control Block)队列的操作与管理,所有未执行任务存放在任务等待表和任务就绪表中,任务等待表中的任务在条件(如定时到、事件到达等)满足时变为就绪任务,等待任务调度,任务调度器在每个调度时钟(CLK)内计算出优先级最高的就绪任务,调度器采用抢占式调度机制,每个调度时钟输出优先级最高的就绪任务,通过中断方式向处理器提出任务服务,由SRTOS负责任务切换,执行任务代码;事件管理器实现包括信号量控制块、互斥信号量控制块、信号量集控制块、消息邮箱控制块、消息队列控制块的事件控制块(ECB,Event Control Block)的操作与管理,每一个事件都能够被N个任务请求使用,每一个事件有一张事件等待表,当事件为真时,事件为优先级最高的等待任务服务,并为任务就绪提供判断依据,使任务就绪,供任务管理器从所有就绪任务中选出优先级最高的就绪任务,再以中断方式向处理器提出任务服务,由SRTOS实现任务切换;总线接口管理器实现处理器与HRTOS之间的数据传输与控制,SRTOS中的总线接口驱动程序(API函数)被应用程序调用,通过接口总线对硬件实时操作系统(HRTOS)进行读写,API函数从功能上分为两类:一是处理器向硬件实时操作系统(HRTOS)发布命令,硬件实时操作系统(HRTOS)收到命令后,解析命令、执行相应操作;二是启动中断服务程序,硬件实时操作系统(HRTOS)进行一次任务调度后,如果新选出的最高优先级就绪任务不是当前正在执行的任务,则需要进行任务切换;硬件调度内核将向处理器提出任务中断服务,读取该就绪任务的优先级和堆栈地址,实现任务切换。
本发明实现硬件实时操作的具体执行过程为:
(1)、先对现有技术中的实时操作系统进行分析和抽象,将实时操作系统分解为硬件实时操作系统(HRTOS)和软件实时操作系统(SRTOS)两个部分,其中,HRTOS为一颗集成电路IC,其实时操作系统核心功能完全由硬件电路来实现,SRTOS为与HRTOS相配合运行在嵌入式系统中的软件;
(2)、然后对硬件实时操作系统进行架构设计和建模,规划成易于硬件实现且高度综合的四个模块,最后应用电子设计自动化技术(EDA)分别实现定时管理器、事件管理器、任务管理器和总线接口管理器,完成HRTOS集成电路IC的设计;
(3)、任务管理器是HRTOS的核心部件,包括立体就绪表、任务调度器和任务中断控制器三个模块,其中,立体就绪表实现定时管理器、事件管理器与任务管理器之间的信息传递和逻辑运算,并减少模块之间的耦合、提高系统稳定性;先由任务调度器生成任务就绪表中优先级最高的任务的优先级,再由任务中断控制器生成任务中断请求信号,并向处理器提出任务中断请求,运行在嵌入式系统中的SRTOS将响应任务中断请求,实现任务切换;
(4)、在嵌入式系统设计中,硬件实时操作系统(HRTOS)通过总线接口管理器与处理器CPU相连接,由HRTOS实现任务延时、事件响应、优先级操作、任务调度和任务中断工作,软件实时操作系统(SRTOS)运行在嵌入式系统中,实现CPU与HRTOS之间的初始化、事件响应、任务调度等数据交互和任务切换。
本发明与现有技术相比,实现了软件的硬件化,其设计原理可靠,设计思想先进,合同技术手段科学,采用交叉的嵌入式技术和集成电路技术实现硬件实时操作系统集成电路IC,有效提高实时操作系统的实时性、可靠性和稳定性,具有广泛的开拓应用价值。
附图说明:
图1为本发明涉及的HRTOS架构原理示意图。
图2为本发明涉及的64任务实例立体就绪表示意图。
图3为本发明涉及的HRTOS任务调度结构示意图。
图4为本发明涉及的HRTOS在嵌入式系统中应用示意图。
具体实施方式:
下面结合附图并通过实施例对本发明进一步描述。
本实施例的主体架构包括定时管理器1、任务管理器2、事件管理器3和总线接口管理器4,其中:定时管理器1由硬件定时器实现任务的延时和周期执行,在设定任务执行周期或延时时间后,当设定的时间定时到时便会使对应任务就绪,并触发硬件内核的调度机,产生一次任务调度中断,每一个任务需要一个定时器,用于管理一个任务的延时和运行周期,如果系统有N个任务则需要N个定时器;任务管理器2实现任务控制块(TCB,Task Control Block)队列的操作与管理,所有未执行任务存放在任务等待表和任务就绪表中,任务等待表中的任务在条件(如定时到、事件到达等)满足时变为就绪任务,等待任务调度,任务调度器在每个调度时钟(CLK)内计算出优先级最高的就绪任务,调度器采用抢占式调度机制,每个调度时钟输出优先级最高的就绪任务,通过中断方式向处理器提出任务服务,由SRTOS负责任务切换,执行任务代码;事件管理器3实现包括信号量控制块、互斥信号量控制块、信号量集控制块、消息邮箱控制块、消息队列控制块的事件控制块(ECB,Event Control Block)的操作与管理,每一个事件都能够被N个任务请求使用,每一个事件有一张事件等待表,当事件为真时,事件为优先级最高的等待任务服务,并为任务就绪提供判断依据,使任务就绪,供任务管理器2从所有就绪任务中选出优先级最高的就绪任务,再以中断方式向处理器提出任务服务,由SRTOS实现任务切换;总线接口管理器4实现处理器与HRTOS之间的数据传输与控制,SRTOS中的总线接口驱动程序(API函数)被应用程序调用,通过接口总线对硬件实时操作系统(HRTOS)进行读写,API函数从功能上分为两类:一是处理器向硬件实时操作系统(HRTOS)发布命令,硬件实时操作系统(HRTOS)收到命令后,解析命令、执行相应操作;二是启动中断服务程序,硬件实时操作系统(HRTOS)进行一次任务调度后,如果新选出的最高优先级就绪任务不是当前正在执行的任务,则需要进行任务切换;硬件调度内核将向处理器提出任务中断服务,读取该就绪任务的优先级和堆栈地址,实现任务切换。
本实施例实现硬件实时操作的具体执行过程为:
(1)、先对现有技术中的实时操作系统进行分析和抽象,将实时操作系统分解为硬件实时操作系统(HRTOS)和软件实时操作系统(SRTOS)两个部分,其中,HRTOS为一颗集成电路IC,其实时操作系统核心功能完全由硬件电路来实现,SRTOS为与HRTOS相配合运行在嵌入式系统中的软件;
(2)、然后对硬件实时操作系统进行架构设计和建模,规划成易于硬件实现且高度综合的四个模块,如图1所示,最后应用EDA技术分别实现定时管理器1、事件管理器2、任务管理器3和总线接口管理器4,完成HRTOS集成电路IC的设计;
(3)、任务管理器3是HRTOS的核心部件,包括立体就绪表、任务调度器和任务中断控制器三个模块,其中,立体就绪表(如图2所示)实现定时管理器1、事件管理器2与任务管理器3之间的信息传递和逻辑运算,并减少模块之间的耦合、提高系统稳定性;先由任务调度器(如图3所示)生成任务就绪表中优先级最高的任务的优先级,再由任务中断控制器生成任务中断请求信号,并向处理器提出任务中断请求(如图3所示),运行在嵌入式系统中的SRTOS将响应任务中断请求,实现任务切换;
(4)、在嵌入式系统设计中,硬件实时操作系统(HRTOS)通过总线接口管理器4与处理器CPU相连接(如图4所示),由HRTOS实现任务延时、事件响应、优先级操作、任务调度和任务中断工作,软件实时操作系统(SRTOS)运行在嵌入式系统中,实现CPU与HRTOS之间的初始化、事件响应、任务调度等数据交互和任务切换。
实施例1:
本实施例设定系统有N个任务,第n个任务用TASKn表示,第n个定时器用TMRn表示,第n个事件用EVENTn表示(第n个信号量用SEMn表示,第n个互斥信号量用MUTEXn表示,第n个信号量集用SEMFn表示,第n个消息邮箱用MBn表示,第n个消息队列用MQn表示)。
本实施例涉及的硬件实时操作系统HRTOS的核心模块包括系统定时管理器1、事件管理器2、任务管理器3和总线接口管理器4。其中,定时管理器1包括定时定时器阵列、定时等待表和定时就绪逻辑,定时器阵列包括N个定时器,每个任务固定分配一个定时器,实现该任务的延时和周期执行,当第n个任务TASKn的定时器TMRn定时到达时,则根据定时等待表第n位是否为1,来决定是否设置定时就绪表的第n位为1;事件管理器2包括事件逻辑阵列、事件等待表和事件就绪逻辑,设每个任务同一个时刻只能等待一个事件,每个事件可以被N个任务等待,则事件的总数量最大为N个,即信号量、互斥信号量、信号量集、消息邮箱、消息队列的总和为N,事件最大的使用概率是每个任务都使用一个事件;否则,总会有空事件,当一个事件的等待表为空时,需要自动删除;实际上,同一个任务在N张事件等待表中,同一个时刻只能在一张事件等待表有效,可以对N张事件等待表投影在一起判优,事件阵列包括N个事件触发器,可以动态地分配给一个任务使用,同一个时刻一个任务只能分配一个事件触发器,当第n个事件EVENTn的事件触发器触发有效时,则根据事件等待表第n位是否为1,来决定是否设置事件就绪表的第n位为1;任务管理器3包括立体任务就绪表、任务调度器和任务中断控制器,立体任务就绪表包括任务就绪表、定时就绪表和事件就绪表,其中事件就绪表包括信号量就绪表、互斥信号量就绪表、信号量集就绪表、消息邮箱就绪表、消息队列就绪表,在任务就绪表中,每一位与一个任务相对应,其位地址与任务优先级相同,第n位为1表示任务TASKn处于就绪状态,第n位为0表示任务TASKn处于非就绪状态,在定时就绪表中,每一位与一个任务对应,其位地址与任务优先级相同,第n位为1表示任务TASKn定时到达后进入就绪状态,第n位为0表示任务TASKn定时没到仍处于定时等待状态,在事件就绪表中,每一位与一个任务对应,其位地址与任务优先级相同,第n位为1表示任务TASKn等到事件后进入就绪状态,第n位为0表示任务TASKn仍处于事件等待状态,各类就绪表的第n位或运算生成第n个任务TASKn的就绪状态,并设置任务就绪表的第n位,每一类就绪表是一个二维平面表,任务就绪表、定时就绪表、事件就绪表共同构成立体化就绪表。任务调度器从任务就绪表中查找到优先级最高的、就绪的任务TASKn,然后生成一个任务中断信号HPRn和任务中断类型号(任务优先级)Prio。任务中断控制器主要接收任务中断信号HPRn和任务中断类型号Prio,对中断进行判优、校验、加密等操作,并向处理器提出任务中断请求信号INTRn,向处理器提出请求,进行任务调度;系统总线接口管理器是硬件实时操作系统与处理器之间的通信通道,各个模块的配置寄存器、控制寄存器的配置字和控制字、中断类型号Prio等信息都是通过系统总线接口进行交互的。
本实施例涉及的立体任务就绪表包括任务就绪表、定时就绪表、信号量就绪表、互斥信号量就绪表、信号量集就绪表、消息邮箱就绪表、消息队列就绪表。立体就绪表结构为(x,y,z),其纵向包括1个任务就绪表、1个定时就绪表、5个事件就绪表、2个保留表。其深度为z=9层的就绪表,假设系统管理N个任务,则每个就绪表结构为x=8列、y=N/8行的二维表;假设系统任务数N=64=8*8,则就绪表结构为x=8列、y=8行的二维表,立体就绪表结构为(x,y,z)=(8,8,9),z方向为9位的就绪字如表1所示:
表1:
Figure BDA0000419592070000101
从(7,7,8)位置“Z字”型编号至左下角(0,0,8)位置,编号从0至63,该编号既是就绪表地址又是任务优先级;在(x,y)平面上,每一个位(z方向上为9bits)对应一个任务的就绪字,其中,事件就绪字(ERW,Event Ready Word)为8bits:
第8层:(最前面一层,z=8)最前面一层是任务就绪表;
第7层:定时到就绪表;
第6层:信号量就绪表;
第5层:互斥信号量就绪表;
第4层:信号量集就绪表;
第3层:消息邮箱就绪表;
第2层:消息队列就绪表;
第1层:保留;
第0层:保留;
当硬件实时操作系统HRTOS产生任务就绪中断时,软件实时操作系统SRTOS中调度器通过任务中断服务,读取就绪任务的任务调度中断的中断类型号,获取该任务的优先级、获取堆栈指针进行任务调度,中断类型号的数据结构如表2所示:
表2:
Figure BDA0000419592070000102
本实施例建立事件就绪表生成任务就绪表之间的生成算法:任务就绪=定时器|信号量|互斥信号量|信号量集|消息邮箱|消息队列;建立任务就绪表生成任务中断之间的生成算法:对于任务就绪表,需要建立查找就绪任务算法,最简单的算法就是采用优先编码器,横向或运算,生成组优先级,对组优先级优先编码,得到组地址,在对组内优先编码得到组内地址X,则优先级Prio=(Y<<3)|X;任务调度中断生成的算法:新生成的任务优先级与当前任务优先级比较,如果中断类型号小于当前任务优先级比较,则生成任务中断信号,向处理器请求任务中断,生成中断类型号INTNo:INTNo=((!Prio)<<8)|Prio。
本实施例涉及的任务调度器通过任务就绪表查找出优先级最高的、就绪的任务,任务调度器的核心是优先编码器,硬件自动生成任务优先级和任务中断信号,然后输入到任务中断控制器。

Claims (2)

1.一种硬件实时操作系统,其特征在于主体架构包括系统定时管理器、任务管理器、事件管理器和总线接口管理器,其中:定时管理器由硬件定时器实现任务的延时和周期执行,在设定任务执行周期或延时时间后,当设定的时间定时到时便会使对应任务就绪,并触发硬件内核的调度器,产生一次任务调度中断,每一个任务需要一个定时器,用于管理一个任务的延时和运行周期,如果系统有N个任务则需要N个定时器;任务管理器实现任务控制块队列的操作与管理,所有未执行任务存放在任务等待表和任务就绪表中,任务等待表中的任务在定时到或事件到达时变为就绪任务,等待任务调度,任务调度器在每个调度时钟内计算出优先级最高的就绪任务,调度器采用抢占式调度机制,每个调度时钟输出优先级最高的就绪任务,通过中断方式向处理器提出任务服务,由软件实时操作系统负责任务切换,执行任务代码;事件管理器实现包括信号量控制块、互斥信号量控制块、信号量集控制块、消息邮箱控制块、消息队列控制块的事件控制块的操作与管理,每一个事件都能够被N个任务请求使用,每一个事件有一张事件等待表,当事件为真时,事件为优先级最高的等待任务服务,并为任务就绪提供判断依据,使任务就绪,供任务管理器从所有就绪任务中选出优先级最高的就绪任务,再以中断方式向处理器提出任务服务,由软件实时操作系统实现任务切换;总线接口管理器实现处理器与硬件实时操作系统之间的数据传输与控制,软件实时操作系统中的总线接口驱动程序API函数被应用程序调用,通过接口总线对硬件实时操作系统进行读写,API函数从功能上分为两类:一是处理器向硬件实时操作系统发布命令,硬件实时操作系统收到命令后,解析命令、执行相应操作;二是启动中断服务程序,硬件实时操作系统进行一次任务调度后,如果新选出的最高优先级就绪任务不是当前正在执行的任务,则需要进行任务切换;硬件调度内核将向处理器提出任务中断服务,读取该就绪任务的优先级和堆栈地址,实现任务切换。
2.根据权利要求1所述的硬件实时操作系统,其特征在于实现硬件实时操作的具体执行过程为:
(1)、先对现有技术中的实时操作系统进行分析和抽象,将实时操作系统分解为硬件实时操作系统和软件实时操作系统两个部分,其中,硬件实时操作系统为一颗集成电路IC,其实时操作系统核心功能完全由硬件电路来实现,软件实时操作系统为与硬件实时操作系统相配合运行在嵌入式系统中的软件;
(2)、然后对硬件实时操作系统进行架构设计和建模,规划成易于硬件实现且高度综合的四个模块,最后应用电子设计自动化技术分别实现定时管理器、事件管理器、任务管理器和总线接口管理器,完成硬件实时操作系统集成电路IC的设计;
(3)、任务管理器是硬件实时操作系统的核心部件,包括立体就绪表、任务调度器和任务中断控制器三个模块,其中,立体就绪表实现定时管理器、事件管理器与任务管理器之间的信息传递和逻辑运算,并减少模块之间的耦合、提高系统稳定性;先由任务调度器生成任务就绪表中优先级最高的任务的优先级,再由任务中断控制器生成任务中断请求信号,并向处理器提出任务中断请求,运行在嵌入式系统中的软件实时操作系统将响应任务中断请求,实现任务切换;
(4)、在嵌入式系统设计中,硬件实时操作系统通过总线接口管理器与处理器CPU相连接,由硬件实时操作系统实现任务延时、事件响应、优先级操作、任务调度和任务中断工作,软件实时操作系统运行在嵌入式系统中,实现CPU与硬件实时操作系统之间的初始化、事件响应、任务调度等数据交互和任务切换。
CN201310596861.6A 2013-11-21 2013-11-21 一种硬件实时操作系统 Expired - Fee Related CN103559045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310596861.6A CN103559045B (zh) 2013-11-21 2013-11-21 一种硬件实时操作系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310596861.6A CN103559045B (zh) 2013-11-21 2013-11-21 一种硬件实时操作系统

Publications (2)

Publication Number Publication Date
CN103559045A true CN103559045A (zh) 2014-02-05
CN103559045B CN103559045B (zh) 2017-05-10

Family

ID=50013301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310596861.6A Expired - Fee Related CN103559045B (zh) 2013-11-21 2013-11-21 一种硬件实时操作系统

Country Status (1)

Country Link
CN (1) CN103559045B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112000A (zh) * 2014-07-11 2014-10-22 东北大学 一种基于机床物联网的邮箱调度方法
CN104503757A (zh) * 2014-12-24 2015-04-08 四川效率源信息安全技术有限责任公司 提升软件实时响应性能的延时处理方法
CN106250099A (zh) * 2016-07-18 2016-12-21 青岛大学 一种固定解密算法的直接执行已加密指令的处理器架构
CN107153621A (zh) * 2017-04-20 2017-09-12 青岛海信电器股份有限公司 设备识别方法及装置
CN107255962A (zh) * 2017-06-15 2017-10-17 青岛大学 一种内嵌微处理器核和完整硬件操作系统的微控制器架构
CN107608775A (zh) * 2017-09-12 2018-01-19 南京中探海洋物联网有限公司 一种嵌入式系统的多任务实时操作方法
CN107729050A (zh) * 2017-09-22 2018-02-23 中国科学技术大学苏州研究院 基于let编程模型的实时系统及任务构建方法
CN108292236A (zh) * 2015-11-30 2018-07-17 华为技术有限公司 一种信息处理方法及装置
CN108710771A (zh) * 2018-05-31 2018-10-26 西安电子科技大学 基于深度特征集成提取的机械装备服役可靠性评估方法
CN111008100A (zh) * 2019-10-16 2020-04-14 珠海格力电器股份有限公司 linux实时操作系统中断响应时间测试系统及方法
CN111371820A (zh) * 2018-12-25 2020-07-03 上海亮衡信息科技有限公司 一种基于定时器触发的通信方法、系统及通信设备
CN111538580A (zh) * 2020-04-23 2020-08-14 苏州大学 一种嵌入式实时操作系统的线程信号操作方法与系统
CN112214309A (zh) * 2020-09-08 2021-01-12 深圳航天科技创新研究院 实现车载物联网嵌入式操作系统内核的方法及介质
CN112286846A (zh) * 2019-07-25 2021-01-29 珠海格力电器股份有限公司 一种处理中断事件的方法和设备
CN113765576A (zh) * 2021-08-18 2021-12-07 上海蔚星数据科技有限公司 一种星载综合电子操作系统及单机适配方法
CN117032941A (zh) * 2023-10-09 2023-11-10 南京翼辉信息技术有限公司 一种基于众核处理器的实时任务调度系统及其控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239276B (zh) * 2017-05-22 2021-01-12 广州安圣信息科技有限公司 一种基于c语言的异步延时执行方法及执行装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986146B2 (en) * 2001-05-30 2006-01-10 Siemens Communications, Inc. Method and apparatus for providing a state machine operating on a real-time operating system
US7191445B2 (en) * 2001-08-31 2007-03-13 Texas Instruments Incorporated Method using embedded real-time analysis components with corresponding real-time operating system software objects
CN101751289A (zh) * 2008-12-19 2010-06-23 黄强 一种嵌入式实时操作系统的混合调度方法
CN102436393A (zh) * 2006-08-24 2012-05-02 科尼龙硅公司 任务处理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986146B2 (en) * 2001-05-30 2006-01-10 Siemens Communications, Inc. Method and apparatus for providing a state machine operating on a real-time operating system
US7191445B2 (en) * 2001-08-31 2007-03-13 Texas Instruments Incorporated Method using embedded real-time analysis components with corresponding real-time operating system software objects
CN102436393A (zh) * 2006-08-24 2012-05-02 科尼龙硅公司 任务处理装置
CN101751289A (zh) * 2008-12-19 2010-06-23 黄强 一种嵌入式实时操作系统的混合调度方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XUEREN: "uC/OS-II学习笔记——事件管理的重要数据结构", 《51黑电子论坛》 *
崔建华: "硬件实时操作系统的设计与实现", 《电子技术应用》, 31 May 2008 (2008-05-31), pages 34 - 37 *
李岩 等: "基于FPGA的uC/OS-II任务管理硬件设计", 《电子技术应用》, 28 February 2010 (2010-02-28) *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112000A (zh) * 2014-07-11 2014-10-22 东北大学 一种基于机床物联网的邮箱调度方法
CN104503757A (zh) * 2014-12-24 2015-04-08 四川效率源信息安全技术有限责任公司 提升软件实时响应性能的延时处理方法
CN108292236A (zh) * 2015-11-30 2018-07-17 华为技术有限公司 一种信息处理方法及装置
CN108292236B (zh) * 2015-11-30 2022-11-01 华为技术有限公司 一种信息处理方法及装置
CN106250099A (zh) * 2016-07-18 2016-12-21 青岛大学 一种固定解密算法的直接执行已加密指令的处理器架构
CN107153621A (zh) * 2017-04-20 2017-09-12 青岛海信电器股份有限公司 设备识别方法及装置
CN107255962B (zh) * 2017-06-15 2019-11-26 青岛大学 一种内嵌微处理器核和完整硬件操作系统的微控制器架构
CN107255962A (zh) * 2017-06-15 2017-10-17 青岛大学 一种内嵌微处理器核和完整硬件操作系统的微控制器架构
CN107608775A (zh) * 2017-09-12 2018-01-19 南京中探海洋物联网有限公司 一种嵌入式系统的多任务实时操作方法
CN107729050A (zh) * 2017-09-22 2018-02-23 中国科学技术大学苏州研究院 基于let编程模型的实时系统及任务构建方法
CN107729050B (zh) * 2017-09-22 2021-01-22 中国科学技术大学苏州研究院 基于let编程模型的实时系统及任务构建方法
CN108710771A (zh) * 2018-05-31 2018-10-26 西安电子科技大学 基于深度特征集成提取的机械装备服役可靠性评估方法
CN111371820A (zh) * 2018-12-25 2020-07-03 上海亮衡信息科技有限公司 一种基于定时器触发的通信方法、系统及通信设备
CN112286846A (zh) * 2019-07-25 2021-01-29 珠海格力电器股份有限公司 一种处理中断事件的方法和设备
CN111008100A (zh) * 2019-10-16 2020-04-14 珠海格力电器股份有限公司 linux实时操作系统中断响应时间测试系统及方法
CN111538580A (zh) * 2020-04-23 2020-08-14 苏州大学 一种嵌入式实时操作系统的线程信号操作方法与系统
CN111538580B (zh) * 2020-04-23 2024-01-05 苏州大学 一种嵌入式实时操作系统的线程信号操作方法与系统
CN112214309A (zh) * 2020-09-08 2021-01-12 深圳航天科技创新研究院 实现车载物联网嵌入式操作系统内核的方法及介质
CN112214309B (zh) * 2020-09-08 2024-03-19 深圳航天科技创新研究院 实现车载物联网嵌入式操作系统内核的方法及介质
CN113765576A (zh) * 2021-08-18 2021-12-07 上海蔚星数据科技有限公司 一种星载综合电子操作系统及单机适配方法
CN117032941A (zh) * 2023-10-09 2023-11-10 南京翼辉信息技术有限公司 一种基于众核处理器的实时任务调度系统及其控制方法
CN117032941B (zh) * 2023-10-09 2023-12-01 南京翼辉信息技术有限公司 一种基于众核处理器的实时任务调度系统及其控制方法

Also Published As

Publication number Publication date
CN103559045B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN103559045A (zh) 一种硬件实时操作系统
EP3161628B1 (en) Intelligent gpu scheduling in a virtualization environment
CN101266553B (zh) 基于嵌入式系统的多任务管理方法
Sutton et al. Bolt: A stateful processor interconnect
CN102722402B (zh) 一种非抢占式实时调度多任务的处理系统及方法
CN103942178A (zh) 多核处理器上实时操作系统与非实时操作系统之间的通信方法
CN103440171A (zh) 一种构件化硬件实时操作系统的实现方法
CN104598426A (zh) 用于异构多核处理器系统的任务调度方法
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
Lahiri et al. Fast performance analysis of bus-based system-on-chip communication architectures
CN103077140B (zh) 一种机器人运动控制卡与上位机的通信方法及通信装置
CN103346902A (zh) 数据采集调度的方法及系统
CN107729050A (zh) 基于let编程模型的实时系统及任务构建方法
CN106789337B (zh) 一种kvm的网络性能优化方法
CN107391866B (zh) 一种基于多处理器的aadl模型的可调度性分析方法
CN106896956B (zh) 一种“道”系统下多点触控的实现方法
Prashanth et al. Real-time issues in embedded system design
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
US11281482B2 (en) 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
CN102929714A (zh) 基于uC/OS-II的硬件任务管理器
CN102591817A (zh) 一种多总线桥控制器及其实现方法
CN110489212B (zh) 一种通用型输入输出口虚拟化的方法、装置及车机
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법
CN205375068U (zh) 一种基于x86加fpga体系架构的飞控计算机装置
ATE373845T1 (de) Dmac-ausgabemechanismus über ein steaming-id- verfahren

Legal Events

Date Code Title Description
C06 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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170510

Termination date: 20191121

CF01 Termination of patent right due to non-payment of annual fee