linux内核:Linux内核的实时支持的研究与实现


摘要
wqkfbaiducukg69
无所不在嵌入式计算对实时多任务操作系统(RTOS)需求日益迫切Linux内核实时支持研究为迎合这种需求提供了新可能性本文从中断控制实时调度策略内核抢占及细粒度定时器几方面深入研究与实现Linux内核实时支持使之成为个较为完善RTOS作为个嵌入式Linux系统环境研究项目核心组成部分我们保留Linux原有系统支持及API把实时部分做成可配置单元研究了提供尽可能多实时调度策略扩展系统适用范围可行方案同时指出了当前方案不足和今后研究方向
wqkfbaiducukg69
关键词 实时多任务操作系统Linux实时支持嵌入式计算
wqkfbaiducukg69
The Research and Implementing of Real-Time Support of Linux Kernel
wqkfbaiducukg69
Zou Yong and Li Ming-Shu
wqkfbaiducukg69
(Institute of Software Chinese Academy of Sciences)
wqkfbaiducukg69
(zouy@ec.iscas.ac.cn)
wqkfbaiducukg69
Abstract
wqkfbaiducukg69
The demand for real-time operating system (RTOS) is becoming more and more urgent because of the embedded computing everywhere. The possibility is offered to meet this demand by the research of real-time support of Linux kernel. In this paper, in order to make Linux a perfect RTOS, we study and implement the real-time support of Linux kernel through four aspects: errupt control, real-time scheduling policy, kernel preemption and high resolution timer. As a core part of a research project of embedded Linux system, we keep the original system function and API of Linux, and make the real-time part a configurable unit. We discuss how to offer real-time scheduling policies as more as possible and extent the system’s applicable range. At the same time, we also po out the age of the present scheme and the way we should try in the future.
wqkfbaiducukg69
Key words real-time operating systemLinuxreal-time supportembedded computing
wqkfbaiducukg69

wqkfbaiducukg69
Linux操作系统在近几年迅猛发展和不断成熟除了在网络服务器集群技术和PC桌面领域进 展引人瞩目外它在嵌入式设备和实时应用领域也崭露头角
wqkfbaiducukg69
个较为完善嵌入式系统环境中需要个支持实时多任务操作系统(RTOS)内核广泛应用于现实世界中嵌入式设备必须具有与外部环境实时交互能力RTOS是和嵌入式应用复杂化直接相关另外如果实时应用软件开发还是在基于处理器直接编写没有基于个完善RTOS那么无法将系统软件和应用软件分离每次都要特别定制系统软件和应用软件开发代价太大成本过高因此RTOS是实时应用软件开发从“小生产方式”进入“大生产方式”必然产物
wqkfbaiducukg69
从20世纪八十年代开始开始出现各种各样大都为专有系统而开发商业RTOS从而形成了现在商业RTOS百家争鸣局面如QNXVxWorkspSOS和Nucleus等等它们般价格昂贵且互不兼容作为以发放软件使用许可证盈利为目商业RTOS它们通常严守技术秘密不公开源代码这就使对其进行改进、测试和维护权力仅局限于公司内部少数工程师与传统商业操作系统相反Linux及其相关项目开放源码特征为我们在前人基础上顺利进行更深入研究提供了可行性[1]
wqkfbaiducukg69
目前世界上已有许多科研机构为此作了很大努力引起广泛关注Linux内核实时支持项目有:RT-LinuxRTAIRED-LinuxKURT[2]与传统商业实时操作系统相比较Linux内核实时支持研究有独特应用价值及学术意义目前世界上正在进行之中几个相关研究项目各有其独到之处及鲜明技术特征我们在现有水平基础之上致力于借鉴和改进其他相关项目经验成果综合考虑系统运行 效率适用性可移植性鲁棒性几方面因素并以提高这几方面性能为目重点在中断控制实时调度策略内核抢占及细粒度定时器几方面进行研究
wqkfbaiducukg69

