オペレーティング システムの原則 第 13 章 I/O システム

学部生向けのオペレーティング システムの原則 学習記録
学習記録 ファミリー バケット

13.1 基本的な I/O の概念

13.1.1 I/O システムの基本概要

I/O システムの核となるのは、I/O の制御と管理です。

コンピュータには 2 つの主なタスクがあります。

  • I/O 操作 - より頻繁に
  • 計算する

I/O デバイスの機能:

  • バラエティに富み、常に新しいデバイスが登場
  • インターフェイスの標準化:USBなど

13.1.2 I/O システムの基本機能

  1. 物理デバイスの詳細を非表示にする
  2. デバイスに依存しない
  3. プロセッサと I/O デバイスの使用率を向上させる
  4. 制御 I/O デバイス
  5. デバイスの適切な共有を確保する
  6. エラー処理

デバイスの独立性:

オペレーティングシステムの適応性とスケーラビリティを向上させるため

  • デバイスの独立性(デバイスの独立性とも呼ばれる) は、最新のオペレーティング システムで達成されます。

  • アプリケーションは、使用される特定の物理デバイスに依存しません

実装

  • 論理デバイスと物理デバイスの導入

  • アプリケーションで論理デバイス名を使用して、特定のタイプのデバイスの使用を要求します

  • システムは、実際の実行時に物理デバイス名を使用します

  • システムには、論理デバイス名を物理デバイス名に変換する機能が必要です

I/O アプリケーション インターフェイス

  • I/O システム コールは、デバイスの動作をいくつかのジェネリック型にカプセル化します。
  • デバイス ドライバー レイヤーは、I/O コントローラーのさまざまな詳細をカーネルから隠します。
  • デバイスはさまざまな点で大きく異なります

13.1.3 I/O ハードウェア制御

デバイスの制御方法 (デバイス アドレスによる):

  • ダイレクトI/O命令:IN AL、60H
  • メモリ マップド I/O: デバイス アドレスとメモリ アドレスが同時にアドレス指定されます。

I/O レジスタ:

  • ステータスレジスタ
  • 制御レジスタ

13.1.4 I/O デバイスの種類

使用特性による分類:

  • ストレージ デバイス、I/O デバイス

転送速度による分類

  • 低速デバイス: キーボード、マウス、音声入力
  • 中速機:ラインマトリックスプリンター、レーザープリンター
  • 高速デバイス: テープ ドライブ、磁気ディスク、光ディスク

情報交換単位による分類

  • ブロックデバイス、キャラクターデバイス

デバイスの共通属性による分類

  • 共用設備、専用設備

13.2 I/O デバイスの制御方法

ポーリングによるI/Oプログラマブル方式:現在は基本的に使われていない

割り込みを使用したプログラマブル I/O モード: CPU と I/O デバイスは並行して動作可能

ダイレクト メモリ アクセス DMA モード: CPU と I/O デバイスの並列動作の度合いがさらに向上します。

I/O チャネル制御モード

メイン周波数: 3.0GHz

割り込みメカニズム

CPU ハードウェアに割り込み要求ライン IRL があります。

基本的な割り込み動作メカニズム

  • CPU が各命令を実行した後、IRL を確認します。
  • 信号が検出されると、CPU は現在の状態を保存し、割り込みハンドラにジャンプします。
  • 割り込みハンドラを実行する
  • 実行後、割り込みをクリアしてリターン

割り込みハンドラ

① 無応答割り込み信号の有無を検出

②割り込まれたプロセスのCPU環境を守る

③対応機器処理プログラムへの移行

④割り込み処理

⑤CPUのシーンを戻し、割り込みを抜ける

DMA ダイレクト メモリ アクセス

プログラム制御の I/O を使用して大量のデータを転送しないようにするには、

  • DMA コントローラ

  • CPU をバイパスして、I/O デバイスとメモリの間で直接データを転送する

13.3 I/Oカーネルサブシステム

I/O 関連のサービスを提供し、ハードウェアとデバイス ドライバーの構造に基づいて構築され、誤ったプロセスや悪意のあるユーザーから自身を保護する役割も担います

13.3.1 I/Oスケジューリング

一部の I/O 要求は、デバイス キューに従って並べ替えられます

したがって、先着順アルゴリズムに似た使用法があります。

13.3.2 バッファリング

最新のオペレーティング システムでは、データを交換する CPU と I/O デバイスの間にバッファがあります。

バッファは、特殊なハードウェアで構成できるストレージ領域であり、メモリのようなものです

バッファリングを導入する理由:

  • I/O デバイスと高速デバイスの速度差を緩和
  • 調整されたデータ転送のデータ サイズの不一致
  • 「コピーセマンティクス」を維持する

CPU と I/O デバイス間にバッファリングを導入する理由:

  • CPU と I/O デバイス間の速度のミスマッチを緩和
  • CPUの割り込み頻度を下げ、割り込み応答時間の制限を緩和
  • CPU と I/O デバイス間の並列処理の増加

13.3.3 キャッシュ

キャッシュ - データのコピーを保持する高速メモリ

  • ただのコピー
  • 重要なのはパフォーマンス

バッファリングとの違い:

  • バッファはデータの唯一のコピーである可能性があります
  • キャッシュは、高速ストレージ デバイス上の別の場所にあるデータのコピーです。

13.3.4 スプーリング

CPUの高速化とI/O機器の低速化の矛盾を緩和するため、オフライン入力・オフライン出力技術を導入。

  • このプログラムは、オフライン入力をシミュレートし、低速 I/O デバイスから高速ディスクにデータを転送します。

  • 別のプログラムがオフライン出力をシミュレートし、データをディスクから低速出力デバイスに転送します

このとき、CPUによる周辺動作とデータ処理が同時に行われますが、オンライン状態で実現されるこの周辺動作の同時実行をスプーリング技術SPOOLingと呼びます。

SPOOLing システムのコンポーネント

[外部リンクの画像転送に失敗しました。ソース サイトにはリーチング防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-kcctnfsD-1641542739783) (E:\Documents and PPT\Junior Course Study\Operating System \Pictures\Tenth Chapter Three\SPOOLing System Composition.png)]

スプーリングシステムの特長

  • I/O デバイスの高速化
  • 排他デバイスを共有デバイスに変更する
  • 仮想デバイスの機能を実現

おすすめ

転載: blog.csdn.net/weixin_45788387/article/details/122366724