位置:51电子网 » 技术资料 » 嵌入式系统

实时操作系统的进程调度的延时可预测并尽可能小

发布时间:2009/1/17 0:00:00 访问次数:596

  既然是多任务系统,那么就必然有任务之间的切换。当然,负责这项工作的调度器在进行进程切换时需要一段执行时间,这段执行时间的长短也是影响系统实时性的一个重要因素。

  因此,作为实时操作系统的调度器,它在执行调度和任务切换时所需的运行时间必须是可预知的,即调度器所用的时间不能受其他因素(例如任务数目)的影响。也就是说,不能因为系统中需要调度的进程多了,调度时间就长了一些;需要调度的进程少了,调度时间就短了一些。因为,这样会使应用程序的设计者在设计时无法计算出系统完成某一个任务所需的准确时间。

  一般来说,调度的延时以及调度时间是否可预测主要取决于调度算法。调度算法越复杂,调度延时也就越长,所以实时操作系统调度算法的设计和选用是需要精心设计和精心组织的。

  实际上,在任何操作系统中都有一个所谓的“不可剥夺窗口”,即在内核的某些运行时间段里是不允许进行调度的。由于进程调度是靠中断技术实现的,因此在内核的不适合或不能使用中断技术期间都是不能进行调度的,这就相当于正在运行进程的处理器使用权是不可剥夺的。例如,在系统正在进行进程调度期间、系统正在中断响应和处理期间,应用程序及操作系 统正在运行临界段代码期间、正在进行dma期间,这些时间段就是所谓的“不可剥夺窗口”, 因此在设计实时操作系统时,应想办法把这些“不可剥夺窗口”减小到在最坏情况下可以忍受的程度。一般来说,采用微内核的操作系统由于体积比较小,所以它的“不可剥夺窗口”要比采用宏内核的操作系统的“不可剥夺窗口”要小。因此,现在很多实时操作系统都采用微内核结构。

  其实,内核在“不可剥夺窗口”期间,不可能发生调度,也就谈不到剥夺性的问题,但从它确实延迟了紧急进程的执行这个角度来看,这个“不可剥夺窗口”相当于是一个调度延时。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)



  既然是多任务系统,那么就必然有任务之间的切换。当然,负责这项工作的调度器在进行进程切换时需要一段执行时间,这段执行时间的长短也是影响系统实时性的一个重要因素。

  因此,作为实时操作系统的调度器,它在执行调度和任务切换时所需的运行时间必须是可预知的,即调度器所用的时间不能受其他因素(例如任务数目)的影响。也就是说,不能因为系统中需要调度的进程多了,调度时间就长了一些;需要调度的进程少了,调度时间就短了一些。因为,这样会使应用程序的设计者在设计时无法计算出系统完成某一个任务所需的准确时间。

  一般来说,调度的延时以及调度时间是否可预测主要取决于调度算法。调度算法越复杂,调度延时也就越长,所以实时操作系统调度算法的设计和选用是需要精心设计和精心组织的。

  实际上,在任何操作系统中都有一个所谓的“不可剥夺窗口”,即在内核的某些运行时间段里是不允许进行调度的。由于进程调度是靠中断技术实现的,因此在内核的不适合或不能使用中断技术期间都是不能进行调度的,这就相当于正在运行进程的处理器使用权是不可剥夺的。例如,在系统正在进行进程调度期间、系统正在中断响应和处理期间,应用程序及操作系 统正在运行临界段代码期间、正在进行dma期间,这些时间段就是所谓的“不可剥夺窗口”, 因此在设计实时操作系统时,应想办法把这些“不可剥夺窗口”减小到在最坏情况下可以忍受的程度。一般来说,采用微内核的操作系统由于体积比较小,所以它的“不可剥夺窗口”要比采用宏内核的操作系统的“不可剥夺窗口”要小。因此,现在很多实时操作系统都采用微内核结构。

  其实,内核在“不可剥夺窗口”期间,不可能发生调度,也就谈不到剥夺性的问题,但从它确实延迟了紧急进程的执行这个角度来看,这个“不可剥夺窗口”相当于是一个调度延时。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!