3

同人誌は言う

アイドル状態の CPU で定期的に割り込みを有効にする理由は、プロセス (シェルなど) が I/O を待機しているため、RUNNABLE プロセスがない可能性があるためです。スケジューラが常に割り込みを無効のままにすると、I/O が到着しなくなります。

しかし、ptable.lock を解放するたびに割り込みが再び有効になるため、外側の for ループの前に sti() を 1 回呼び出すだけでよいと思います。

4

2 に答える 2

1

割り込みが無効な状態で が呼び出される可能性がschedule()あります。その場合、ptable スピンロックを解放してもそれらは再び有効になりません。

于 2015-05-07T15:10:10.003 に答える