OSEventCnt=1
task到kernel中執行完此event再回到user mode下繼續執行
前提: task 2已經進入critical section, OSEventCnt=0,
因為OSEventCnt=0, 讓task 1進入waiting狀態 並觸發sched() 把控制權交給task 2
等待task 2執行完, 呼叫sched() 讓task 1繼續執行
前提: task 2已經進入critical section 且沒有動作, OSEventCnt=0,
因為OSEventCnt=0, 所以task 1進入waiting狀態,
又因為task 2一直沒有動作, 所以最後task 1被timer叫醒
回到user mode
沒有留言:
張貼留言