wqkfbaiducukg69
1 实时计算及LINUX用于实时应用技术障碍
wqkfbaiducukg69
1.1 实时计算
wqkfbaiducukg69
“在实时计算中系统正确性不仅仅依赖于计算逻辑结果而且依赖于结果产生时间”从这个角度上看实时系统是“个能够在指定或者确定时间内完成系统功能和对外部环境输入做出响应系统”[1]
wqkfbaiducukg69
按对实时性能要求程度实时应用可以分为两类:
wqkfbaiducukg69
1) 硬实时要求可确定性强具有明确实时参数在某个限定时刻之前不能完成任务将导致整个应用失败;
wqkfbaiducukg69
2) 软实时也对时间敏感但任务偶尔不能满足实时要求也不太重要并不至于影响全局
wqkfbaiducukg69
1.2 Linux本身对实时支持情况及其用于实时应用存在技术障碍
wqkfbaiducukg69
自Linux诞生到现在它已逐渐成为世界上使用最广泛操作系统之从网络服务器桌面PC到各种嵌入式设备到处可见它存在由于良好可移植性它同时具有大多数硬件平台上运行版本Linux目前内核支持Intel x86、Strong Arm、Motorola/IBM PowerPC、Compaq(DEC)Alpha、IA 64、S/390、SuperH等处理器体系结构最重要Linux开放源代码特性为世界各地科研人员提供了发挥能量充分活动空间也使它本身成为汇聚了千万人智慧性能卓越操作系统
wqkfbaiducukg69
然而Linux由于并非为实时系统而设计还不能够直接满足实时系统方面需要Linux本身对实时支持情况如下:
wqkfbaiducukg69
在内核1.3版本之后POSIX实时扩展部分被添加进来引入了实时进程概念允许将个进程属性确定为实时进程Linux从调度策略上区分实时进程和普通进程实时策略先于普通进程运行采用不同调度策略
wqkfbaiducukg69
对实时进程Linux采用两种调度策略即先来先服务调度SCHED_FIFO和时间片轮转调度SCHED_RRSCHED_RR任务最先被调度并且拥有时间片旦时间片用完就被移动到优先级队列队尾并允许同优先级其他任务运行如果同优先级没有其他任务该任务将继续运行下个时间片SCHED_FIFO是运行直至阻塞策略SCHED_FIFO任务按优先级调度旦开始就直运行到结束或者阻塞在某种资源上它们不像SCHED_RR任务那样共享处理器
wqkfbaiducukg69
对普通进程Linux采用动态优先级调度SCHED_OTHER 基于以时间片大小为权值轮转调度
wqkfbaiducukg69
以上是Linux本身在实时支持方面所作努力可以在粗粒度软实时方面有应用范围但许多重要实时性能指标如执行周期执行时限中断延迟时间等不能够明确
wqkfbaiducukg69
传统Unix操作系统属于分时系统进程调度目标追求是吞吐量(throughout)和公平(fairness)平衡基本没有考虑实时应用所需响应时间保证Linux作为种类Unix操作系统也继承了Unix很多不适合实时应用特点:
wqkfbaiducukg69
1) Linux下有用户态和核心态两种模式当进程运行在用户态时很容易被优先级更高进程抢占但当它进入核心态时(比如通过系统fork进入核心态)则其他用户态进程优先级再高比如实时进程也不能抢占处于核心态低优先级普通进程这是Linux内核本身是不可抢占
wqkfbaiducukg69
2) 在Linux中许多事件产生可导致实时进程阻塞优先级反转所以无法确保实时进程响应时间
wqkfbaiducukg69
3) 理论上短时间内频繁中断发生也可导致中断分派时间和中断服务时间无限制延长
wqkfbaiducukg69
4) Linux内存管理采用了虚拟内存及swapping技术实时进程所在内存页可能被交换到硬盘上而从硬盘上调页时间是不可预测这造成了实时响应时间不确定性
wqkfbaiducukg69
5) 缺少细粒度(high resolution)定时器Linux定时器频率为100Hz远远不能满足实时应用需要
wqkfbaiducukg69
Linux本身不是个实时系统我们针对以上问题研究如何利用Linux内核特性使它具备支持硬实时能力
wqkfbaiducukg69

