2

私はオペレーティングシステムの概念に慣れていません。PCB にはレジスタに関する情報が含まれていると読みました..それは、「特定の時点でのすべてのレジスタの内容を含む」または「特定のプロセスに属するレジスタのみを含む」という意味ですか? 2 番目のケースの場合、OS がどのレジスタがどのプロセスに属しているかを追跡する方法を教えてください。

ありがとう

4

1 に答える 1

5

レジスタはアーキテクチャに固有のものです。これは x86 アーキテクチャのレジスタの説明です

http://en.wikipedia.org/wiki/X86_architecture#x86_registers .

CPU アーキテクチャ仕様では、各レジスタとその目的が定義されています。これらのガイドラインは、OS 開発者が OS を設計および開発する際に従うべきものです。プロセス的に重要なレジスタは、SP(スタック ポインタ)、BP(ベース ポインタ)、IP(命令ポインタ)です。制御レジスタ (cr0-cr8) は、計算のプロセスでも使用されます。割り込み記述子テーブルを指すために OS によって使用される IDTR のようなオペレーティング システムによって使用されるレジスタがあります。IDT は、割り込みが発生したときに適切な関数を呼び出すために使用されます。

PCB のレジスタについて話すとき、それはデータ構造です。プロセスが実行中で、そのタイム スライスが期限切れになると、プロセス固有のレジスタの現在の値が PCB に格納され、プロセスがスワップ アウトされます。プロセスの実行がスケジュールされると、レジスタ値が PCB から読み取られ、CPU レジスタに書き込まれます。これが PCB のレジスタの主な目的です。

于 2012-10-02T00:00:33.060 に答える