CN105373425A - 一种嵌入式Linux系统性能优化的方法及装置 - Google Patents

一种嵌入式Linux系统性能优化的方法及装置 Download PDF

Info

Publication number
CN105373425A
CN105373425A CN201510714023.3A CN201510714023A CN105373425A CN 105373425 A CN105373425 A CN 105373425A CN 201510714023 A CN201510714023 A CN 201510714023A CN 105373425 A CN105373425 A CN 105373425A
Authority
CN
China
Prior art keywords
task
real time
queue
time
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.)
Pending
Application number
CN201510714023.3A
Other languages
English (en)
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510714023.3A priority Critical patent/CN105373425A/zh
Publication of CN105373425A publication Critical patent/CN105373425A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种嵌入式Linux系统性能优化的方法及装置,包括:将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务;将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及所述非实时任务放入第二队列;针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。本发明把原Linux的单运行队列改为双运行队列,将硬实时任务单独放在一个队列中进行处理,保证了硬实时任务的时限要求,从而改善优化了Linux的实时性能。

Description

一种嵌入式Linux系统性能优化的方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种嵌入式Linux系统性能优化的方法及装置。
背景技术
目前,无论是在日常生活,还是在工业控制、航空航天、军事等方面,嵌入式系统都有着非常广泛的应用。嵌入式系统目前主要有:WindowsCE、VxWorks、QNX等,它们都具有较好的实时性、系统可靠性、任务处理随机性等优点,但是它们的价格普遍偏高。而嵌入式Linux因其非常低廉的价格,可以大大的降低成本,逐渐成为嵌入式操作系统的首选。但是,作为通用操作系统的Linux,由于其在实时应用领域的技术障碍,要应用在嵌入式领域,还必须对Linux内核作必要的改进。
常用的实时性改造方法是采用双核方法,这种方法的弊端在于实时任务的开发是直接面向提供精确实时服务的小实时核心的,而不是功能强大的常规Linux核心。基于此,近年来修改核的方法越来越受到科研人员的重视,这种方法是基于已有Linux系统对于软件开发的支持,进行源代码级修改,使Linux变成一个真正的实时操作系统。
但是,现有的策略还不能很好地解决嵌入式Linux系统的实时性问题,因此,提供一种嵌入式Linux系统性能优化的方法及装置是非常有必要的。
发明内容
本发明的目的是提供一种嵌入式Linux系统性能优化的方法及装置,以增强嵌入式Linux系统的实时性能。
为解决上述技术问题,本发明提供一种嵌入式Linux系统性能优化的方法,包括:
将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成的任务;
将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及所述非实时任务放入第二队列;
针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
可选地,还包括:
细化Linux系统的时钟粒度。
可选地,所述细化Linux系统的时钟粒度包括:
通过直接修改内核定时参数的初值来细化Linux系统的时钟粒度。
可选地,所述细化Linux系统的时钟粒度包括:
通过对可编程中断定时器或可编程中断控制器进行改进,将毫秒级的粗粒度定时器变为微秒级的细粒度定时器。
可选地,还包括:
在Linux内核中增加抢占点或直接将Linux内核改造成可抢占式内核。
可选地,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
采用优先级调度算法对第一队列中的任务进行处理。
可选地,所述优先级调度算法为最小松弛时间优先调度算法。
可选地,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
采用内核的时间片轮转法调度算法对第二队列中的任务进行处理。
本发明还提供了一种嵌入式Linux系统性能优化的装置,包括:
分类模块,用于将进入系统的所有任务按照实时性分为三类:硬实时任务、软实时任务以及非实时任务;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成;
调度模块,用于将处于运行状态的三类任务放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
处理模块,用于针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
本发明所提供的嵌入式Linux系统性能优化的方法及装置,通过将进入系统的所有任务按照实时性分为硬实时任务、软实时任务以及非实时任务三类;硬实时任务要求系统确保任务执行最坏情况下的执行时间,即必须满足实时事件的响应时间的截止期限,否则,将引发致命的错误;而软实时任务是指统计意义上的实时,一般整体吞吐量大或整体响应速度快,但不能保证特定任务在指定时期内完成。
将处于运行状态的三类任务分别放入两个队列中,将硬实时任务放入第一队列,将软实时任务以及非实时任务放入第二队列;然后针对不同的实时性任务,分别采用不同的调度方法对第一队列以及第二队列中的任务进行处理。本发明把原Linux的单运行队列改为双运行队列,将硬实时任务单独放在一个队列中进行处理,保证了硬实时任务的时限要求,从而改善优化了Linux的实时性能。
附图说明
图1为本发明所提供的嵌入式Linux系统性能优化的方法的一种具体实施方式的流程图;
图2为本发明所提供的嵌入式Linux系统性能优化的方法的另一种具体实施方式的流程图;
图3为本发明所提供的嵌入式Linux系统性能优化的装置的一种具体实施方式的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所提供的嵌入式Linux系统性能优化的方法的一种具体实施方式的流程图如图1所示,该方法包括:
步骤S101:将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成的任务;
步骤S102:将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
步骤S103:针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
本发明所提供的嵌入式Linux系统性能优化的方法,通过将进入系统的所有任务按照实时性分为硬实时任务、软实时任务以及非实时任务三类;硬实时任务要求系统确保任务执行最坏情况下的执行时间,即必须满足实时事件的响应时间的截止期限,否则,将引发致命的错误;而软实时任务是指统计意义上的实时,一般整体吞吐量大或整体响应速度快,但不能保证特定任务在指定时期内完成。
将处于运行状态的三类任务分别放入两个队列中,将硬实时任务放入第一队列,将软实时任务以及非实时任务放入第二队列;然后针对不同的实时性任务,分别采用不同的调度方法对第一队列以及第二队列中的任务进行处理。本发明把原Linux的单运行队列改为双运行队列,将硬实时任务单独放在一个队列中进行处理,保证了硬实时任务的时限要求,从而改善优化了Linux的实时性能。
Linux作为一个通用操作系统,主要考虑的是调度的公平性和吞吐量等指标。
因此尽管Linux本身提供了支持实时处理的机制,然而,由于Linux系统是以高的吞吐量和公平性为追求目标,基本上没有考虑实时应用所要满足的时间约束,它只是提供了一些相对简单的任务调度策略。因此,实时性问题是将Linux应用于嵌入式系统开发的一大障碍,无法在硬实时系统中得到应用。
Linux在实时应用中的技术障碍具体表现在:
(1)Linux系统时钟精度太过粗糙,时钟中断周期为10ms,使得其时间粒度过大,加大了任务响应延迟。
(2)Linux的内核是不可抢占的,当一个任务通过系统调用进入内核态运行时,一个具有更高优先级的进程,只有等待处于核心态的系统调用返回后方能执行,这将导致优先级逆转。实时任务执行时间的不确定性,显然不能满足硬实时应用的要求。
(3)Linux采用对临界区操作时屏蔽中断的方式,在中断处理中是不允许进行任务调度的,从而抑制了系统及时响应外部操作的能力。
(4)缺乏有效的实时任务调度机制和调度算法。
针对上述问题,利用Linux作为底层操作系统,必须增强其内核的实时性能,从而构建出一个具有实时处理能力的嵌入式系统,适应嵌入式领域应用的需要。归纳总结,支持Linux的硬实时性一般有两种策略:一种是直接修改Linux内核,重新编写一个由优先级驱动的实时调度器(Real-timeScheduler),替换原有内核中的进程调度器sched.c,KURT是采用这一方案较为成功的实时Linux操作系统;另外一种是在Linux内核之外,以可加载内核模块(LoadableKernelModule)的形式添加实时内核,确保其高响应特性,实时内核接管来自硬件的所有中断,并依据是否是实时任务决定是否直接响应。
以上两种策略有其借鉴之处,但如果综合考虑任务响应、内核抢占性、实时调度策略等几个影响操作系统实时性能的重要方面,它们还不能很好的满足实时性问题。
鉴于此,本发明提供了嵌入式Linux系统性能优化的方法的另一种具体实施方式,本具体实施例在上一实施例的基础上,增加了细化Linux系统的时钟粒度以及增强Linux内核的抢占性的步骤。如图2所示,该方法包括:
步骤S201:细化Linux系统的时钟粒度;
具体地,可以通过直接修改内核定时参数的初值来细化Linux系统的时钟粒度,或者通过对可编程中断定时器或可编程中断控制器进行改进,将毫秒级的粗粒度定时器变为微秒级的细粒度定时器来实现。
精确的计时是实时调度器正确操作所必须的,调度器通常要求在一个特定的时刻进行任务切换,计时的错误将导致背离计划的调度,引起任务释放抖动。而标准Linux系统时钟精度太过粗糙,时钟中断周期为10ms,不能满足特定嵌入式应用领域中对于响应时间精度的要求。因此,在实时Linux应用中,需要细化其时钟粒度。
具体有两种方式可以解决时钟粒度问题:一是通过直接修改内核定时参数HZ的初值来细化时钟粒度,如将标准Linux中内核定时参数HZ改为10000,则时钟粒度可以达到100us,这种方式虽然会增加一些系统开销,但在强周期性环境下,对定时器的设置只需初始化一次,在一定程度上保证了处理效率;二是通过对可编程中断定时器8254或先进的可编程中断控制器进行编程来改进Linux时钟机制,以提高其时钟的分辨率,使毫秒级的粗粒度定时器变成微秒级的细粒度定时器。
步骤S202:在Linux内核中增加抢占点或直接将Linux内核改造成可抢占式内核;
标准Linux内核是不可抢占的,导致较大的延迟。因此,增强内核的可抢占性能,可提高系统内核对实时任务的响应能力。具体地,可以通过如下两种方法修改Linux内核以提高实时任务抢占非实时任务的能力:一是在内核中增加抢占点的方法;二是直接将Linux内核改造成可抢占式内核。
插入抢占点方法是在Linux内核中插入一些抢占点,当一个系统调用执行到抢占点时,如果有更高优先级的实时进程正在等待运行,那么正在执行系统调用的内核进程将会把CPU的控制权转交给等待运行的实时进程;如果没有更高优先级的实时进程等待,则当前进程将继续执行,此时系统增加的开销仅仅是检测一下调度标志。将Linux内核改造成可抢占式内核方法的基本思想是产生运行调度器的机会,缩短任务发生到调度函数运行的时间间隔。这种方法修改了Linux源代码中的自旋锁宏以避免竞争,并在其中引入一个称作抢占锁计数器(PLC)的新的计数信号允许内核代码抢占,当它为0时,允许抢占;当其为大于0的任何值时,禁止抢占。
目前,针对这两种修改Linux内核的方法,已经有两种比较成熟的Linux内核补丁被研制出来:抢占式补丁和低时延补丁。其中,抢占式补丁是MontaVista开发的,它修改了内核代码中的spinlock宏和中断返回代码,使得当前进程可被安全抢占,当自旋锁释放或者中断线程完成时,调度器就有机会执行调度;低时延补丁是由IngoMalnor提出,该方法只是在执行时间长的代码块上抢占,不采用强制式抢占,因此,如何找到延时长的代码块是解决问题的关键。
步骤S203:将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;
其中,硬实时要求系统确保任务执行最坏情况下的执行时间,即必须满足实时事件的响应时间的截止期限,否则,将引发致命的错误;软实时是指统计意义上的实时,一般整体吞吐量大或整体响应速度快,但不能保证特定任务在指定时期内完成。步骤S204:将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
步骤S205:针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
为了严格保证硬实时任务的时限要求,改善的Linux内核实时调度器采用了优先级调度算法,目前最小松弛时间优先调度算法MLF(Minimum-Laxity-FirstSchedulingAlgorithm)是动态优先级调度最常见的实时调度策略。它在系统中为每一个任务设定松弛时间(任务的松弛时间等于任务的截止期减去任务执行时间、当前时间)即:laxity=deadline―current_time―CPU_time_needed,系统优先执行具有最小松弛时间的任务。根据就绪队列的各任务的松弛时间来分配优先级,松弛时间最小的任务具有最高的优先级。
为了提高Linux的实时性,将MLF调度器作为可加载模块加入Linux内核中,在实现中需对内核进行相应的修改。为了区分任务的类型,对基本Linux的task_struct属性进行改进,在其中增加SCHED_MLF调度策略,并按task_struct中的policy的取值来进行区分,分别用SCHED_MLF,SCHED_RR,SCHED_OTHER来标识硬实时、软实时、非实时任务。将处于运行状态的三类任务放入两个队列,硬实时任务放入hard_real_queue队列,采用MLF调度算法,软实时和非实时任务放入non_real_queue队列(空闲任务也在其中),沿用原内核的RR调度算法。
这两个队列可以用一个run_queue的指针数组来指向,双队列任务运行过程与原内核的单运行队列执行流程的主要区别在:首先,各硬实时任务采用了MLF调度算法代替原内核的FIFO调度,提高了Linux系统的实时性能。其次,在判断是否有软中断需要处理之前需判断硬实时任务队列是否为空,如果不为空,即使存在中断的后半部分需要处理,也要先调度硬实时任务投入运行,在硬实时队列为空的条件下才去处理中断的后半部分(因为中断的后半部分没有硬实时任务紧急)。最后,如果没有硬实时任务存在,则说明只有run_queue队列中有软实时或非实时任务存在,这时的处理方法和原内核对单运行队列的处理方法相同。这样改进后,可以明显提高硬实时任务的调度效率,而在没有硬实时任务时,系统性能没有变化。
本实施例针对Linux的实时应用中的技术障碍,从细化时钟粒度、增强内核抢占性及实时调度策略三方面入手,提出了改善Linux实时性能的优化方法。其中,为提高嵌入式应用响应时间精度,提出了细化Linux时钟粒度方法;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linux的单运行队列改为双运行队列,硬实时任务单独被放在一个队列中,并采用了MLF调度算法代替原内核的FIFO调度算法。
本发明所提供的嵌入式Linux系统性能优化的装置的一种具体实施方式的结构框图如图3所示,该装置包括:
分类模块100,用于将进入系统的所有任务按照实时性分为三类:硬实时任务、软实时任务以及非实时任务;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成;
调度模块200,用于将处于运行状态的三类任务放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
处理模块300,用于针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
本发明所提供的嵌入式Linux系统性能优化的装置与上述方法相对应,可相互参照,在此不再赘述。
本专利基于Linux实时方面的缺陷,提供了一种嵌入式Linux系统性能优化的方法及装置。嵌入式技术具有广阔的应用前景,渗透于社会生活的诸多领域,把Linux应用于嵌入式系统,把Linux自身固有的优越性融入嵌入式技术,是嵌入式技术发展的一个重要方向。然而,由于Linux在实时应用领域的技术障碍,要将其应用在嵌入式领域还必须修改Linux内核中的各个模块以达到满足嵌入式实时应用的需求。本专利在分析Linux实时性的同时,探讨了其本身提供的一些支持实时性的机制以及在实时应用中的技术障碍。而后,基于增强Linux内核实时性的主流技术,从细化时钟粒度、增强内核抢占性及实时调度策略三方面入手,改善优化了Linux实时性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种嵌入式Linux系统性能优化的方法,其特征在于,包括:
将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成的任务;
将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及所述非实时任务放入第二队列;
针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
2.如权利要求1所述的嵌入式Linux系统性能优化的方法,其特征在于,还包括:
细化Linux系统的时钟粒度。
3.如权利要求2所述的嵌入式Linux系统性能优化的方法,其特征在于,所述细化Linux系统的时钟粒度包括:
通过直接修改内核定时参数的初值来细化Linux系统的时钟粒度。
4.如权利要求2所述的嵌入式Linux系统性能优化的方法,其特征在于,所述细化Linux系统的时钟粒度包括:
通过对可编程中断定时器或可编程中断控制器进行改进,将毫秒级的粗粒度定时器变为微秒级的细粒度定时器。
5.如权利要求2所述的嵌入式Linux系统性能优化的方法,其特征在于,还包括:
在Linux内核中增加抢占点或直接将Linux内核改造成可抢占式内核。
6.如权利要求1至5任一项所述的嵌入式Linux系统性能优化的方法,其特征在于,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
采用优先级调度算法对第一队列中的任务进行处理。
7.如权利要求6所述的嵌入式Linux系统性能优化的方法,其特征在于,所述优先级调度算法为最小松弛时间优先调度算法。
8.如权利要求1至5任一项所述的嵌入式Linux系统性能优化的方法,其特征在于,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
采用内核的时间片轮转法调度算法对第二队列中的任务进行处理。
9.一种嵌入式Linux系统性能优化的装置,其特征在于,包括:
分类模块,用于将进入系统的所有任务按照实时性分为三类:硬实时任务、软实时任务以及非实时任务;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成;
调度模块,用于将处于运行状态的三类任务放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
处理模块,用于针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
CN201510714023.3A 2015-10-28 2015-10-28 一种嵌入式Linux系统性能优化的方法及装置 Pending CN105373425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510714023.3A CN105373425A (zh) 2015-10-28 2015-10-28 一种嵌入式Linux系统性能优化的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510714023.3A CN105373425A (zh) 2015-10-28 2015-10-28 一种嵌入式Linux系统性能优化的方法及装置

