• 検索結果がありません。

デバイス管理とは この節で学ぶのは OS の中で ( 出 ) デバイスを管理する機能です どのようなことを管理するのかそこではどんな技法が使われるのかなどを学びます 1

N/A
N/A
Protected

Academic year: 2021

シェア "デバイス管理とは この節で学ぶのは OS の中で ( 出 ) デバイスを管理する機能です どのようなことを管理するのかそこではどんな技法が使われるのかなどを学びます 1"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

デバイス管理とは

この節で学ぶのは

OSの中で

(⼊出⼒)デバイスを管理する

機能です

どのようなことを管理するのか

そこではどんな技法が使われるのか

などを学びます

(2)

2

⼊出⼒デバイスとは

• 「デバイス」は「

装置

」と言い換えても

いいでしょう

⼊出⼒デバイスとは

• 「デバイス」は「

装置

」と言い換えても

いいでしょう

• 要するに、キーボードやプリンタやディスクや もっと変わった装置も含めて、です

(3)

4

⼊出⼒デバイスとは

• 「デバイス」は「

装置

」と言い換えても

いいでしょう

• 要するに、キーボードやプリンタやディスクや もっと変わった装置も含めて、です • 基本は、全ての⼊出⼒装置をOSが管理します 管理したほうが便利なことがあるからです

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) • (仮想化)

(4)

6

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理)

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、

(5)

8

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、 共有資源として「適切に」管理する

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、 共有資源として「適切に」管理する 1)排他的な利⽤ 2)効率的な利⽤・優先利⽤etc 詳細は後から説明

(6)

10

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、 共有資源として「適切に」管理する • (仮想化)

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、 共有資源として「適切に」管理する • (仮想化) 種類の異なる装置は、制御⽅法も違い⾯倒 ! ユーザ/プログラムから同じように操作したい

(7)

12

OSによる⼊出⼒デバイス管理

• どういう管理をするのか︖ ⇒ 大きく2点

• (資源管理) 1つしかない装置を、複数のユーザ・仕事で 共有することになるので、 共有資源として「適切に」管理する • (仮想化) 種類の異なる装置は、制御⽅法も違い、⾯倒 ! ユーザ/プログラムから同じように操作したい ⇒ 同じ (仮想) インタフェースを提供する

⼊出⼒デバイスの共有資源管理

• 資源管理(共有リソースとしての管理)は

– 管理の2つのポイントがある

(8)

14

⼊出⼒デバイスの共有資源管理

• 資源管理(共有リソースとしての管理)は

– 管理の2つのポイントがある • 排他管理 同時に1人しか使えないように • 効率向上(性能向上) (1台しかない装置を)効率よく使いたい

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合、どうか︖

(9)

16

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 1つしかない装置に、違うプログラムが出⼒ ⇒ 出⼒が混ざってしまう︖

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 1つしかない装置に、違うプログラムが出⼒ ⇒ 出⼒が混ざってしまう︖ ⼀連の出⼒が終わるまで占有する必要がある 当然、他⽅は待たされる

(10)

18

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 1つしかない装置に、違うプログラムが出⼒ ⇒ 出⼒が混ざってしまう︖ ⼀連の出⼒が終わるまで占有する必要がある 当然、他⽅は待たされる 実現は、並⾏プロセスでの排他制御と同様

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 ⼀連の出⼒が終わるまで占有する必要がある • ハードディスクの場合、どうか︖

(11)

20

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 ⼀連の出⼒が終わるまで占有する必要がある • ハードディスクの場合、どうか︖ 1ブロックの読書きの単位で占有すればよい

⼊出⼒デバイスの共有資源管理

• 排他管理 ⇒ なぜ必要か︖

• プリンタやキーボードの場合 ⼀連の出⼒が終わるまで占有する必要がある • ハードディスクの場合、どうか︖ 1ブロックの読書きの単位で占有すればよい むしろスペースが重ならないような管理必要 ⇒ スペース管理は「ファイルシステム」の章

(12)

22

⼊出⼒デバイスの共有資源管理

効率向上 ⇒ 何が問題か︖

⼊出⼒デバイスの共有資源管理

• 効率向上 ⇒ 何が問題か︖

