(sはいくつかの値に初期化されている) if(s==0){ 自プロセスを待ちリストに入れる } // put current process to waiting list else s = s-1;
if(待ちリストあり) 待ちプロセスのひとつを実行可能にする // if(waiting) make one process running else s = s+1