欢迎来到天天文库
浏览记录
ID:34551371
大小:173.42 KB
页数:5页
时间:2019-03-07
《linux操作系统的实时化设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、苏州科技学院学报(工程技术版%第(1卷第(期b^@L9#"OFAJ"BI@L;M"F#MFC#W,FMY#@E@HI@L;$cY@$d@E^(1e@^(4**)年.月(N#H"#FFA"#HC#W,FMY#@E@HI%fCA^4**)!"#$%操作系统的实时化设计陆卫忠!班建民!刘文亮&苏州科技学院电子与信息工程系!江苏苏州’()*((+摘要!提出了一种基于优先级的抢占调度外加相同优先级任务时间片轮转调度算法!以解决普通!"#$%中的优先级倒置和中断处理时不能处理外部硬件中断而导致响应时间过长的问题!使改造后的!
2、"#$%可适应实时应用场合"关键词!!"#$%#实时系统#嵌入式系统#调度策略中图分类号!,-.(/01(文献标识码!2文章编号!(/345*/36$4**)%*(5**//5*7(!"#$%内核进程调度!"#$%操作系统试图提供一种&公平分配策略’来保证所有进程可以均衡地获得8-9资源!使系统具有>(?较高的吞吐量"它加入了-:;<=(-@ABCDEF:GFACB"#H;IJBFK<#BFALCMFL@A8@KG$BFAN#O"A@#KF#BJ%实时扩展部分!引进了实时进程的概念!允许将一个进程定义为实时进程)
3、!"#$%中的进程调度策略与具体的进程有关!它反映在进程的JBA$MBBCJPQJBA$MB结构的G@E"MI成员中"一般情况下!G@E"MI是下面.种情况之一*(R%;8SNTQ:,SNU非实时!采用传统9#"%调度算法!即基于优先级的轮转算法#(4%;8SNTQV4、FZ[在发生调度时!通过H@@W#FJJZ+函数衡量一个处于可运行状态的进程值得运行4]的程度)JMYFW$EFZ+的调度算法如下*遍历可运行队列!从中选择一个优先权值最大的进程!如果可运行队列中所有进程的时间片都用完了!则给系统中所有进程的时间片(!"#$%的设计者将一个时间片定为(*KJ%重新赋值).]从!"#$%的进程调度方式可以看到!!"#$%的进程调度不是完全抢占式的!优先级高的进程必须等待优先级低的进程时间片用完后!在下一个调度时机到来时!才有机会获得8-9)即存在高优先级进程等待低优先级进程的情5、况即优先级反转!这在实时环境中是不允许的!所以!"#$%是不适合用于实时环境的)由此可见!要使!"#$%适合在嵌入式系统中使用!除了对其内核作必要的裁剪使其对资源需求最小化之外!还需要解决普通!"#$%中的以下问题*((%系统先执行普通进程而不是实时进程#(4%其他进程会打断实时进程的运行)要解决以上问题!需要对!"#$%内核的中断处理+进程调度机制加以改进!使!"#$%操作系统具有较好的实时性!适合实时应用场合"4实时化!"#$%的方案4^(实时化!"#$%的实现方案实时化!"#$%的实现方案可以分为以下两类*6、Z([对!"#$%内核的内部改造!即直接修改!"#$%内核源代码!对它的数据结构+调度函数+中断方式等进行修改使其能处理实时进程"因此这种实时化方法的工作量大!可能会造成系统的稳定性问题!但改造后的系统实时性较好"Z4[对!"#$%内核的外部实时扩展!就是,,,,,,,,,,>收稿日期_4**7‘((‘(*基金项目]建设部基金项目(*7‘4‘4*)%#苏州科技学院科研基金项目(Sa4**.‘%作者简介]陆卫忠Z(6/7‘+!男!江苏常熟人!副教授)万方数据!第!期陆卫忠等’"#$%&操作系统的实时化设计!"在7、原有"#$%&基础上再设计一个专门用于处理实时进程的内核!即系统有’个内核!普通进程使用原有的内核调度器进行调度!实时进程使用新设计的调度器进行调度!这种双内核系统可以使用实时内核进程获取外部数据!用非实时内核进程处理数据!如以图形方式显示获取的数据"因此这种改造方法有利于系统的稳定!工作量小"该方案的结构如图!所示"因此外部实时扩展的方案保留了"#$%&操作系统所提供的丰富功能!原有的基本内核与实时内核共享()*!实时内核处理拥有更高优先级别的任务!而基本内核可以看作是实时系统的空闲任务!只是在没有实时处理需求8、的时候运行"’+,中断处理的修改由于中断操作#-./处理器的01#和23#机器指令$会造成不可确定的中断分派延迟%要在普通"#$%&上增加实时处理能力!需要修改"#$%&为了达到同步目的使用的关中断方式"为此!本方案通过在"#$%&内核与中断控制硬件之间增加一个模拟软件来实现"对于实时内核来说!它始终不关闭硬件中断!可接受所有的硬件中断"当中断信号需要实时内核处理时!实时
4、FZ[在发生调度时!通过H@@W#FJJZ+函数衡量一个处于可运行状态的进程值得运行4]的程度)JMYFW$EFZ+的调度算法如下*遍历可运行队列!从中选择一个优先权值最大的进程!如果可运行队列中所有进程的时间片都用完了!则给系统中所有进程的时间片(!"#$%的设计者将一个时间片定为(*KJ%重新赋值).]从!"#$%的进程调度方式可以看到!!"#$%的进程调度不是完全抢占式的!优先级高的进程必须等待优先级低的进程时间片用完后!在下一个调度时机到来时!才有机会获得8-9)即存在高优先级进程等待低优先级进程的情
5、况即优先级反转!这在实时环境中是不允许的!所以!"#$%是不适合用于实时环境的)由此可见!要使!"#$%适合在嵌入式系统中使用!除了对其内核作必要的裁剪使其对资源需求最小化之外!还需要解决普通!"#$%中的以下问题*((%系统先执行普通进程而不是实时进程#(4%其他进程会打断实时进程的运行)要解决以上问题!需要对!"#$%内核的中断处理+进程调度机制加以改进!使!"#$%操作系统具有较好的实时性!适合实时应用场合"4实时化!"#$%的方案4^(实时化!"#$%的实现方案实时化!"#$%的实现方案可以分为以下两类*
6、Z([对!"#$%内核的内部改造!即直接修改!"#$%内核源代码!对它的数据结构+调度函数+中断方式等进行修改使其能处理实时进程"因此这种实时化方法的工作量大!可能会造成系统的稳定性问题!但改造后的系统实时性较好"Z4[对!"#$%内核的外部实时扩展!就是,,,,,,,,,,>收稿日期_4**7‘((‘(*基金项目]建设部基金项目(*7‘4‘4*)%#苏州科技学院科研基金项目(Sa4**.‘%作者简介]陆卫忠Z(6/7‘+!男!江苏常熟人!副教授)万方数据!第!期陆卫忠等’"#$%&操作系统的实时化设计!"在
7、原有"#$%&基础上再设计一个专门用于处理实时进程的内核!即系统有’个内核!普通进程使用原有的内核调度器进行调度!实时进程使用新设计的调度器进行调度!这种双内核系统可以使用实时内核进程获取外部数据!用非实时内核进程处理数据!如以图形方式显示获取的数据"因此这种改造方法有利于系统的稳定!工作量小"该方案的结构如图!所示"因此外部实时扩展的方案保留了"#$%&操作系统所提供的丰富功能!原有的基本内核与实时内核共享()*!实时内核处理拥有更高优先级别的任务!而基本内核可以看作是实时系统的空闲任务!只是在没有实时处理需求
8、的时候运行"’+,中断处理的修改由于中断操作#-./处理器的01#和23#机器指令$会造成不可确定的中断分派延迟%要在普通"#$%&上增加实时处理能力!需要修改"#$%&为了达到同步目的使用的关中断方式"为此!本方案通过在"#$%&内核与中断控制硬件之间增加一个模拟软件来实现"对于实时内核来说!它始终不关闭硬件中断!可接受所有的硬件中断"当中断信号需要实时内核处理时!实时
此文档下载收益归作者所有