入 出 力 管 理

49
入 入 入 入 入 入入入入入入入入入入入入 10

Upload: seda

Post on 09-Jan-2016

24 views

Category:

Documents


1 download

DESCRIPTION

入 出 力 管 理. オペレーティングシステム 第10回. 入出力装置の分類(1). ブロックデバイス キャラクタデバイス(ストリームデバイス). 入出力装置の分類(2). ブロックデバイス HDD など “ブロック”という単位で入出力 ブロックの大きさは,固定であることが多い 例えば, 512 バイト(単位で入出力) 1 バイトだけ,ということができない. 入出力装置の分類(3). キャラクタデバイス(ストリームデバイス) 端末(ディスプレイ,キーボード)など 文字単位に入出力 任意長. 入出力管理の目的(1 ). 多種多様な入出力装置がある - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 入 出 力 管 理

入 出 力 管 理

オペレーティングシステム第10回

Page 2: 入 出 力 管 理

入出力装置の分類(1) ブロックデバイス

キャラクタデバイス(ストリームデバイス)

Page 3: 入 出 力 管 理

入出力装置の分類(2) ブロックデバイス

HDD など

“ ブロック”という単位で入出力 ブロックの大きさは,固定であること

が多い 例えば, 512 バイト(単位で入出

力) 1 バイトだけ,ということができない

Page 4: 入 出 力 管 理

入出力装置の分類(3) キャラクタデバイス(ストリームデバイス)

端末(ディスプレイ,キーボード)など

文字単位に入出力 任意長

Page 5: 入 出 力 管 理

入出力管理の目的(1 ) 多種多様な入出力装置がある

制御するプログラムは,装置ごとに異なる

装置を変更すると,それを利用するプログラムも変更 誰が ⇒ プログラムを作った人 無理!

Page 6: 入 出 力 管 理

入出力管理の目的(2 ) 制御プログラムの作成のためには

装置の詳細な情報が必要 それを理解する

すべてのプログラム作成者に要求することは無理

Page 7: 入 出 力 管 理

入出力管理の目的(3 )

Page 8: 入 出 力 管 理

入出力管理の目的(4) “ 統一された操作モデル”の提供

入出力装置の詳細を隠す(抽象化) 利用者のプログラムからは,同じような手

順で利用できるようにする

Page 9: 入 出 力 管 理

入出力管理の目的(5)

デバイスドライバ(後述)

Page 10: 入 出 力 管 理

入出力管理の目的(6) 入出力操作を容易にするプログラム

IOCS ( Input Output Control System )

オペレーティングシステムの第一歩

Page 11: 入 出 力 管 理

ディスク装置について(1) 制御プログラム作成が困難なことを, HDD

を例にして説明

HDD の内部 http://gigazine.jp/img/2009/08/10/larg

est_hdd/520315_80448256.jpg

Page 12: 入 出 力 管 理

ディスク装置について(2) 円形の記録媒体

同心円がたくさんある トラック

“ 一定の大きさ”に区切られる セクター

Page 13: 入 出 力 管 理

ディスク装置について(3) 各セクタにデータが

記録される

データの読み書き どのトラックの

どのセクタかを指定

Page 14: 入 出 力 管 理

ディスク装置について(4) 磁気ヘッド

データを読み書き ヘッドの位置決め 指定されたト

ラックに移動(シーク)

指定されたセクターが回転して来るのを待つ

Page 15: 入 出 力 管 理

ディスク装置について(5) ディスクは両面

どちらの面かを指定

ディスクが複数あるものもある

最近は,外側のトラックの方がセクタの数が多い セクターの指定が難しい

Page 16: 入 出 力 管 理

ディスク装置について(6) 物理的に移動する部分があるので,そのタイ

ミングが問題になることも

以上のことを理解していないとプログラムを作ることができない

Page 17: 入 出 力 管 理

ディスク装置について(7) 面倒な部分を OS が肩代わり

入出力装置の抽象化 入出力装置の詳細な点を理解しなくても,

それを利用するプログラムを作ることができる

いろいろな装置があっても,使い方は同じ 極論すれば,“読め”・“書け”

Page 18: 入 出 力 管 理

デバイス ドライバ

入出力装置の制御プログラム

Page 19: 入 出 力 管 理

デバイスドライバ(1) 入出力装置を制御する機器

CPU が入っている つまり,コンピュータ プログラムが必要 デバイスドライバと呼ぶ

Page 20: 入 出 力 管 理

デバイスドライバ(2) 入出力装置を制御するプログラム

入出力装置ごとに異なる

入出力装置の追加 対応するデバイスドライバをオペレー

ティングシステムに追加

利用者プログラムの変更の必要はない

Page 21: 入 出 力 管 理

デバイスドライバ(3) 入出力装置の製造者が用意

装置の詳細は製造者が知っている 場合により,公開されない情報もある

Page 22: 入 出 力 管 理

デバイスドライバ(4) 入出力の効率化を図る,という機能も

例 ディスク装置へのアクセス ヘッドのシーク時間を最小化するような

順序に,アクセスの順序を変更

Page 23: 入 出 力 管 理

デバイスドライバ(5) MS-DOS の時代

アプリーケーションソフト(例えば,ワープロソフト)が入出力機器を管理

新しい入出力機器が発売されると,それに対応しなければならない

Page 24: 入 出 力 管 理

入出力の効率化

Page 25: 入 出 力 管 理

