オペレーティング システム関連の質問がわかりません。ここで質問できますか
しかし、このフォーラムで適切な説明が得られると思いました
プロセスがユーザーコンテキストで実行されると...カーネルコンテキストで優先度の高いプロセスが常にユーザーコンテキストでプロセスをブロックすることはありません...
私にはぼんやりしています...コンセプト
……
オペレーティング システム関連の質問がわかりません。ここで質問できますか
しかし、このフォーラムで適切な説明が得られると思いました
プロセスがユーザーコンテキストで実行されると...カーネルコンテキストで優先度の高いプロセスが常にユーザーコンテキストでプロセスをブロックすることはありません...
私にはぼんやりしています...コンセプト
……
オペレーティング システムには、主にプリエンプティブ スケジューラと非プリエンプティブ スケジューラの 2 種類のスケジューラがあります。
非プリエンプティブ スケジューラはあなたが思うように動作します。より高い権限と優先度を持つプロセスは、終了するまで、またはブロックされるまで CPU を使用し続けます (たとえば、ミューテックス上で、またはスケジュールのために明示的に CPU を解放する yield の呼び出しで)もう一つ。)
しかし、非プリエンプティブ スケジューラはまれであり、Linux スケジューラはそのようなものではありません。タイム スライスを使用して、プロセスをスケジュール解除する前に短時間動作させます。これには優先度も含まれますが、優先度の低いプロセスのスケジュールを維持します。この Linux スケジューラの記事を参照してください。
この Stackoverflow の投稿には、カーネル モードがどのように機能するかの概要と、いくつかの専門用語の説明を含むディスカッションがあります。特に、「カーネル モードとユーザー モードの概要」というタイトルのセクションを見てください。あなたの質問に光を当てるのに役立つかもしれません。
カーネル モードのプロセスは、クォンタムに到達するとプリエンプトされる可能性があります。
ウィキペディア:プリエンプション