×
嵌入式开发 > 详情

Linux调度的实时性

发布时间:2020-06-30 发布时间:
|

由于Linux本身是一个面向桌面系统的操作系统,因此将它应用于实时系统中会存在如下一些问题:

Linux系统中的系统时钟周期为10 ms,对于实时系统来说,这个周期比较长,所以它不能提供精确的定时,满足不了实时系统精确定时的要求。

●对于Linux 2.4版本的操作系统,当一个进程因调用系统调用而进人内核态运行后,它在某些情况下属于有条件剥夺型内核,从雨使得调度延时不可预测,所以它不能满足硬实时的要求。

●由于使用虚拟内存技术,当发生页出错时,需要从硬盘中读取交换数据,但硬盘读/写因存储位置的随机性会导致随机的读/写时间,这在某些情况下会影响一些实时任务 的截止期限。

●在2.4版的内核里,查找最佳候选就绪进程的过程是在调度器调用函数schedule()时来进行的,每一次调度都要在for()循环中遍历就绪进程并调用函数goodness(),所以 这种查找过程与当前就绪进程的个数相关。因此,查找所耗费的时间是当前就绪进程个数有关的,这与实时系统的要求相违背。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Recogni:将高端AI芯片推向自动驾驶边缘