03は基本を言う:CPUのコンテキストは、多くの場合、それが何を意味するのか言っスイッチ(A)

図1に示すように、マルチタスクCPU競争、CPU(コンテキスト・スイッチ)のスイッチングCPU形質タスク文脈。呼び出しをトリガーすることにより、ハードウェア信号のプロセス、スレッド、または原因の中断:CPUのタスクは、4つの方法があります。
タスク切り替えは、タスクの現在の状態を記録する2は、情報、タスクと関連のコンテンツである次の(ポインタ)のアドレスへのアクセスを必要とします。したがって、コンテキストが時点でCPUレジスタの内容(CPUレジスタ)とプログラムカウンタ(PC)を参照し、さらにメモリプロセスに広く仮想アドレスマッピング情報を含む。
図3に示すように、コンテキストスイッチ時:
(1)レコード現在のタスクをコンテキスト(すなわち、レジスタおよびすべての状態計算);
(2)新しいタスクのコンテキストを見つけてロードする;
(3)そのタスクを復元するために、新しいタスクプログラムカウンタ位置に切り替わります。
4.タスク、プロセスコンテキスト切り替え、スレッドコンテキストスイッチと、3つの割り込みコンテキストスイッチで上記各スイッチの実施の形態。
図5は、プロセスおよびスレッドの違いは:
プロセスは、リソース割り当ておよび実行の基本単位であり、スレッドはタスクのスケジューリング及び実行の基本単位です。スレッドは仮想メモリ、スタック、変数や他の共有リソースを処理するためのポインタを提供するためのリソースを持っていない、とのスレッドがリソースのプロセスを共有することができます。
図6に示すように、プロセス・コンテキスト・スイッチ:別のプロセスからスイッチング手段。
(1)状態を実行中のプロセスおよび状態は、カーネルプロセスが実行可能な実行されています。カーネル空間モードリソースは、カーネルスタック、レジスタなどを備え、ユーザ空間-リソースは、仮想メモリ、スタック、変数、文字、データを含む、等
(2)カーネルモードでシステムコール(ソフトウェア割り込み)が完了され、スイッチング二次CPUコンテキストのために必要(ユーザ空間- >カーネル空間- >ユーザー空間)、ユーザーは、状態のリソースを必要としない、またプロセスを切り替えるん。
(3)スケジュールおよびカーネルによって管理されているプロセスは、プロセススイッチングは、カーネルモードで起こり得ます。したがって、プロセスのコンテキストは、カーネル空間のリソースを含むリソースユーザ空間、だけでなく、。
コンテキスト(4)ハンドオーバ処理のプロセス:
(a)は、プロセスを停止するスイッチング信号を受信し、記録電流のプロセスの仮想メモリ、およびスタックに格納されている他のリソース;
(B)その中に格納されたCPUコンテキストのプロセスの状態;
(C)と、メモリ内の次を検索プロセスのコンテキスト;
(D)とCPU回復のレジスタにロードされた
ユーザ・プロセス・スタックを更新するようにしても(3)仮想メモリと;
(F)(すなわち、へジャンププログラムカウンタによって指し示さ最後の位置にジャンププロセスが中断されたコード)の行は、プロセスを復元します。
(5)、以下の処理は、コンテキストスイッチのシナリオトリガする:
スケジューリングポリシーに従って、(A)を、ダイシングタイムスライスが排出される時間に対応するCPUタイムスライスで、現在のプロセスが中断されなければなりません。
(b)は、ハングを処理するために十分なリソースを取得する前に、リソースの不足、。
(C)、プロセスはスリーププロセスをハング。
(D)は、優先度の高い処理が中断の現在進行させる
、(E)、ハードウェア割り込みを掛けるために、現在のプロセスを引き起こす
7、切替スレッドコンテキスト:
(1)、処理プロセスを切り替えるスレッドコンテキスト間の障壁、及びプロセスコンテキストスイッチほぼ同じ。
(2)、プロセスコンテキストスイッチ内のスレッドへ。ユーザーリソースは、プロセスを切り替えることなく、唯一のスレッドプライベートデータとレジスタを切り替える必要があります。このプロセスは、マルチスレッド、マルチプロセスの利点に比べて消費リソースを切り替えるプロセスコンテキストよりも小さいので、あろう。
図8に示すように、割り込みコンテキストスイッチ
ハードウェアに入射迅速な応答は、処理を中断します通常のスケジューリングおよび実行プロセスを中断する。同じCPU、プロセスよりも高い優先度の割り込みのハードウェア。プロセスの切り替えは、ユーザの実行状態のリソースを含まないシステムコールに似ています。しかし、同じ割り込みコンテキストスイッチの多くは、パフォーマンス上の問題を引き起こす可能性があります。

おすすめ

転載: www.cnblogs.com/xiaobao2/p/11592315.html