目前的RTOS大部分默认都是1ms,具体时间间隔可以根据用户需求自己修改。
如果时间间隔过长,很难保证实时性。
如果时间过短,系统大部分资源都会消耗到任务切换上,
所以选取一个比较合理的值才可以,1~10ms都是可以的。
一般默认都是1000HZ,1MS
RTTRTX,Freertos,UCos基本上都是1MS。
这个你可以根据自己的系统和应用,进行修改。
如果时间片时间很短,那么CPU的资源,系统的开销会占用比较大(CPU的大部分资源被体统任务调度给浪费了),同时任务的响应和实时性比较好。
如果时间片时间很短,CPU的资源,系统开销很小(任务调度只占用了CPU的一点点算力),但是任务的响应稍微就延时了些。
这个就是矛与盾的关系,根据CPU的型号和系统使用的环境,进行综合考虑
如果是RTOS,大多是1ms也有设置成10ms的,是可以通过修改RTOS的源码来修改时间的。
比如Freertos中,通过修改configTICK_RATE_HZ来修改,一般是1000,也就是1/1000,是1ms的了
实时系统的时间片根据具体的任务需求设计 大了会影响效率 小了会出bug
一般设置1ms到10ms之间 但是单片机频率高与100M以上的可以设置100us
RTT,UCOS默认是1ms的时间片,当然可以根据项目要求更改;太大会影响到实时性,太小又会失去太多性能,需要综合考虑
时间片的单位就是系统节拍(OS Tick),系统节拍是特定的周期性中断,一般是1~100ms。
系统时钟节拍率越快,系统的额外开销就越大。
目前实时系统,如ucos freertos,这个时间片都是默认1ms的,当然这个值可以改
实时系统一般运行在主频较低的单片机上面,如果时间片太短,那就会频繁进调度,影响系统性能,太长又不能发挥实时系统的优势
这个看看自己使用的 RTOS 配置文件, 看看 HZ 这个参数是多少。时间片就是 1/HZ s,
一般 HZ 是 1000,时间片就是 1ms,也有 100 的,时间片就是 10ms
RTOS的大多默认的是1ms,可以自己进行修改
Linux之类的,是10ms