Show page source of internal24-296-スケジューラ資源 #25158

[[PageNavi(internal24-navi)]]

{{{ comment
h2w-title:スケジューラ資源
}}}
 

= スケジューラ資源 = #SECTION07530000000000000000

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

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

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

----

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

[[PageNavi(internal24-navi)]]