スケジューラ資源

スケジューラはシステムコール処理と並行して動作が可能なように、独自の排他を行っている。(カーネルロックの範囲外)これにより、一方のCPUでシステムコール実行中であっても、他のCPUではそれとは無関係にプロセススケジューリング処理を行うことが可能である。

システムコール処理中からスケジューラが呼び出されるとまずカーネルのロックを解除を行い、その後でスケジューラ資源のロックを行っている。これは、プロセスがCPUを放棄して待ちに入っている間は、別のプロセスがカーネルロックを行うことを可能であることを意味している。

元のプロセスが起床し再スケジューリングされると、スケジューラ内で再びこのプロセスに対しカーネルロックを行なった後に、処理の続きを開始する。もしこの時、他のCPU上でカーネルをロックしているプロセスがいれば、ここでスピンロックして待つことになる。


(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1