3

スケジューラロジックをバイパスして、別のスレッドへの即時コンテキストスイッチを実行するようにカーネルにアドバイスすることは可能ですか?

たとえば、でスレッド/プロセスを作成したばかりで、すぐcloneに実行を開始したい場合は、カーネルが次にスケジュールを変更するのを待つのではなく、現在のコンテキストをすぐに放棄します。

thread_switch理想的には、Machカーネルでの呼び出しと同じものを探しています。

4

1 に答える 1

1

カーネルはおそらくいつそれを行うかよりもはるかによく知っているので、コンテキストスイッチを制御しようとしてはいけません。特に、コンテキストスイッチはコストのかかる操作と見なされるため(主にキャッシュの無効化のため)。

ただし、本当にスケジューラサイクルを強制する必要がある場合はsched_yield()システムコールを使用できます。

于 2012-04-28T11:19:42.437 に答える