入出力の効率化(1) 入出力装置の動作は, CPU よりも遅い

いろいろな工夫

Page 26: 入 出 力 管 理

入出力の効率化(2) ブロッキング

大量の小さなデータは,まとめて大きなデータとして入出力を行う

例 磁気テープ装置 テープの速度が一定になるまで待つ テープ自体(メディア)の効率的利用

入力の場合,その時点で必要な入力データだけでなく,将来必要になるかも知れないデータも読み

込む(先読み)

Page 27: 入 出 力 管 理

入出力の効率化(3) バッファリング

割込み参照 利用者のプログラムからの出力

バッファ(メモリ)に書き込む 別のプログラムが,メモリから出力装置に送る

利用者プログラム

バッファ プリンタ

バッファに書き込めば,実際の出力は終了していなくても,利用者プログラムの出力は終了つまり,先に進むことができる

Page 28: 入 出 力 管 理

入出力の効率化(3) バッファリング 入力データ

必要になるより前に,メモリに読み込む 実際に必要になると,メモリから読み出す 先読み

無駄になることもある

Page 29: 入 出 力 管 理

入出力の効率化(4) バッファリング

一般に,速度が異なるものの間でのデータ交換の効率化

Page 30: 入 出 力 管 理

入出力の効率化(5) キャッシング プログラムがディスクからデータを読み込む

メモリにも格納 再度,そのデータを読み込む ディスクから読み込まず,メモリのデー

HDD プログラムメモリにもコピー

Page 31: 入 出 力 管 理

入出力の効率化(6) キャッシング プログラムがディスクにデータを書き込む

メモリにも格納 そのデータを読み込む必要 ディスクから読み込まず,メモリのデー

いずれの場合も,実際の入力を行わないので時間短縮

Page 32: 入 出 力 管 理

入出力の効率化(7) キャッシング

本来は, CPU 内の高速メモリ(キャッシュ)と主記憶の間で用いられていたことに対する用語

Page 33: 入 出 力 管 理

入出力の効率化(8) スプーリング 本来はバッチ(一括)処理 出力データは装置に送るのではなく,ファイ

ルとして書き出す スプーラと呼ばれる独立したプログラムが,

それを装置に送る 入力データもあらかじめ読み込み,ファイル

としておく

ファイルへの書き込みが終了すれ

ば,出力も終了

(場合により,プログラムは終了)遅い入出力装置の

制御をスプーラに任せる

Page 34: 入 出 力 管 理

入出力装置の制御

Page 35: 入 出 力 管 理

入出力装置の制御 動作の起動指示

データ転送 入力データは,入力装置からメモリへ 出力データは,メモリから出力装置へ

といったことをどのように行うのか ?

Page 36: 入 出 力 管 理

CPU が直接制御 割込みの 2 回目

プリンタの例の割込みを用いないもの

最大のネックは,入出力装置の動作終了を待たなければならない

CPU の使用効率が悪い

Page 37: 入 出 力 管 理

割込み 割込みの 2 回目

プリンタの例の割込みを用いるもの

入出力装置の動作終了を割込みにより検出 動作中に CPU は別の処理ができる

ただし,データ転送は CPU

Page 38: 入 出 力 管 理

DMA Direct Memory Access

CPU は,動作開始を入出力装置の制御装置に指示

データ転送は,制御装置が行う 制御装置が直接メモリとの間でデータをや

り取りする

Page 39: 入 出 力 管 理

チャネル 大型機

入出力装置用コンピュータ(みたいなもの)

これに操作を任せる

Page 40: 入 出 力 管 理

接 続 規 格

パソコンの入出力装置の接続方法入出力管理の話ではないハードウェアの規格

Page 41: 入 出 力 管 理

I D E 最大 4台の内蔵ディスクを接続

CD ROM なども可能 以前からある規格

共通仕様 ATA ( AT Attachment interface )

拡張仕様 Serial ATA (高速化)

Page 42: 入 出 力 管 理

S C S I “ スカジー”と読む

汎用接続規格

最大 8台までの機器をディジーチェーンで接続 実際は7台 接続ケーブルの末端にターミネータをつけ

Page 43: 入 出 力 管 理

U S B (1) 汎用接続規格

パソコンでは良く使われている 最大 127台まで 電源を入れたままで接続・切離し可

ホットプラグ 低速・中速機器向け

USB2.0 で高速機器をサポート そろそろ USB3.0

Page 44: 入 出 力 管 理

U S B (2) ちなみに USB メモリには寿命がある

書き込み回数に上限がある USB メモリの書き換え限界寿命が来ると何が起きるのか、実際に寿命が来たケースをレポート http://gigazine.net/index.php?/news/comments/20080204_usb_memory_life/

Page 45: 入 出 力 管 理

IEEE 1394 (1) IEEE は“アイ トリプル イー”と読む

FireWire (アップル) i.LINK (ソニー)

Page 46: 入 出 力 管 理

IEEE 1394 (2) デジタル機器同士だけで接続可

パソコン不要 デジタルビデオカメラ DV 端子

最大 63台

ホットプラグ

Page 47: 入 出 力 管 理

IEEE いろいろな規格を定めている

IEEE802.11a/b/g 無線 LAN

Page 48: 入 出 力 管 理

セントロニクスインターフェイス プリンタで利用される(されていた)

出力データだけでない

Page 49: 入 出 力 管 理