• 銀⾏のATMの⾏列を思い出してみると 利⽤の順番を変えると(スケジューリング) 性能(例えば平均待ち時間)が変わる 例えば、処理時間の短いものを優先とか

(13)

24

⼊出⼒デバイスの共有資源管理

• 効率向上 ⇒ 何が問題か︖

• 銀⾏のATMの⾏列を思い出してみると 利⽤の順番を変えると(スケジューリング) 性能(例えば平均待ち時間)が変わる • ハードディスクの場合 ⇒ 次ページ

(脱線)ハードディスクの性能モデル

性能向上技術の説明の前に、

ハードウェアの授業で⾒たはずの

ハードディスクの性能モデルを復習

(14)

26

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

(15)

28

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

2. ディスクの回転待ち時間

• 欲しいブロックがヘッドの下に来るまでの時間

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

2. ディスクの回転待ち時間

• 欲しいブロックがヘッドの下に来るまでの時間 • 平均すると1/2回転する時間

(16)

30

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

2. ディスクの回転待ち時間

3.

データ (ブロック内容) の読出し・転送時間

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

2. ディスクの回転待ち時間

3.

データ (ブロック内容) の読出し・転送時間

この2者 が大半を 占める

(17)

32

(脱線)ハードディスクの性能モデル

• ハードディスクのアクセス時間の

モデルを覚えていますか︖

• アクセス時間は、3つの要素の和

1. アームが動く時間 (別名シーク時間)

2. ディスクの回転待ち時間

3.

データ (ブロック内容) の読出し・転送時間

この2者 が大半を 占める この中で、アーム移動時間を減らす工夫を紹介

ハードディスクのスケジューリング

ブロック読書きの順番を変える

⇒ 所要時間が変わる

(18)

34

ハードディスクのスケジューリング

• ブロック読書きの順番を変える

⇒ 所要時間が変わる

• ポイントは

アーム移動時間が移動距離に依存する 近いと早い ⇒ 近い移動を優先する

ハードディスクのスケジューリング

• ブロック読書きの順番を変える

⇒ 所要時間が変わる

• ポイントは

アーム移動時間が移動距離に依存する 近いと早い ⇒ 近い移動を優先する

• エレベータ式移動 (教科書p40 SCAN)

⾏き先を昇順に順番に登り続ける、頂点で

(19)

36

ハードディスクのスケジューリング

時間 この時点で分かっ ているアクセス点 を昇順に並べた トラック3 トラック6 トラック8 トラック14 トラック17 x x x x x 昇順 にアクセス この時点で分かっ ているアクセス点 を降順に並べた 6 15 x x x x 降順 にアクセス 2 9 11 x 17 5 11 12 x x x x 昇順 にアクセス この時点で分かっ ているアクセス点 を昇順に並べた

ハードディスクのスケジューリング

時間 この時点で分かっ ているアクセス点 を昇順に並べた トラック3 トラック6 トラック8 トラック14 トラック17 x x x x x 昇順 にアクセス この時点で分かっ ているアクセス点 を降順に並べた 6 15 x x x x 降順 にアクセス 2 9 11 x 17 5 11 12 x x x x 昇順 にアクセス この時点で分かっ ているアクセス点 を昇順に並べた 総移動距離が なるべく小さ くなるように 早くなる

(20)

38

バッファリング(ダブルバッファ)

バッファリング(ダブルバッファ)

バッファを複数置くことによって

(21)

40

バッファリング(ダブルバッファ)

バッファを複数置くことによって

バッファ空き待ち時間を減らせる

時間 読取り 書込み ⼊⼒ 機器 バッ ファ 取込み アプ リ 読出し 読取り 書込み 取込み 読出し バッファ 空き待ち 単一バッファ

バッファリング(ダブルバッファ)

バッファを複数置くことによって

バッファ空き待ち時間を減らせる

時間 読取り 書込み ⼊⼒ 機器 バッ ファ1 取込み アプ リ 読出し 読取り 書込み 取込み 読出し 読取り 書込み 読出し 書込み バッ ファ2 取込み 読取り 時間 読取り 書込み ⼊⼒ 機器 バッ ファ 取込み アプ リ 読出し 読取り 書込み 取込み 読出し バッファ 空き待ち 単一バッファ ダブルバッファ

