实时Linux技术实时实时LinuxLinux技术技术如何在嵌入式如何在嵌入式LINUXLINUX中应用实时特性中应用实时特性主讲:易松华主讲:易松华2实时VS快速:怎样选择?•实时操作系统(Real-timeOS)•分时操作系统(Time-SharingOS)–计算机资源会被平均地分配给系统内所有的工作•区别:–是否有“时限(deadline)”实时系统概念•指规定的时限内必须完成规定的操作–并非指速度快慢–硬实时:超过时限完成任务会导致灾难性后果–软实时:超过时限完成对任务会带来系统性能的严重下降•手持设备什么地方需要实时系统?实时系统特点可接受度负正响应时间硬实时烤炉温度控制响应时间的可接受度两种类型的Real-Time软实时•多任务和任务切换:任务切换时间•内核调度:调度算法•可抢占型内核和不可抢占型内核•优先级反转问题•任务间同步和通信•中断延迟–中断延迟时间:关中断的最长时间+开始执行中断服务程序的时间–中断响应时间:中断延迟时间+操作系统保存现场的时间–中断恢复时间:恢复现场时间+执行中断返回指令的时间–中断处理时间•主要实时指标:中断延迟、调度延迟实时系统相关技术和衡量指标7实时Linux主要依据•高优先级的任务先行ALWAYS•所以原则就是:–Everythingshouldbepre-emptable–Nothingshouldkeephigherprioritythingsfromexecuting实时Linux概况•双内核方式–实现硬实时–实时内核+标准内核–RTLinux、RTAI和Xenomai等•在主流内核上通过patch增加其实时性–提高软实时内核性能–TimeSysLinux/RT–MontavistaLinux–IngoMolnar’sRTpatch提高Linux实时性能方法Linux硬实时RTLinux硬件实时内核(RT-LinuxorRTAI)实时任务1实时任务2实时任务3通用Linux内核Linux进程1Linux进程2用户层内核层Real-time任务不使用LINUXAPI或资源任何实时任务出问题将导致整个系统崩溃contd...RTLinuxcontd...XenomaiXenomai示意图Xenomaicontd...XenomaiSKIN示意图Xenomai编程contd...…#defineITER10staticRT_TASKt1;staticRT_TASKt2;intglobal=0;voidtaskOne(void*arg){inti;for(i=0;i