Publications (1)

Publication Number Publication Date
CN105373425A true CN105373425A (zh) 2016-03-02

Family

ID=55375650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510714023.3A Pending CN105373425A (zh) 2015-10-28 2015-10-28 一种嵌入式Linux系统性能优化的方法及装置

Country Status (1)

Country Link
CN (1) CN105373425A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009429A (zh) * 2017-12-11 2018-05-08 北京奇虎科技有限公司 一种补丁函数生成方法及装置
CN109343960A (zh) * 2018-10-12 2019-02-15 郑州云海信息技术有限公司 一种Linux系统的任务调度方法、系统及相关装置
CN109409439A (zh) * 2018-11-07 2019-03-01 广东水利电力职业技术学院(广东省水利电力技工学校) 一种基于Linux的实时核心实现方法及控制系统
CN110413397A (zh) * 2019-07-31 2019-11-05 北京智行者科技有限公司 一种面向自动驾驶的任务调度方法
CN111008100A (zh) * 2019-10-16 2020-04-14 珠海格力电器股份有限公司 linux实时操作系统中断响应时间测试系统及方法
CN111221638A (zh) * 2020-01-03 2020-06-02 北京字节跳动网络技术有限公司 并发任务的调度处理方法、装置、设备和介质
CN118519683A (zh) * 2024-07-22 2024-08-20 成都菁蓉联创科技有限公司 一种支持硬实时的嵌入式混合内核操作方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010446A1 (en) * 2004-07-06 2006-01-12 Desai Rajiv S Method and system for concurrent execution of multiple kernels
CN101923487A (zh) * 2010-08-06 2010-12-22 西华师范大学 一种综合嵌入式实时周期任务调度方法
CN102323895A (zh) * 2011-09-02 2012-01-18 广东中大讯通软件科技有限公司 一种基于机顶盒嵌入式操作系统实时调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010446A1 (en) * 2004-07-06 2006-01-12 Desai Rajiv S Method and system for concurrent execution of multiple kernels
CN101923487A (zh) * 2010-08-06 2010-12-22 西华师范大学 一种综合嵌入式实时周期任务调度方法
CN102323895A (zh) * 2011-09-02 2012-01-18 广东中大讯通软件科技有限公司 一种基于机顶盒嵌入式操作系统实时调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
台飞 等: ""改善嵌入式Linux实时性能的方法研究"", 《科技风》 *
吴姣梅 等: ""改善嵌入式Linux实时性能的方法研究"", 《微计算机信息》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009429A (zh) * 2017-12-11 2018-05-08 北京奇虎科技有限公司 一种补丁函数生成方法及装置
CN108009429B (zh) * 2017-12-11 2021-09-03 北京奇虎科技有限公司 一种补丁函数生成方法及装置
CN109343960A (zh) * 2018-10-12 2019-02-15 郑州云海信息技术有限公司 一种Linux系统的任务调度方法、系统及相关装置
CN109409439A (zh) * 2018-11-07 2019-03-01 广东水利电力职业技术学院(广东省水利电力技工学校) 一种基于Linux的实时核心实现方法及控制系统
CN110413397A (zh) * 2019-07-31 2019-11-05 北京智行者科技有限公司 一种面向自动驾驶的任务调度方法
CN110413397B (zh) * 2019-07-31 2021-09-10 北京智行者科技有限公司 一种面向自动驾驶的任务调度方法
CN111008100A (zh) * 2019-10-16 2020-04-14 珠海格力电器股份有限公司 linux实时操作系统中断响应时间测试系统及方法
CN111221638A (zh) * 2020-01-03 2020-06-02 北京字节跳动网络技术有限公司 并发任务的调度处理方法、装置、设备和介质
CN118519683A (zh) * 2024-07-22 2024-08-20 成都菁蓉联创科技有限公司 一种支持硬实时的嵌入式混合内核操作方法及系统

