Chinaunix
标题:
請問 Linux thread Scheduling time
[打印本页]
作者:
justin_wang0710
时间:
2015-01-05 09:36
标题:
請問 Linux thread Scheduling time
本帖最后由 justin_wang0710 于 2015-01-05 09:40 编辑
假設有一個 Application,裡面共有8個thread (No Priority)
每個Thread工作內容僅是打個GPIO H/L 一次,打完立即睡眠
void *test_Thread_1(int fg)
{
while(1)
{
led_setting(1);
led_setting0);
usleep(SLEEP_TIME); //100us
}
}
Time-Sliced約如下圖
1.請問每個Thread 大約多少時間會被調度到??
2.Process1 執行約多少時間會調度到Process2?? Process2會執行多久才又會調度回Process1??
謝謝高手指教...
P/S: CPU為 Cortex A8 1GHz ARM,Linux Kernel 3.2
CONFIG_HZ =100
00.png
(3.32 KB, 下载次数: 47)
下载附件
2015-01-05 09:29 上传
作者:
humjb_1983
时间:
2015-01-05 17:19
这个不太好确定具体的时间了,影响的因素看似有点多,比如调度算法、CPU主频(决定每条指令执行的时间)、软中断的延迟、还有时钟中断的影响。
个人觉得,不考虑这些的话,大致粗算的平均时间(假设led_setting(1) 和led_setting(0)对应的指令执行时间为x):
100us+7*x ?
总的来说Linux是无法保证实时的~
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2