(22)

42

バッファリング(ダブルバッファ)

バッファを複数置くことによって

バッファ空き待ち時間を減らせる

時間 読取り 書込み ⼊⼒ 機器 バッ ファ1 取込み アプ リ 読出し 読取り 書込み 取込み 読出し 読取り 書込み 読出し 書込み バッ ファ2 取込み 読取り 時間 読取り 書込み ⼊⼒ 機器 バッ ファ 取込み アプ リ 読出し 読取り 書込み 取込み 読出し バッファ 空き待ち 思ったようにうまく⾏くものか、成り⽴つ条件をよく考えてみてください 単一バッファ ダブルバッファ

バッファリング(ダブルバッファ)

• バッファを複数置くことによって

バッファ空き待ち時間を減らせる

• バッファ数は2より大きくできる

リングバッファ(既出)(教科書p64)

(23)

44

ブロッキング

ブロック化

ブロッキング

ブロック化 〜 複数の⼊出⼒操作を

まとめて1つのブロックにする

(24)

46

ブロッキング

• ブロック化 〜 複数の⼊出⼒操作を

まとめて1つのブロックにする

• ディスクの場合、ハードウェアブロック(セクタ)で 読み書きするが、プログラムからの操作は小さい大きさ で読み書きする 読出 し 書込 み 読出 し セクタ ハードディスク プログラム

ブロッキング

• ブロック化 〜 複数の⼊出⼒操作を

まとめて1つのブロックにする

• ディスクの場合、ハードウェアブロック(セクタ)で 読み書きするが、プログラムからの操作は小さい大きさ で読み書きする ⇒メモリ上のバッファへセクタ単位で読出し、 その上で読み書きして、セクタ単位で書き戻す ⇒ハードディスクへの⼊出⼒操作が少なくなる効果

(25)

48

ブロッキング

• ブロック化 〜 複数の⼊出⼒操作を

まとめて1つのブロックにする

• ディスクの場合、ハードウェアブロック(セクタ)で 読み書きするが、プログラムからの操作は小さい大きさ で読み書きする ⇒メモリ上のバッファへセクタ単位で読出し、 その上で読み書きして、セクタ単位で書き戻す • 磁気テープの場合、起動停止に時間がかかるため まとめて読み書きして、起動停止の回数を減らす

(ディスクの) プリフェッチ

• 要るか要らないか分からないが、

(次のブロックも⼀緒に) 読んでおく

• デバイスを1回だけ起動すればよいので、 次ブロック読出し起動の時間が要らない アーム移動(シーク)が要らない • (要らなかった時には)無駄になる • 例えばファイルを順序に読む場合には有効

(26)

50

ここまでのまとめ

• ⼊出⼒デバイス管理には

• 共有のための資源管理の

機能

• 排他管理 • 必要な理由︖ • 効率向上 • 効率向上のテクニック︖

• 仮想化の機能

ここまでのまとめ

• ⼊出⼒デバイス管理には

• 共有のための資源管理の

機能

• 排他管理 • ⼊出⼒機器を占有して使う必要がある • 効率向上 • ディスクスケジューリング バッファリング・ブロッキング・プリフェッチ

• 仮想化の機能

(27)

52

デバイス管理の考え⽅と

資源管理の内容が

掴めましたか︖

次へ

×

参照

関連したドキュメント

※1・2 アクティブラーナー制度など により、場の有⽤性を活⽤し なくても学びを管理できる学

それゆえ、この条件下では光学的性質はもっぱら媒質の誘電率で決まる。ここではこのよ

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

このような情念の側面を取り扱わないことには それなりの理由がある。しかし、リードもまた

しかし私の理解と違うのは、寿岳章子が京都の「よろこび」を残さず読者に見せてくれる

最愛の隣人・中国と、相互理解を深める友愛のこころ

その目的は,洛中各所にある寺社,武家,公家などの土地所有権を調査したうえ

口文字」は患者さんと介護者以外に道具など不要。家で も外 出先でもどんなときでも会話をするようにコミュニケー ションを