wqkfbaiducukg69
2 RTOS相关技术
wqkfbaiducukg69
2.1微内核技术
wqkfbaiducukg69
与Linux单内核结构相对应些RTOS实现采用微内核体系结构所谓微内核技术是指将必需功能(如进程管理、任务通信、中断处理、进程调度)放在内核中而将那些不是非常重要核心功能和服务(文件系统、存储管理、网络通信、设备管理)等作为内核之上可配置部分这样整个操作系统就是由提供基本服务机制微内核加上些服务进程构成各个系统和服务都是由内核发消息到不同服务进程服务进程执行相应操作然后以消息方式返回内核
wqkfbaiducukg69
使用微内核体系结构使得RTOS体积很小适于直接内嵌于硬件设备中;可配置性好方便进行模块化扩展
wqkfbaiducukg69
使用微内核结构也存在缺点:操作系统服务模块在独立地址空间运行使得进程间通信和上下文切换系统开销大大增加降低了系统效率因此系统性能是采用微内核方案RTOS个主要问题
wqkfbaiducukg69
2.2 POSIX实时扩展
wqkfbaiducukg69
POSIX(Portable Operating Interface)是为标准化类UNIX操作系统所必须具有特征和接口而制定其思想就是为了增强为类UNIX操作系统编写软件可移植性人们在POSIX里面加进了对实时性扩展如POSIX.1003.1b在这些实时性扩展里面定义了些工具如信号、内存锁定、时钟和计数器、消息队列以及优先级抢先调度等;提供实时进程接口及相应调度算法如Linux进程实时属性及SCHED_RR和SCHED_FIFO;提供设置调度器将进程锁在内存中mlock设置优先级
wqkfbaiducukg69
不过通过POSIX来标准化实时操作系统并不被开发者所看中POSIX系统反映了UNIX系统复杂和笨重这与个优秀RTOS应当提供简洁易用接口特征不符[1]
wqkfbaiducukg69
另外现在虽然在Linux下实现POSIX 1003.1b工作正在进行并且已经实现了POSIX内存锁定工具和调度算法但是即使把POSIX 1003.1b完全移植到Linux上来而毕竟Linux内核仍不能被实时任务所抢占这样实现还是无法实现真正意义上硬实时
wqkfbaiducukg69

wqkfbaiducukg69
3 LINUX内核实时支持当前主流技术
wqkfbaiducukg69
3.1 RT-Linux、RTAI
wqkfbaiducukg69
RT-Linux属于硬实时将Linux内核设计为可被抢占主要方法是实现个实时内核负责处理硬件消息接管中断实时任务可在该内核上直接运行把Linux内核本身作为优先级最低IdleTask运行该实时内核有自己基于优先级调度算法Linux内核随时可以被优先级更高实时任务抢占实时任务与Linux进程之间通过特定通讯机制(如FIFO)进行通信运行在Linux内核之上进程则可以完成些非实时功能图1以个实时数据采集应用为例说明了RT-Linux主要技术特点
wqkfbaiducukg69

wqkfbaiducukg69

wqkfbaiducukg69
图 1 RT-Linux实时数据采集应用示例
wqkfbaiducukg69
RTAI技术实现类似但更成熟和完善RTAI 和RT-Linux 最大不同地方在于它适当在 Linux 上定义了 组 RTHAL (Real-Time Hardware Abstraction Layer)RTHAL 将 RTAI 需要 在 Linux 中修改部份定义成界面RTAI 只使用这组界面和 Linux 沟通这样可以把对内核源码树改动降低到可以控制程度将直接修改 Linux 内核代码减至最小其优点是尽量减少 RTAI 移植到新版 Linux 工作量提供了更多实时通信机制如实时semaphore、实时mailbox、实时queue等IPC机制实时任务和非实时任务都可以并且用户态进程也有相应来与之通信在Linux内核上以较小改动提供了接口而把实时调度和实时IPC机制都用内核module来实现
wqkfbaiducukg69
3.2 RED-Linux
wqkfbaiducukg69
与RT-Linux可抢占内核不同RED-Linux通过直接修改Linux内核源码将内核中较长例程剖分为较小代码块即在代码中增加抢占点(Preemption po)导致内核在抢占点可以被抢占通过这种方式可以达到较小内核抢占延迟由在RED-Linux 2.0 版测试得知其系统响应时间约在100 us左右
wqkfbaiducukg69
RED-Linux 非常有弹性调度器架构非常独特它使得 RED-Linux 可以符合各种不同复杂度系统需求基本上它分成调度器(dispatcher)和分配器(allocator)二部份调度器在内核态执行而分配器在用户态执行分配器可以是应用部份也可以是个独立单元通常它可能是中间件部份负责将应用资源请求转换成内核可以理解形式调度器作为个内核模块存在可被动态加载由它来最终决定进程执行顺序
wqkfbaiducukg69
3.3 KURT
wqkfbaiducukg69
KURT是由Kansas大学所研制它和RT-Linux及RTAI 有很大不同KURT使用不同内核态控制实时进程调度
wqkfbaiducukg69
(1) 普通态内核不提供实时支持这时与通常L没有区别;
wqkfbaiducukg69
(2) 实时态内核仅仅调度实时进程非实时进程全部被挂起
wqkfbaiducukg69
(3) 混合态实时进程和非实时进程同时被调度
wqkfbaiducukg69
多态实时进程调度方式容易产生问题是:它安全性依赖于应用若内核态之间切换没有很好实现那么由此而带来实时进程和非实时进程之间不正确交替会导致系统崩溃
wqkfbaiducukg69
KURT 是第个可以使用全部L原有系统实时Linux有利于充分利用L软件资源由于KURT只是简单将 Linux 调度器用个很简单时间驱动调度器加以取代实时进程执行很容易受其它非实时进程影响另外它受限于原有 Linux 架构使得系统响应时间很难控制
wqkfbaiducukg69

