欢迎来到天天文库
浏览记录
ID:31756483
大小:58.70 KB
页数:8页
时间:2019-01-17
《嵌入系统pc化中调度算法应用探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、嵌入系统PC化中调度算法应用探究摘要将嵌入式系统产品移植到PC上,应用专属软件实现嵌入式系统的功能,在保证原嵌入式系统优良品质的同时,借用pc的强大功能进一步实现个性化软件。本文将研究'‘利用嵌入式系统的调度方法:NEDF和时间片轮转法,来优化PC化软件的实时性的”的可行性。关键词:嵌入式系统PC化,实时性,调度算法【分类号】:TP316.21.引言近几十年来,计算机技术的迅速普及促进了测试测量和自动化仪器系统的革新,其中最显著的一点就是虚拟仪器(VirtualInstrumentation)概念的出现与发展。所谓虚
2、拟仪器[1],它是由若干专门的子单元、多用途的计算机、软件以及相应的技术组成的。它在通用PC上添加一层软件和必要的仪器硬件模块,使用户操作这台通用计算机就像操作一台为自己专门设计的传统电子仪器一样。应用这个思想,可以将传统的对实时性要求不是太高的嵌入式系统产品经过改造形成相应的PC化产品,即将原有的嵌入式产品'‘虚拟化”、将仪器仪表移植到PC±o对嵌入式仪表的PC化,可以结合“虚拟仪器”与“软件仿真”二者的优点、取长补短,首先应用“虚拟仪器”的理念,实现PC软件与传感器相结合;再应用“软件仿真”的方法模型在PC机上模
3、拟嵌入式处理器、存储器,实现其相应功能。总体设计思想为:调用Windows系统的应用程序接口(API)实现模拟操作;在Windows平台上创建进程,用来模拟嵌入式的内核;利用Windows的多线程机制来模拟嵌入式的多任务机制。本文将对如何优化PC化后程序的实时性进行研究。众所周知,嵌入式系统具有可裁剪性,低功耗、专一性等优点。而且嵌入式系统必须在完成满足工业基本要求的基础上具有一定实时性的特点。本文所讲的PC化对象是实时性要求不高的嵌入式系统,考虑到电脑强大的CPU和Windows成熟的多任务处理机制,完全可以满足原
4、系统的实时要求。在此基础上,利用一些有利算法和有效策略,可否对系统的实时性进行优化,起到锦上添花的作用,本文将对如何优化PC化后程序的实时性进行研究。1.嵌入式系统的调度算法考虑到工业标准,原嵌入式系统要求每秒钟对釆集的数据进行一次更新,而且,在当前的绝大多数PC系统下,Windows提供的定时功能可以稳定的实现2毫秒[2]的精度。因此,对于PC强大的CPU而言可以保证任务集内各任务满足各自的时限,使系统得以正常工作,但是为了优化PC化系统的实时性,将对实时任务调度算法的选择进行研究。实时任务调度算法从不同的角度可以
5、有多种分类方法:(1)按照处理器数量可分为:单处理器调度算法,适用于单个处理器的实时系统;多处理器调度算法,应用于多个处理器的实时系统。(1)按照内核占用方式可分为:抢占式调度算法,严格按照任务的优先级来决定CPU的占有情况,当前执行的任务可以被优先级更高的任务中断;非抢占式调度算法,任务调度情况一般按既定周期执行。(2)按照任务的调度方式可分为:静态调度算法,在系统运行前为每个任务安排相应的优先级,再按照既定的顺序进行的调度;动态调度算法,在系统运行中,根据各个任务的资源需求再分配任务优先级。(3)按照是否有自适应
6、性可分为:自适应调度算法;非自适应调度算法。综合考虑原嵌入式系统的特点、PC化的特性和算法应用的可操作性等因素,将从任务调度方式的角度进行出发进行实时性的优化,接下来将从任务调度角度来讨论调度算法的优缺点与可行性。2.1.静态调度算法静态调度算法,是给系统中参与运行的任务提前分配优先级。这种优先级的分配可以根据任务的属性安排,例如用户需要的优先级、任务执行周期、任务的对资源的需求等等预先确定的策略。静态调度算法适用于系统需求确定并且在运行时不会有太大变化的确定系统。它们具有运行开销小、可预测性强的优点;相对应的,它们
7、具有不可修改性、灵活性差的缺点,因此不适用于动态变化或是无法预测结果的系统。典型并且比较流行的静态调度算法是速率单调算法,RM(Rate-Monotonic)[3][4],此算法根据任务执行周期的长短决定调度的优先级,周期较小的任务具有较高的优先级。RM算法中处理机的占用率可写成公式(1):(1)其中i:任务集合中应执行的任务数。j:表示当前执行的任务。Ej表示执行当前任务所需的最长时间。Tj表示执行当前任务所既定的周期。则Ej/Tj表示当前任务对CPU的占有率(EjNEDF算法[5]以任务的截止期限为任务调度顺序的
8、首要决定因素但不是唯一决定因素。当多个任务截止时间相近时,考虑应用静态调度算法的方法来确定任务的优先级。具体算法如下,则在某个调度时刻,先查找截止期限最短的任务。此时,可能有多个任务的截止期限相等或较为接近。如果截止期限相等或是最小截止期限与次小截止期限的差值在一定的范围内,则按照静态调度算法的优先级决定下一步执行的任务运行。如果截止期限均不等
此文档下载收益归作者所有