入出力管理 オペレーティングシステム 6/26/09 入出力装置の分類(1) ブロックデバイス キャラクタデバイス,ストリームデバイス 入出力装置の分類(2) ブロックデバイス ディスク ブロック単位に入出力 固定長データが多い 例えば,512バイト単位 入出力装置の分類(3) キャラクタデバイス,ストリームデバイス 端末(ディスプレイ,キーボード) 文字単位に入出力 任意長のストリーム 入出力管理の目的(1) 多種多様な入出力装置 装置ごとに,制御するプログラムが異なる 装置を変更すると,利用者のプログラムも変更 無理! 入出力管理の目的(2) 制御プログラムの作成のためには 装置の詳細な情報が必要 一般の利用者に要求することは無理 入出力管理の目的(3) 利用者のプログラムからは,同じような手順で利 用できるようにする 統一された操作モデル 入出力装置の詳細を隠す(抽象化) 入出力管理の目的(4) 入出力操作を容易にするプログラム IOCS(Input Output Control System) オペレーティングシステムの第一歩 ディスク装置について(1) 円形の記録媒体 同心円がたくさんある トラック “一定の大きさ”に区 切られる セクター ディスク装置について(2) 各セクタにデータが記 録される データの読み書き どのトラックのどの セクタかを指定 ディスク装置について(3) 磁気ヘッド データを読み書き ヘッドの位置決め 指定されたトラック に移動(シーク) 指定されたセクタ ーが回転して来る のを待つ ディスク装置について(4) ディスクは両面 どちらの面かを指定 ディスクが複数あるものもある 最近は,外側のトラックの方がセクタの数が多い セクターの指定が難しい ディスク装置について(4) 以上のことを理解していないとプログラムを書くこ とができない 物理的に移動する部分があるので,そのタイ ミングが問題になる 面倒な部分をOSが肩代わり 詳細な点を理解しなくてもプログラムを作るこ とができる 入出力装置の抽象化 デバイス ドライバ デバイスドライバ(1) 入出力装置を制御する機器 CPUが入っている つまり,コンピュータ プログラムが必要 デバイスドライバと呼ぶ デバイスドライバ(2) 入出力装置を制御するプログラム 入出力装置ごとに異なる 入出力装置の追加 対応するデバイスドライバをオペレーティング システムに追加 利用者プログラムの変更の必要はない デバイスドライバ(3) 入出力装置の製造者が用意 デバイスドライバ(4) 入出力の効率化を図る 例 ディスク装置へのアクセス ヘッドのシーク時間を最小化するような 順序に,アクセスの順序を変更 入出力の効率化 入出力の効率化(1) 入出力装置の動作は,CPUよりも遅い いろいろな工夫 入力の場合,その時点で 入出力の効率化(2) 必要入力データだけでなく, ブロッキング 将来必要になるかも知れな いデータも読み込む (先読み) 大量の小さなデータは,まとめて大きなデータと して入出力を行う 例 磁気テープ装置 テープの速度が一定になるまで待つ テープ自体(メディア)の効率的利用 入出力の効率化(3) バッファリング このような働きをするも のをバッファと呼ぶ 割込み参照 利用者のプログラムの出力データ メモリに書き込む 別のプログラムが,メモリから出力装置に送る 入力データ 必要になるより前に,メモリに読み込む 入出力の効率化(4) バッファリング 一般に,速度が異なるものの間でのデータ交換 の効率化 入出力の効率化(5) キャッシング プログラムがディスクからデータを読み込む メモリにも格納 再度,そのデータを読み込む ディスクから読み込まず,メモリのデータ HDD メモリにも コピー プログラム 入出力の効率化(6) キャッシング プログラムがディスクにデータを書き込む メモリにも格納 そのデータを読み込む必要 ディスクから読み込まず,メモリのデータ いずれの場合も,実際の入力を行わないので時 間短縮 入出力の効率化(7) キャッシング 本来は,CPU内の高速メモリと主記憶の間で用 いられていたことに対する用語 入出力の効率化(8) ファイルへの書き込 みが終了すれば, 出力も終了 (場合により,プログ ラムは終了) スプーリング 本来はバッチ(一括)処理 遅い入出力装置の 制御をスプーラに任せる 出力データは装置に送るのではなく,ファイルと して書き出す スプーラと呼ばれる独立したプログラムが,それ を装置に送る 入力データもあらかじめ読み込み,ファイルとし ておく 入出力装置の制御 入出力装置の制御 動作の起動指示 データ転送 入力データは,入力装置からメモリへ 出力データは,メモリから出力装置へ といったことをどのように行うのか? CPUが直接制御 割込みの2回目 プリンタの例の割込みを用いないもの 最大のネックは,入出力装置の動作が終了する まで,無駄な繰返しを行う CPUの使用効率が悪い 割込み 割込みの2回目 プリンタの例の割込みを用いるもの 入出力装置の動作終了を割込みにより検出 動作中にCPUは別の処理ができる ただし,データ転送はCPU DMA Direct Memory Access CPUは,動作開始を入出力装置の制御装置に 指示 データ転送は,制御装置が行う チャネル 大型機 入出力装置用コンピュータ(みたいなもの) これに操作を任せる 接続規格 パソコンの入出力装置の接続方法 IDE 最大4台の内蔵ディスクを接続 CD ROMなども可能 以前からある規格 共通仕様 ATA(AT Attachment interface) 拡張仕様 Serial ATA(高速化) SCSI “スカジー”と読む 汎用接続規格 最大8台までの機器をディジーチェーンで接続 実際は7台 接続ケーブルの末端にターミネータをつける USB 汎用接続規格 パソコンではもっとも使われている 最大127台まで 電源を入れたままで接続・切離し可 ホットプラグ 低速・中速機器向け USB2.0で高速機器をサポート IEEE 1394 (1) IEEEは“アイ トリプル イー”と読む FireWire (アップル) i.LINK (ソニー) IEEE 1394 (2) デジタル機器同士だけで接続可 パソコン不要 デジタルビデオカメラDV端子 最大63台 ホットプラグ IEEE いろいろな規格を定めている IEEE802.11a/b/g 無線LAN セントロニクスインターフェイス プリンタで利用される(されていた) 出力データだけでない
© Copyright 2024 ExpyDoc