シングルプロセス実行出力の割り込みタイムライン

シングルプロセス実行出力の割り込みタイムライン

私は「オペレーティングシステムの概念」の第9版の本を勉強しています。 1.2.1章コンピュータシステムの動作の一部、図1.3を理解できない: シングルプロセス実行出力の割り込みタイムライン

誰でもこれを簡単に説明できますか?特にこのグラフの頂点については?

答え1

I / Oデバイス(コントローラ)がデバイスバッファからデバイスにデータを転送しています。アイドル状態から転送状態に変わります。これはピークI / Oデバイスです。転送が完了すると、次の要求までアイドル状態に戻ります。

割り込みを介してデバイスからCPUに通知を送信したため、転送が完了すると、CPU曲線にスパイクが表示されます。

答え2

段階的に何が起こるのか見てみましょう。

手順を実行する前の注意:CPUは別のユーザープロセスを実行しています。 I/O デバイスがデータを転送中またはアイドル状態です。オペレーティングシステムの概念 (Operating System Concepts) 本の割り込みの仕組み (How Interrupts Work)

CPU が停止したら、実行中のタスクを停止し、すぐに固定位置に実行を転送します。固定位置には、通常、割り込みサービスルーチンが配置された開始アドレスが含まれます。割り込みサービスルーチンが実行されると、CPUは中断された計算を再開します。

ステップ1:I/O デバイスは I/O 要求を受け取ります。 (I/O デバイスは最初はアイドル状態です。)

ステップ2:I / Oデバイスはデータ転送を開始し、転送状態に変わります。

ステップ3:I / Oデバイスはデータ転送ジョブを完了し、アイドル状態に入ります。また、割り込みを発生します。

ステップ4:CPU は割り込みを受け取り、割り込みサービスルーチンの実行を開始します。これは実行の変更に反映されます。

ステップ5:CPU は前の実行を継続します。

図の後半も同じ手順に従います。

I / Oデバイスの「状態」という用語は、明確にするためにのみ使用されます。お役に立てば幸いです。

答え3

このグラフは、時間の経過とともにCPU状態と[デバイス]出力状態の関係を明確に示しています。

CPU 時間の急増は、CPU が同期書き込みを行っているのか、非同期書き込みを行っているのかに応じて、CPU がジョブを実行したりスリープ状態になったりする場合です。

CPU時間の谷は、割り込みによってデバイスが次のラウンドのバッファ設定を続行するように完了したことをCPUに通知する場合です。

デバイスのピークは、デバイスがアイドル状態で出力を待機してI / O要求を待つときです。通常、書き込みはDMAを介して行われます。 (直接メモリアクセス)

関連情報