wqkfbaiducukg69
4 对任务响应时间分析及解决方法
wqkfbaiducukg69
4.1 任务响应时间及其相关因素
wqkfbaiducukg69
任务响应时间是从某事件到来到该任务响应此事件并开始执行那段时间间隔任务响应时间大小是评价个RTOS性能重要指标通常有以下几个因素影响任务响应时间:
wqkfbaiducukg69
1) 中断分派时间(Interrupt Dispatch Time)
wqkfbaiducukg69
当任何个中断发生时系统在中断服务之前必须保存所有寄存器和其他系统状态
wqkfbaiducukg69
2) 中断服务时间(Interrupt Service Time)
wqkfbaiducukg69
中断服务在这段时间内从硬件设备和系统中获取相关信息
wqkfbaiducukg69
3) 内核抢占时间(Kernel Preemption Time)
wqkfbaiducukg69
从操作系统想要抢占当前进程到这种抢占实际发生时间间隔
wqkfbaiducukg69
4) 调度延迟(Schedule Delay)
wqkfbaiducukg69
在某个调度时机调度器选择下个进程所用时间
wqkfbaiducukg69
5) 上下文切换时间(Context Switching Time)
wqkfbaiducukg69
系统首先保存当前进程寄存器和系统状态其次重置下个进程寄存器状态
wqkfbaiducukg69
6) 系统返回时间(Return from Call)
wqkfbaiducukg69
内核在返回到用户态之前用于检查必要返回条件所用时间[8]
wqkfbaiducukg69
为达到尽量减少任务响应时间我们考察了上述任务响应时间相关因素发现可以通过努力减少IDTISTKPT相对于IDT在IST内要完成工作很多所费时间也长在非实时操作系统内核中仅仅IST造成延迟对于许多实时应用已经是不可容忍因此减少IST是个关键问题
wqkfbaiducukg69
在实时应用环境中若干个中断同时发生情况是完全可能存在这时任务响应时间将包含N*(IST+IDT)N是中断次数从理论上说若有无限个中断同时发生任务响应时间将被无限期延长针对这个问题些实时操作系统采用在前个中断被处理完毕之前禁止其他特定中断方法但显然这也仅是个权宜之计并不能从根本上解决问题
wqkfbaiducukg69
4.2 软中断模拟技术(Software Interrupt Emulation)
wqkfbaiducukg69
我们项目中使用软中断模拟技术解决以上问题取得了良好效果:
wqkfbaiducukg69
1) 当硬件中断发生时系统仅将这个事件记录到个事件表中
wqkfbaiducukg69
2) 立即将CPU控制权返回给操作系统而完全略过了查找中断向量表并执行相应中断服务过程
wqkfbaiducukg69
这个过程中我们仅需保存中断模拟所用到寄存器而免去了保存硬中断服务上下文环境时间
wqkfbaiducukg69
系统在Linux内核之前截获了所有硬中断信号并根据当前实时任务需要由软中断模拟机制决定处理或挂起该中断由此IDT和IST被最大程度减少类似于PC主板上8259中断管理芯片这里实现个软中断管理器
wqkfbaiducukg69
4.3 细粒度定时器
wqkfbaiducukg69
在分时系统中定时器触发时钟中断每个时钟中断是次进程调度时机Linux中每个时钟中断发生时由三个协同工作共同完成进程选择和切换它们是:
wqkfbaiducukg69
1) schedule()进程调度
wqkfbaiducukg69
2) do_timer()该是时钟中断服务主要组成部分频率就是时钟中断频率
wqkfbaiducukg69
3) ret_from_sys_call()系统返回个系统或中断完成时处理些收尾工作
wqkfbaiducukg69
可以看出定时器频率直接影响到系统响应速度和上下文切换系统开销Linux定时器提供10毫秒(millisecond)调度粒度对于许多实时应用来说不足以达到响应速度要求实时应用通常需要微秒级定时器
wqkfbaiducukg69
KURT方案核心便在于提供了细粒度定时器我们参考了KURT方案在系统中引入两种定时器模式:periodic和oneshot[3]
wqkfbaiducukg69
为了达到微秒级(microsecond)粒度可以简单地对时钟芯片编程使之运行在较高频率下在Linux里可以简单增加HZ宏比如增加HZ到100000可以得到10微秒粒度但这将极大地增加系统消耗不论是否有事件发生需要调度CPU总是被频繁地被中断定时器这种periodic模式在某些周期性强场合可以应用另外许多实时应用真正需要不是在每个微秒都发生时钟中断而是在任何个微秒都允许发生时钟中断这样不再将时钟芯片设置为固定频率而是设置为下个事件要发生时间这种设置时钟芯片方式称之为oneshot方式
wqkfbaiducukg69
Linux内核中引入细粒度定时器后可以根据不同实时应用对任务响应时间需要选择合适定时器模式和粒度实时应用开发人员通过控制定时器粒度控制了时钟中断间隔个方面减少了KPT
wqkfbaiducukg69

