keep semaphore flag on if waiting task goes in runq skip scheduling if waitq empty
keep semaphore flag on if waiting task goes in runq
skip scheduling if waitq empty

dim13/dimos,dim13/dimos,dim13/dimos