Similar Documents

Publication Publication Date Title
CN105373425A (zh) 一种嵌入式Linux系统性能优化的方法及装置
US9727372B2 (en) Scheduling computer jobs for execution
US8612986B2 (en) Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value
US7925869B2 (en) Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching
CN101246437B (zh) 一种嵌入式实时系统进程均衡调度方法
US9632822B2 (en) Multi-core device and multi-thread scheduling method thereof
US9298504B1 (en) Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system
CN102541642B (zh) 一种增强实时性能的任务管理方法
CN102043667A (zh) 一种嵌入式操作系统的任务调度方法
US10248463B2 (en) Apparatus and method for managing a plurality of threads in an operating system
CN103389913B (zh) 一种用于Linux系统的实时中断处理方法
CN109343960A (zh) 一种Linux系统的任务调度方法、系统及相关装置
US10108449B2 (en) Work item management among worker threads of a computing device
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
US20170212852A1 (en) Method and accelerator unit for interrupt handling
CN113986500A (zh) 多任务系统中的任务确定性调度方法和任务诊断方法
Agung et al. Preemptive parallel job scheduling for heterogeneous systems supporting urgent computing
US10853133B2 (en) Method and apparatus for scheduling tasks to a cyclic schedule
CN109656716B (zh) 一种Slurm作业调度方法及系统
Garg Real-time linux kernel scheduler
CN111989651A (zh) 在多核系统中管理内核服务的方法和装置
Prashanth et al. Real-time issues in embedded system design
Wellings et al. Asynchronous event handling and real-time threads in the real-time specification for Java
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
Gaitan et al. Methods to improve the performances of the real-time operating systems for small microcontrollers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160302

WD01 Invention patent application deemed withdrawn after publication