wqkfbaiducukg69
5 可抢占式内核体系结构设计
wqkfbaiducukg69
典型实现方案是双内核系统即利用Linux内核同时增加个实时内核两个内核共同工作获得别实时系统所不能达到优势如图2所示
wqkfbaiducukg69
双内核解决方案在很早以前就已经提出贝尔实验室开发人员曾准备开发种名为MERT实时操作系统这种操作系统就准备运行两个内核个是实时内核另外个是分时通用内核实时内核用来运行实时任务通用内核用来运行普通任务这种设计方法优势就在于实时应用可以利用非实时操作系统内核些特点来开发例如若利用实时内核运行个实时任务来对外界环境进行数据实时采集则可以利用非实时内核上运行图形界面显示采集出来数据这样既可以提高实时系统可用性也可以节省非严格实时部分开发代价;另外实时系统部分任务可被划分出来降低了实时内核需要处理复杂度提高了实时部分计算效率RT-Linux是Linux内核实时支持中在双内核方案方向先驱RTAI与RT-Linux类似加入了硬件抽象层对内核改动更小当内核版本变化时比较容易跟踪
wqkfbaiducukg69

wqkfbaiducukg69

wqkfbaiducukg69
图2 Linux实时支持双内核方案
wqkfbaiducukg69

wqkfbaiducukg69
我们为了解决Linux实现硬实时最大障碍使Linux内核成为可以完全被抢占采用混合内核方案在Linux内核和硬件之间加个小实时核由它管理中断提供些必要功能如底层任务创建、中断服务并且为底层任务、ISR和Linux进程之间进行通信排队而Linux内核本身则成为其优先级最低Idle task在Linux内核中影响实时性能地方增加进控制将控制权交给实时内核这样实时内核可以满足短小精悍要求非实时内核又功能丰富两者结合起来可以充分发挥出实时系统在嵌入式系统中应用可以充分让嵌入式系统满足信息电器时代要求开发出强大适用系统
wqkfbaiducukg69
这类实时系统实现设想虽然在很早以前就提出过但是仍然是具有创造性并且尤其在Linux时代这样实时系统更是显得游刃有余我们可抢占式内核体系结构设计引入这种方案以取得可与商业RTOS相媲美硬实时性能
wqkfbaiducukg69
对实时要求强应用编写成实时任务在实时内核上直接运行Linux内核随时可以被优先级更高实时任务抢占对Linux内核修改主要集中在对原有中断处理上即采用前述软中断模拟机制原有开/关中断宏(sti/cli)被替换为仅仅是设置个软件中断标志具体如下:
wqkfbaiducukg69
1) Linux先关了中断当中断发生时实时核接收之并决定怎么做
wqkfbaiducukg69
2) 如果该中断将导致实时任务运行则实时核立即保存Linux现场随后运行该实时任务
wqkfbaiducukg69
3) 如果该中断仅仅需要被传递给Linux则实时核将设置标志以记录这等候处理中断然后继续Linux执行而不启动Linux中断服务
wqkfbaiducukg69
4) 当Linux开中断时实时核将处理所有等候处理中断让相应Linux中断服务执行
wqkfbaiducukg69
实时任务与Linux进程之间通过特定通讯机制(如FIFO)进行通信
wqkfbaiducukg69

