嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 硬实时和软实时

硬实时和软实时

      硬实时和软实时的区别就是一个命令从准备执行到实际执行的时间长度的区别。比如要点亮一个LED灯。运行到这个指令的时候有些其他的中断产生,到执行这个命令的时候就产生了一些延迟,有的程序延迟10ms,有的延迟1ms,有的10us。如果需求是最多2ms内必须执行,那10ms的是软实时,1ms和10us的是硬实时。如果需求是最多20us内必须执行,那10ms和1ms的是软实时,10us的是硬实时。所以软硬实时得看具体需求。

      操作系统有的说是软实时,有的说是硬实时。是互相相对着说的,linux很多定义为软实时,freertos和RTX之类的rtos被定义为硬实时。因为这俩相比一般linux的实时延迟要大一点。rt-linux的实时延迟可以到几百us,如果需求是不超过毫秒级的话,那rt-linux对这个需求也是硬实时。

     延迟是由于系统内核的一些处理,包括优先级抢占,中断屏蔽之类的引起的。linux的内核相对比较复杂,因此执行的操作较多,延迟自然就大了。既然有优先级抢占之类的存在,那要满足硬实时需求就还有很大一部分要取决于程序的编写(不止取决与系统),程序(驱动和应用程序)的编写同样重要。