LinuxでのBlock

  
Blockingの概念。プロセスがブロックされたシステム関数を呼び出すと、そのプロセスは、プロセス待機中のイベントが発生するまで他のプロセスが実行されるようにスケジュールされている(ネットワークでパケットを受信する、またはそれは眠る時間です)それは走り続けることは可能です。スリープ状態とは対照的に、実行状態はLinuxカーネルにあり、実行プロセスは2つのケースに分けられます:
- 実行がスケジュールされています。 CPUはプロセスのコンテキスト内にあり、プログラムカウンタ(eip)はプロセスの命令アドレスを格納し、汎用レジスタはプロセスのプロセスの中間結果、プロセスを実行している命令、およびプロセスのアドレスが読み書きされています。スペース
¨準備完了状態。プロセスは何が起こるかを待つ必要はなく、いつでも実行することができますが、CPUはまだ別のプロセスを実行しているため、プロセスはレディキュー内でカーネルによってスケジュールされるのを待ちます。システムには複数の実行可能プロセスが同時に存在する可能性があるため、誰が実行を予定していますか?カーネルのスケジューリングアルゴリズムは優先順位とタイムスライスに基づいており、各プロセスの実行状況に応じて優先順位とタイムスライスを動的に調整するので、各プロセスは公平に実行する機会を得られ、同時にユーザーエクスペリエンスを考慮に入れることができます。ユーザーと対話するプロセスを遅くすることはできません。
zh-CN"],null,[1],zh-TW"]]]
Copyright © Windowsの知識 All Rights Reserved