wqkfbaiducukg69
6 实时任务调度设计与实现
wqkfbaiducukg69
不同实时应用会要求使用不同实时调度策略因此RTOS所能支持调度策略种类直接关系到它应用范围寻求种方案使我们实时Linux支持尽可能多调度策略使我们在进行这部分研发时考虑主要目标之RED-Linux在这方面做了有益尝试[2]
wqkfbaiducukg69
回顾以前人们提出形形色色实时调度算法大致可以归于三类模式:
wqkfbaiducukg69
1) 优先级驱动调度(priority-driven schedulingPD)是以静态或动态任务优先级作为参数提供给调度器调度器仅以此作为寻求下个执行任务依据
wqkfbaiducukg69
2) 时间驱动调度(time-driven schedulingTD)以当前时间作为寻求下个执行任务依据
wqkfbaiducukg69
3) 共享驱动调度(share-driven schedulingSD)这是种近来越来越受关注实时调度模式基于GPS(General Processor Scheduling)算法每个实时任务被分配共享资源参与调度系统中所有实时任务按照定比例共享计算资源[4, 5, 6]
wqkfbaiducukg69
上述调度模式各有自己应用场合若实现个调度方案同时支持这三类调度模式将有利于实时应用开发人员根据具体情况灵活选择
wqkfbaiducukg69
RED-Linux通用实时调度框架为实时任务定义了4个调度属性分别是:优先级起始时间截止时间总执行时间[8, 9]这里要注意起始时间和截止时间为任务绝对起止时刻因此总执行时间并不定等于它们差值我们在此基础之上增加个抽象属性:资源它提供给实时应用开发人员以更大灵活性来实现任务调度比如若干任务针对某特定系统资源按预定权值进行调度
wqkfbaiducukg69
不同于以往单属性调度方法对于实时任务5个调度属性我们需要有个特殊机制来协调目前我们设计实现方案是构造个属性过滤模块完成属性判断筛选出当前任务组调度属性之后是个调度器选择模块完成相应于当前调度属性调度器选择工作最后由被选中调度器作为运行时调度器对若干实时任务进行调度如图3所示
wqkfbaiducukg69

wqkfbaiducukg69
图3 实时调度方案
wqkfbaiducukg69
因缺少对所有属性综合权衡机制我们当前实现方案还不能做到同时以全部属性为依据进行调度这是我们今后研发方向之
wqkfbaiducukg69
7 结论
wqkfbaiducukg69
将属于分时系统Linux内核改造为个具有良好应用价值实时多任务操作系统有许多技术难点要克服我们针对这两者之间差异以提高实时性能和尽可能少对Linux原内核改动为原则寻求实时化方案在研究和吸取了前人工作成果基础上采用软中断模拟技术控制所有硬中断实现内核完全可抢占引入细粒度定时器及实时调度策略最终设计与实现了Linux内核实时支持实践证明所采用实时化方案完全可行目前该成果作为个实时支持模块已经在实际系统中得到了应用
wqkfbaiducukg69

wqkfbaiducukg69
参考文献
wqkfbaiducukg69
1 R.J.A.Buhr and D.L.Bailey. An Introduction to Real-Time s: From Design to Multitasking with C/C. Prentice Hall. 1998
wqkfbaiducukg69
2 E. Bianchi, L. Dozio, P. Mantegazza, G.L. Ghiringhelli, Complex Control , Applications of DIAPM-RTAI at DIAPM, Real Time Linux Workshop, 1999
wqkfbaiducukg69
3 M. Spuri and G. Buttazzo. Scheduling aperiodic tasks in dynamic priority systems. Real-Time s, 10(2), 1996.
wqkfbaiducukg69
4 H. Kopetz. The Time-Triggered Model of Com-putation. In Proc.IEEE Real-Time s Sym-posium, Madrid, Spain, pp. 168-177, Dec 1998.
wqkfbaiducukg69
5 Z. Deng and J.W.-S. Liu. Scheduling Real-Time Applications in Open Environment. In Proc. IEEE Real-Time s Symposium, San Francisco, CA, Dec 1997.
wqkfbaiducukg69
6 I. Stoica, H. Abdel-Wahab, , and K. Jeffay. _disibledevent='MbpfbaiducukBa4'>
Tags:  linux内核完全注释 linux内核编译 深入理解linux内核 linux内核

延伸阅读

最新评论

发表评论