CN1655124A - 基于PowerPC处理器的车用操作系统中断管理方法 - Google Patents
基于PowerPC处理器的车用操作系统中断管理方法 Download PDFInfo
- Publication number
- CN1655124A CN1655124A CN 200510011379 CN200510011379A CN1655124A CN 1655124 A CN1655124 A CN 1655124A CN 200510011379 CN200510011379 CN 200510011379 CN 200510011379 A CN200510011379 A CN 200510011379A CN 1655124 A CN1655124 A CN 1655124A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- kernel
- interrupt
- task
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 112
- 230000008569 process Effects 0.000 claims description 99
- 238000004088 simulation Methods 0.000 claims description 17
- 230000009977 dual effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 238000004886 process control Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000011272 standard treatment Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
基于PowerPC处理器的车用操作系统中断管理方法属于嵌入式实时操作系统技术领域,其特征在于:针对基于PowerPC处理器实现的采用双内核结构的嵌入式实时操作系统,根据中断发生时系统的运行状态,采用不同的处理器现场保存,在实时内核运行态下,采用一次保存、一次恢复,从而减少了不必要的堆栈操作。作为清华大学汽车电子开放式系统的一部分,在MPC555平台上实施。测试表明,该方法提高了双内核系统中实时内核的中断响应速度和系统运行效率。
Description
技术领域
基于PowerPC处理器的车用操作系统中断管理方法属于嵌入式实时操作系统技术领域,尤其涉及基于PowerPC处理器结构的嵌入式实时操作系统技术领域。
背景技术
中断管理是采用双内核结构的Linux操作系统的实时技术的重要环节之一。目前流行的实时Linux的中断管理多采用中断模拟技术,来提高通用Linux的实时性能。即当Linux禁止/开启中断时,不再直接对硬件中断控制器操作,只是通过设置中断模拟器上对应的全局标志位加以记录,而实际上,在非实时进程和Linux内核运行过程中,中断总是开启的。当硬件中断发生时,实时中断控制器截获该中断,然后判断该中断是否有实时性要求,以决定是立即处理还是挂起该中断。如果该中断发生时实时内核中有就绪态实时进程,而且中断没有实时要求,则立即将CPU控制权返回给操作系统,而略过了查找Linux中断向量表和执行Linux中断服务程序的过程。
在中断处理过程中,堆栈管理关系到操作系统的稳定性、运行效率和存储空间的利用率。其主要任务当中断发生时保存现场、中断处理完成后恢复中断发生时保存的现场、为中断服务程序运行确定合理的堆栈空间,并且如果有高优先级的实时任务在中断处理程序中进入就绪态,则需要在中断服务程序退出时进行任务切换。
目前,采用双内核结构的实时Linux最典型的是RTLinux和RTAI。为了保证通用性,它们在中断处理过程中堆栈切换采用较简单的实现框架,以减少系统移植的代码量。但是,目前各种处理器在堆栈操作、寻址操作等方面的指令系统特征差别很大,如果针对特定的处理器结构设计任务切换机制,将更有利于充分利用特定处理器的功能,提高在该处理器平台上的运行效率。
在RTLinux的中断管理中,不论中断发生时系统运行在哪种状态下,只要实时中断处理程序的运行导致有高优先级的实时任务进入就绪态,系统都要在中断处理开始时保存一次处理器现场,而发生任务切换时需要再保存一次处理器现场。当高优先级任务运行完之后,系统首先恢复进程切换时保存的现场,然后根据函数调用出入栈规则出栈,最后恢复中断发生时保存的现场。然而在实时任务运行时发生中断的情况下,第二次保存的现场是实时中断服务程序运行结束时的处理器现场,而这个现场已经没有意义,保存它不仅降低了实时内核的中断响应速度而且浪费了实时任务的堆栈空间。
发明内容
针对现有采用双内核结构的实时操作系统的中断管理过程中堆栈管理与处理器特性结合不够紧密、现场保存有多余操作、堆栈使用不够经济的问题,本发明针对PowerPC结构提出了一个灵活高效的堆栈管理方法,主要包括下列内容:
1.在同一中断处理流程中,对中断发生在不同的情况进行区别处理;针对中断发生在实时任务运行过程中的情况,中断处理流程对实时任务运行现场采用一次保存一次恢复的策略。
2.在实时内核运行态采用中断堆栈管理,降低实时任务的堆栈使用需求。
本发明的特征在于:它是采用双内核机制的实时操作系统,所述的双内核机制是把标准非实时Linux进行硬实时化的方法,即通过在标准非实时Linux内核与底层硬件之间插入一个小的实时内核,由实时内核提供实时任务的管理,所述Linux内核作为实时内核的优先级最低的实时任务,只有当没有实时任务处于就绪态时才能得到运行;针对中断发生在实时任务运行过程中的情况,中断处理流程对实时任务运行现场采用一次保存一次恢复的策略;相应地所述方法依次含有以下步骤:
步骤1.设定:
所述实时操作系统在逻辑上分成下述四个级别:
非实时进程级别:运行用户编写的非实时程序,运行进程采用动态优先级策略,由Linux调度程序调度运行,它的处理级别最低;
实时进程级别:用户编写的实时应用程序和Linux内核运行于实时进程级别,所述Linux内核作为一个由实时内核管理的特殊进程其优先级最低,为“0”;它支持动态对象创建,动态内存分配;它实行模拟中断管理;
实时核心级别:实时内核受非实时进程和Linux内核驱动,运行于实时核心级别;
实时中断级别:它运行实时中断服务程序,以及驱动中断模拟器管理Linux中断处理程序;
所述的操作系统设有以下三种堆栈类型:
用户堆栈,它为用户态程序运行做准备;
为实时进程分配的实时进程堆栈,其中的Linux实时进程堆栈对应于Linux内核中当前进程的核心堆栈;
实时中断堆栈:运行实时中断处理程序;
步骤2.在PowerPC处理器上构建以下模块:
进程创建与堆栈分配模块,它包含:
非实时任务的创建与堆栈分配子模块:它在所述Linux内核上为每个非实时任务分配以下各空间:
进程控制块,表示进程的状态和拥有的资源;
一定空间的内核堆栈,它是为运行系统服务和中断服务分配的内存空间;
任务运行空间,设有用户堆栈用于运行任务代码;
实时任务创建和堆栈分配子模块:它运行于实时内核之上,所述系统为每个实时任务分配一个实时任务堆栈并固定在系统内核生成时预留的内存空间内;
系统双内核操作模块,包括供系统启动代码、用户任务代码、中断处理程序调用的激活任务和按照规定策略从就绪任务列表中选取一个用户任务再跳转到该任务执行的这样一种调度器操作;系统双内核操作代码支持抢占式调度,即当用户任务代码或者中断处理程序调用系统实时内核操作激活一个高优先级的用户任务时,激活任务操作就调用调度器选择新激活的任务,强制打断正在运行的优先级较低的用户任务,而转到激活的任务去执行。
中断处理程序操作模块,它含有:
中断处理程序入口:其中,外部中断处理程序放在MPC555微控制器的入口地址0x500处,计数器中断处理程序放在入口地址0x900处;
实时中断服务程序:设定实时中断处理程序的优先级高于实时任务优先级;
非实时中断处理程序:设定非实时内核中的任务作为实时内核的优先级最低的实时任务,在非实时内核中,非实时中断处理程序和内核系统服务运行于内核态,其优先级高于用户态的任务;
中断处理程序结束:由用户中断服务程序激活了的新任务,只能等中断处理程序结束后再通过调度器来执行。
步骤3.所述的中断处理程序依次含有以下各个步骤:
步骤3.1保存现场:
在产生中断后,只要所述系统处于实时或非实时用户态,便把堆栈指针从用户堆栈切换到中断堆栈,进入内核态,再保存现场;否则,系统已经处于内核态,可以直接保留现场;
步骤3.2判断发生中断时的状态:
若为用户态,依次执行保存进程地址、保存进程栈指针和获取中断通道号的操作;
若为内核态:首先判断中断发生时内核是否忙,若内核不忙,则保存进程地址,再保存进程栈指针和获取中断通道号;若内核忙,则先判断实时内核中断是否嵌套,若已嵌套,则保存进程栈指针,再获取中断通道号;若未嵌套,则先从实时进程堆栈切换到实时中断堆栈,清除实时内核需要调度的变量,再接着去获取中断通道号;
步骤3.3判断是否为实时中断:若是实时中断则执行实时中断处理程序、设置中断模拟器;否则,便直接设置中断模拟器;
步骤3.4判断所述系统是否同时满足以下条件:实时内核不忙、中断模拟器处于开通中断状态、中断响应通道畅通,若同时满足以上三个条件,则直接进入中断模拟器调用中断服务程序,然后作中断结束处理;若实时内核不忙,而其他条件不满足,则直接作中断结束处理;若以上三个条件都不满足,则判断实时内核堆栈是否嵌套;
步骤3.5若实时内核堆栈已经嵌套,则直接作中断结束处理;若实时内核中断未嵌套,便从实时中断堆栈切换到实时进程堆栈,接着判断是否需要实时调度,若需要实时调度,便执行实时调度操作,否则,作中断结束处理。
经过在MPC555平台上测试得出,用本发明所述的方法从产生中断到进入用户中断处理程序所需时间为14微秒,比采用通用方法时的25微秒要少,提高了中断响应速度。
附图说明
图1.MPC555寄存器分类示意图;
图2.MPC555微控制器CPU现场的内存映射示意图;
图3.OSEKLinux堆栈类型示意图;
图4.非实时任务存储结构示意图;
图5.实时任务存储结构示意图;
图6.中断管理方法流程图。
具体实施方式
本发明提出的方法是嵌入式实时操作系统内核的一部分,以操作系统代码的形式实现。下面以清华大学自主开发的OSEKLinux操作系统、基于MPC555微控制器的硬件平台环境为例,说明中断管理方法的具体实施方式。
双内核机制是将标准非实时Linux进行硬实时化的一种方法,通过在标准Linux内核与硬件之间插入一个小的实时内核,实时内核提供实时任务的管理,Linux内核作为实时内核的优先级最低的实时任务,只有当没有实时任务处于就绪态时才能得到运行。
OSEKLinux采用双内核实时架构的系统模型设计方案:通用操作系统Linux内核与一个实时的符合OSEK标准的实时内核共存于系统中,OSEK实时内核嵌入在Linux内核与底层硬件之间,实时内核为实时任务提供运行环境,而Linux内核用来运行非实时任务。
OSEKLinux操作系统从逻辑上可划分为四个处理级别:
非实时进程级别
用户编写的非实时程序运行于非实时进程级别,这些进程采用动态优先级策略,由Linux调度程序调度运行。在四个处理级别中,非实时进程级别是最低的处理级别,只有当其它级别没有处理要求时,它才会处理。
实时进程级别
用户编写的实时应用程序和Linux内核运行于实时进程级别,Linux内核作为一个由实时内核管理的特殊进程,其优先级最低,它独占实时进程优先级“0”。Linux内核除了把原有的开关中断管理由模拟中断管理取代,不再直接控制硬件来开关中断之外,其他机制和编程接口基本相同;在OSEKLinux的双内核中Linux内核支持动态对象的创建,动态内存分配,非实时进程和Linux内核除了启动实时内核外,不能调用实时内核提供的所有系统服务。其他实时进程由用户编写,由于这些进程运行于传统Linux意义的内核态下,所以用户需要确保其正确性,否则会影响到整个系统的安全。实时进程根据用户分配的静态优先级进行调度。
实时核心级别
实时内核运行于实时核心级别,它为用户编写的实时应用程序提供系统服务,实时内核管理的系统对象均为静态分配的,在系统生成时由用户静态配置,实时内核不支持内存的动态分配机制。
实时中断级别
中断级别运行实时中断服务程序(ISR),包括实时内核的两类中断处理服务程序,驱动中断模拟器管理以及Linux中断处理程序。
根据实时性的不同,OSEKLinux把进程分为两大类,即在Linux内核上运行的普通进程和在实时内核上运行的实时进程。没有实时要求而且比较复杂的任务以Linux进程的方式运行;而实时任务则以实时进程的形式运行。
在OSEKLinux车用嵌入式实时操作系统中,当处理器或设备产生一个中断时,操作系统会对该中断作出响应,并运行响应中断的处理程序。由于该过程在实时系统运行过程中发生非常频繁,该处理程序的好坏直接影响着整个系统的运行效率,本发明针对中断处理过程中的进程堆栈管理提出了一种管理框架,以提高OSEKLinux实时中断处理过程的处理效率。
堆栈类型
OSEKLinux车用嵌入式实时操作系统中有三种堆栈。如图3所示,一种是为用户态程序运行准备的用户堆栈;一种是为实时进程分配的实时进程堆栈,其中Linux实时进程的堆栈是一个抽象的堆栈管理,实际对应的是Linux内核中当前进程的核心堆栈;还有一种是实时中断堆栈,专门运行实时中断处理程序。
中断处理过程
如图4所示,该中断管理方法的处理流程如下:
①当中断发生时,首先通过判断SPRG2寄存器的值是否为0,该寄存器被Linux内核用来保存核心堆栈中为保存中断现场而预留堆栈空间的基址,如果该值为0,说明中断发生时堆栈指针已经在核心堆栈内,也可以说系统一定不会运行非实时任务,此时可以直接将现场压入堆栈;如果SPRG2寄存器的值不为0,则将现场保存到以该值为基址的栈内,并将当前栈指针调整为该值,将实现用户栈到核心栈的切换。
②现场保留完毕后,实时内核的中断模拟处理器接管处理权,首先判断发生中断时系统的运行状态,如果是源自实时内核,则系统需要处理OSEK实时内核中断处理的预备工作。中断源自实时内核有两种情况,一种是未发生中断嵌套,这种情况下将堆栈指针从进程堆栈转换到中断堆栈内,并将一个表示中断退出时是否需要调度的全局变量清零,然后进入下一步处理;另一种情况是中断发生时,实时内核正在处理实时中断处理程序,即发生中断嵌套,此时需要增加嵌套级数,但由于此时系统已经运行在中断堆栈中,并且表示是否需要调度的变量已经被清零,所以可以直接进入下一步处理。
③系统通过调用专门的函数来获得中断通道号,并通过osek_global结构上rtirq域上相应的位,判断该通道是否是实时中断,如果是,则跳到osek_global_Handlers[]的相应处理函数,执行实时中断服务程序,如果不是则直接将该通道记录在osek_global结构上的pending域上以备Linux内核使用。
④下一步要决定是否要进行Linux内核中断处理,进行Linux内核中断处理要同时满足三个条件才行,即实时内核不忙(通过osek_local结构的flags域上的l_busy位判断)、Linux内核处于开通中断状态并且该中断通道未被屏蔽。如果是这种情况,则系统进入Linux的标准处理流程。如果是后两个条件不满足,则系统直接恢复CPU现场,返回到中断发生时的程序,其继续运行;如果实时内核忙,则需要处理实时内核中断处理的善后工作,如果在中断嵌套中,则恢复上一级中断处理程序的现场,继续进行实时中断处理,直到最后一层中断处理完毕,在退出实时中断处理流程之前,需将堆栈指针从实时中断堆栈切换到中断前的实时进程堆栈中,判断系统是否需要调度,如果实时中断处理程序调用了一些系统服务导致比当前进程更高优先级的实时进程进入就绪态,则设置表示中断退出时是否需要调度的全局变量,如果该变量不为零,进行调度,否则返回到中断前实时进程继续运行。
Claims (1)
1.基于PowerPC处理器结构的车用操作系统中断管理方法,其特征在于:它是采用双内核机制的实时操作系统,所述的双内核机制是把标准非实时Linux进行硬实时化的方法,即通过在标准非实时Linux内核与底层硬件之间插入一个小的实时内核,由实时内核提供实时任务的管理,所述Linux内核作为实时内核的优先级最低的实时任务,只有当没有实时任务处于就绪态时才能得到运行;针对中断发生在实时任务运行过程中的情况,中断处理流程对实时任务运行现场采用一次保存一次恢复的策略;相应地所述方法依次含有以下步骤:
步骤1.设定:
所述实时操作系统在逻辑上分成下述四个级别:
非实时进程级别:运行用户编写的非实时程序,运行进程采用动态优先级策略,由Linux调度程序调度运行,它的处理级别最低;
实时进程级别:用户编写的实时应用程序和Linux内核运行于实时进程级别,所述Linux内核作为一个由实时内核管理的特殊进程其优先级最低,为“0”;它支持动态对象创建,动态内存分配;它实行模拟中断管理;
实时核心级别:实时内核受非实时进程和Linux内核驱动,运行于实时核心级别;
实时中断级别:它运行实时中断服务程序,以及驱动中断模拟器管理Linux中断处理程序;
所述的操作系统设有以下三种堆栈类型:
用户堆栈,它为用户态程序运行做准备;
为实时进程分配的实时进程堆栈,其中的Linux实时进程堆栈对应于Linux内核中当前进程的核心堆栈;
实时中断堆栈:运行实时中断处理程序;
步骤2.在PowerPC处理器上构建以下模块:
进程创建与堆栈分配模块,它包含:
非实时任务的创建与堆栈分配子模块:它在所述Linux内核上为每个非实时任务分配以下各空间:
进程控制块,表示进程的状态和拥有的资源;
一定空间的内核堆栈,它是为运行系统服务和中断服务分配的内存空间;
任务运行空间,设有用户堆栈用于运行任务代码;
实时任务创建和堆栈分配子模块:它运行于实时内核之上,所述系统为每个实时任务分配一个实时任务堆栈并固定在系统内核生成时预留的内存空间内;
系统双内核操作模块,包括供系统启动代码、用户任务代码、中断处理程序调用的激活任务和按照规定策略从就绪任务列表中选取一个用户任务再跳转到该任务执行的这样一种调度器操作;系统双内核操作代码支持抢占式调度,即当用户任务代码或者中断处理程序调用系统实时内核操作激活一个高优先级的用户任务时,激活任务操作就调用调度器选择新激活的任务,强制打断正在运行的优先级较低的用户任务,而转到激活的任务去执行。
中断处理程序操作模块,它含有:
中断处理程序入口:其中,外部中断处理程序放在MPC555微控制器的入口地址0x500处,计数器中断处理程序放在入口地址0x900处;
实时中断服务程序:设定实时中断处理程序的优先级高于实时任务优先级;
非实时中断处理程序:设定非实时内核中的任务作为实时内核的优先级最低的实时任务,在非实时内核中,非实时中断处理程序和内核系统服务运行于内核态,其优先级高于用户态的任务;
中断处理程序结束:由用户中断服务程序激活了的新任务,只能等中断处理程序结束后再通过调度器来执行。
步骤3.所述的中断处理程序依次含有以下各个步骤:
步骤3.1保存现场:
在产生中断后,只要所述系统处于实时或非实时用户态,便把堆栈指针从用户堆栈切换到中断堆栈,进入内核态,再保存现场;否则,系统已经处于内核态,可以直接保留现场;
步骤3.2判断发生中断时的状态:
若为用户态,依次执行保存进程地址、保存进程栈指针和获取中断通道号的操作;
若为内核态:首先判断中断发生时内核是否忙,若内核不忙,则保存进程地址,再保存进程栈指针和获取中断通道号;若内核忙,则先判断实时内核中断是否嵌套,若已嵌套,则保存进程栈指针,再获取中断通道号;若未嵌套,则先从实时进程堆栈切换到实时中断堆栈,清除实时内核需要调度的变量,再接着去获取中断通道号;
步骤3.3判断是否为实时中断:若是实时中断则执行实时中断处理程序、设置中断模拟器;否则,便直接设置中断模拟器;
步骤3.4判断所述系统是否同时满足以下条件:实时内核不忙、中断模拟器处于开通中断状态、中断响应通道畅通,若同时满足以上三个条件,则直接进入中断模拟器调用中断服务程序,然后作中断结束处理;若实时内核不忙,而其他条件不满足,则直接作中断结束处理;若以上三个条件都不满足,则判断实时内核堆栈是否嵌套;
步骤3.5若实时内核堆栈已经嵌套,则直接作中断结束处理;若实时内核中断未嵌套,便从实时中断堆栈切换到实时进程堆栈,接着判断是否需要实时调度,若需要实时调度,便执行实时调度操作,否则,作中断结束处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100113797A CN100347676C (zh) | 2005-03-04 | 2005-03-04 | 基于PowerPC处理器的车用操作系统中断管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100113797A CN100347676C (zh) | 2005-03-04 | 2005-03-04 | 基于PowerPC处理器的车用操作系统中断管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1655124A true CN1655124A (zh) | 2005-08-17 |
CN100347676C CN100347676C (zh) | 2007-11-07 |
Family
ID=34894182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100113797A Expired - Fee Related CN100347676C (zh) | 2005-03-04 | 2005-03-04 | 基于PowerPC处理器的车用操作系统中断管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100347676C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012842A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于独立中断栈的中断退出时抢占调度方法 |
CN102043668A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式实时操作系统中任务多次激活的方法 |
CN102918269A (zh) * | 2010-03-31 | 2013-02-06 | 法雷奥电机控制系统公司 | 用于管理空调回路的混合动力压缩机的方法 |
CN103676727A (zh) * | 2013-11-27 | 2014-03-26 | 南京国电南自美卓控制系统有限公司 | 基于嵌入式芯片的可抢占、可嵌套中断控制方法 |
CN104476409A (zh) * | 2014-11-25 | 2015-04-01 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN106874072A (zh) * | 2015-12-14 | 2017-06-20 | 中国航空工业第六八研究所 | 一种基于PowerPC处理器的嵌入式操作系统分区虚拟中断的处理方法 |
CN107451045A (zh) * | 2016-05-31 | 2017-12-08 | 北京信威通信技术股份有限公司 | 一种异常信息定位的方法及装置 |
CN109857530A (zh) * | 2019-01-21 | 2019-06-07 | 湖北亿咖通科技有限公司 | 一种应用请求调度方法及装置 |
CN109947539A (zh) * | 2017-12-20 | 2019-06-28 | 广州中国科学院先进技术研究所 | 一种机器人控制器 |
CN112470125A (zh) * | 2018-07-24 | 2021-03-09 | 三菱电机株式会社 | 中断处理方法、计算机系统以及程序产品 |
CN115080122A (zh) * | 2022-07-22 | 2022-09-20 | 飞腾信息技术有限公司 | 处理器、用于保存和恢复上下文数据的装置、方法及芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208721C (zh) * | 2003-09-19 | 2005-06-29 | 清华大学 | 基于PowerPC处理器结构的分级任务切换方法 |
-
2005
- 2005-03-04 CN CNB2005100113797A patent/CN100347676C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102918269A (zh) * | 2010-03-31 | 2013-02-06 | 法雷奥电机控制系统公司 | 用于管理空调回路的混合动力压缩机的方法 |
CN102012842A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于独立中断栈的中断退出时抢占调度方法 |
CN102043668A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式实时操作系统中任务多次激活的方法 |
CN102043668B (zh) * | 2010-12-10 | 2013-05-22 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式实时操作系统中任务多次激活的方法 |
CN103676727A (zh) * | 2013-11-27 | 2014-03-26 | 南京国电南自美卓控制系统有限公司 | 基于嵌入式芯片的可抢占、可嵌套中断控制方法 |
CN104476409B (zh) * | 2014-11-25 | 2019-10-18 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN104476409A (zh) * | 2014-11-25 | 2015-04-01 | 苏州谷夫道自动化科技有限公司 | 基于实时Linux平台的玻璃磨削加工设备控制方法 |
CN106874072A (zh) * | 2015-12-14 | 2017-06-20 | 中国航空工业第六八研究所 | 一种基于PowerPC处理器的嵌入式操作系统分区虚拟中断的处理方法 |
CN107451045A (zh) * | 2016-05-31 | 2017-12-08 | 北京信威通信技术股份有限公司 | 一种异常信息定位的方法及装置 |
CN109947539A (zh) * | 2017-12-20 | 2019-06-28 | 广州中国科学院先进技术研究所 | 一种机器人控制器 |
CN112470125A (zh) * | 2018-07-24 | 2021-03-09 | 三菱电机株式会社 | 中断处理方法、计算机系统以及程序产品 |
CN112470125B (zh) * | 2018-07-24 | 2024-02-20 | 三菱电机株式会社 | 中断处理方法、计算机系统以及存储介质 |
CN109857530A (zh) * | 2019-01-21 | 2019-06-07 | 湖北亿咖通科技有限公司 | 一种应用请求调度方法及装置 |
CN109857530B (zh) * | 2019-01-21 | 2021-09-03 | 湖北亿咖通科技有限公司 | 一种应用请求调度方法及装置 |
CN115080122A (zh) * | 2022-07-22 | 2022-09-20 | 飞腾信息技术有限公司 | 处理器、用于保存和恢复上下文数据的装置、方法及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN100347676C (zh) | 2007-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100347676C (zh) | 基于PowerPC处理器的车用操作系统中断管理方法 | |
CN1208721C (zh) | 基于PowerPC处理器结构的分级任务切换方法 | |
CN1783020A (zh) | 基于PowerPC体系结构的嵌入式操作系统的中断管理方法 | |
CN101051282A (zh) | 多操作系统协同工作实现方法 | |
KR101541344B1 (ko) | 메모리 장치 및 메모리 장치의 제어 방법 | |
CN100342342C (zh) | 支持多进程的Java虚拟机实现方法 | |
KR970067231A (ko) | 씨디-롬 드라이브에서의 큐잉 제어방법 | |
CN101051280A (zh) | 智能卡嵌入式操作系统及其控制方法 | |
CN1316074A (zh) | 中断/软件控制的线程处理 | |
CN101452399B (zh) | 任务二级调度模块及方法 | |
CN100346307C (zh) | Java操作系统中实时任务调度的实现方法 | |
CN1700196A (zh) | 通过直接存储器访问控制器传输数据的系统及方法 | |
CN100351793C (zh) | 支持osek标准的嵌入式实时操作系统的任务调度方法 | |
CN101290590A (zh) | 一种嵌入式操作系统中切换任务的方法和单元 | |
CN1783016A (zh) | 计算机系统 | |
US9122521B2 (en) | Enabling multiple operating systems to run concurrently using barrier task priority | |
CN1687901A (zh) | 基于中断的实时任务调度方法 | |
CN103309734A (zh) | 基于优先级分组的嵌入式任务调度方法 | |
CN1529233A (zh) | 嵌入式实时操作系统的二分查找式任务调度方法 | |
CN1519735A (zh) | 嵌入式实时操作系统的进程调度方法 | |
CN1298049C (zh) | 一种图形引擎芯片及其应用方法 | |
CN101075219A (zh) | 一种中断处理方法及系统 | |
CN1851651A (zh) | 嵌入式sram操作系统进程优先权调度的实现方法 | |
CN115617486A (zh) | 基于智能物联网操作系统的任务调度方法、装置及设备 | |
CN1384431A (zh) | 上下文保存 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071107 |