linux是非实时操作系统,虽然支持RT调度策略,但是并非是硬实时系统。
linux非实时性主要表现在下面几个方面:
1. 虚拟内存管理,导致实际物理内存分配的滞后性;
2.调度策略问题,实时调度策略不能立即抢占,一般要在中断返回,系统调用返回用户空间时
通过检查need_resched标记,进行重新调度,或者进程主动放弃cpu时,调用schedule,抢占性不强。
3.关中断处理,系统调用中长时间关中断,导致高优先级中断无法及时处理
4.定时机制,时钟粒度较大,一般为1/HZ =10ms,带来延迟较大
linux非实时性主要表现在下面几个方面:
1. 虚拟内存管理,导致实际物理内存分配的滞后性;
2.调度策略问题,实时调度策略不能立即抢占,一般要在中断返回,系统调用返回用户空间时
通过检查need_resched标记,进行重新调度,或者进程主动放弃cpu时,调用schedule,抢占性不强。
3.关中断处理,系统调用中长时间关中断,导致高优先级中断无法及时处理
4.定时机制,时钟粒度较大,一般为1/HZ =10ms,带来延迟较大