ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム...

12
ディスク装置とファイルシステム z ファイル : プログラムやデータを格納するための論理的な単位 z OSはプログラムやデータを「ファイル」という論理的な単位で扱う →ディスク装置の物理的構造(トラック,セクタ,シリンダー など)を隠蔽し(仮想化し),ユーザに使いやすいインター フェースを提供する。 ファイルシステム ディスクの構造 トラック ディスク1 ディスク2 ディスク3 ヘッド0 スピンドルモータ アーム アーム駆動部 ヘッド1 ヘッド2 ヘッド3 ヘッド4 ヘッド5 1

Transcript of ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム...

Page 1: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

ディスク装置とファイルシステム

ファイル : プログラムやデータを格納するための論理的な単位

OSはプログラムやデータを「ファイル」という論理的な単位で扱う

→ディスク装置の物理的構造(トラック,セクタ,シリンダー

など)を隠蔽し(仮想化し),ユーザに使いやすいインター

フェースを提供する。

ファイルシステム

ディスクの構造

トラック

ディスク1ディスク2ディスク3

ヘッド0

スピンドルモータ

アーム

アーム駆動部

ヘッド1ヘッド2ヘッド3ヘッド4ヘッド5

1

Page 2: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

アーム先端部

アーム先端部裏側

磁気ヘッド

スライダ

トラックとセクタ

セクタ1

セクタ0

トラック0トラック1

トラック21枚のディスク

セクタ4

セクタ3 セクタ2

2

Page 3: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

ディスク装置の各部

ディスク: 円盤上の記憶面を多数,同一の回転軸で回転させた構造(前のスライド)

トラック: 各記憶面上で情報を記録する同心円の集合

セクタ: トラックをいくつかの固定長の大きさに分けた領域(読書きの単位)

シリンダ: 各記憶面の同じ位置のトラックの集合(ヘッドの移動なしに読み書きができる円筒状のトラックの集合)

ヘッド: 各記憶面に配置された読み書きヘッド

磁気ディスクへの読書きは,シリンダ番号,ヘッド番号,セクタ番号 を指定して行う。

トラックヘッド 0,1

シリンダ

ディスク 0

回転

※ ヘッドは1枚のディスク

につき,二つある。

ディスク 1

ディスク 2

ヘッド 4,5

ディスクの構成

3

Page 4: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

目的のセクタ

目的のトラック(シリンダ)

回転待ち時間 (サーチ時間)位置決め時間 (シーク時間)

磁気ヘッドが目的のトラックへ移動

磁気ヘッド

移動方向

位置決め時間と回転待ち時間

ディスクに対するアクセス

1. アクセスアームを移動させてヘッドを指定したトラックに位置づける。これに要する時間を「位置決め時間(シーク時間:seek time)」という。

2. 指定したヘッドを選ぶ。

3. トラック上の指定したセクタがヘッドの位置まで回転するのを待つ。これに要する時間を「回転待ち時間(サーチ時間:search time)」という。

4

Page 5: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

ディスクのデータ転送時間

データ転送に要する時間=アクセス時間+転送時間

(1) アクセス時間=位置決め時間+回転待ち時間

目的のトラックにヘッドが移動する 目的のセクタがヘッド位置にまでの時間 来るまでの回転待ち時間

(2) 転送時間=転送速度×データ転送量

ディスク装置の各部

ディスク: 円盤上の記憶面を多数,同一の回転軸で回転させた構造(前のスライド)

トラック: 各記憶面上で情報を記録する同心円の集合

シリンダ: 各記憶面の同じ位置のトラックの集合(ヘッドの移動なしに読み書きができる円筒状に定義される)

ヘッド: 各記憶面に配置された読み書きヘッド

セクタ: トラックをいくつかの固定長の大きさに分けた領域(読書きの単位)

磁気ディスクへの読書きは,

シリンダ番号,ヘッド番号,セクタ番号 を指定して行う。

5

Page 6: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

例題 平均位置決め時間(シーク時間):10ms回転数:7200rpm(rotaition per minute)データ転送速度:10Mbyte/s

の性能をもつディスクにおいて4Kbyteのデータを読み出

すのに要する時間を求めよ。

解答

7200rpmの回転数をもつディスクでは,1回転するのに1/7200(分)= (秒)= ms

回転待ち時間(サーチ時間)は半回転(1/2回転)時間と考えると, msまた,データの転送速度は 10Mbyte/s= Kbyte/msなので,4Kbyte のデータを読み出すのに要する時間は,

= msしたがって,読出しに要する時間は

ms + ms + ms = ms

ディスクとパーティション(論理ディスク)

パーティション

パーティション

パーティション

ディスク

ディレクトリ

ディレクトリ

ディレクトリ

1ディスク3パーティション

ディレクトリ

データ(ファイル)

パーティション

1ディスク1パーティション

ディスク

データ(ファイル)

データ(ファイル)

データ(ファイル)

6

Page 7: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

ファイルシステム

コンピュータ内の多数のファイルを効率良く統一的な方法で管理するためにOSが用意する。

ディレクトリ : ファイルの登録簿。ファイルの管理情報を記録・管理する。

– 名前 : ファイルの名前.文字列で定義

– 型 : ファイルの型(テキストファイル,実行ファイル,‥‥)

– 物理的位置 : ファイルの実体が存在する記憶装置,および

記憶装置内の場所 = ブロックアドレス

(ブロックアドレスはシリンダ番号,ヘッド番号,セクタ番号により定まる)

– 大きさ(サイズ) : ファイルの大きさ.記憶装置上での領域の割当てに用いられる

– 保護情報 : 読出しや書込み,実行の許可など

– 参照時刻 : ファイルの生成や変更日時の記録

ディレクトリの構成法

ファイル

ディレクトリ

F1 F3F2 F4 F5 F6

ルート

単一レベルのディレクトリ

2 階層のディレクトリ

D1 D2 D3

F1 F4F2 F3 F6F5

ルート D1 D2 D3

ルート

D4 D5

F1 F2

F3 F4 F6

F5

木構造のディレクトリ

7

Page 8: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

階層構造ディレクトリの用語

ルートディレクトリ:木構造の根にあたる部分のディレクトリ。すべてのディレクトリの頂点

カレントディレクトリ:ユーザあるいはプロセスが現在位置づけられているディレクトリ

絶対パス:ルートディレクトリからのパス名(道筋)

相対パス:カレントディレクトリからのパス名( “.” : カレントディレクトリ,“..”:親ディレクトリ)

ホームディレクトリ:ユーザがログインしたときにカレントディレクトリとなるディレクトリ

絶対パスと相対パス

ファイル

ディレクトリ

D1 D2 D3

ルート( / )

D4 D5

F1 F2

F3 F4 F6

F5

木構造のディレクトリ

カレントディレクトリがD4で,ファイルF5にアクセスする場合

絶対パスによる指定: /D3/D5/F5相対パスによる指定: ../../D3/D5/F5

8

Page 9: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

UNIXにおけるディレクトリの階層構造の例

マニュアル

/

usr tmpdevetchomevar vmunix

libcsh

passwd tty01 lp0

man

share bin lib

taro jiro hanako

ユーザファイル

ユーザのホームディレクトリ

ライブラリユーティリティ

システム稼動時に変化するファイル

管理用ファイルなど

デバイスファイル

作業用の一時ファイル

UNIXの実行

可能プログラム

UNIXのファイルシステム

パーティションごとに階層構造のディレクトリが作られる。

システム起動時に起動されるパーティションのディレクトリをルートディレクトリとする。

パーティションごとのディレクトリ構造をマウント(mount: 接木:

木を結合すること)することによって,システム全体で一つの論理的なディレクトリ構造を作ることができる。

9

Page 10: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

ブートブロック

スーパーブロック

i ノードリスト

データ(ファイル)

ブートブロック

スーパーブロック

i ノードリスト

データ(ファイル)

データ(ファイル)

i ノードリスト

スーパーブロック

ブートブロック

パーティション1

パーティション2(仮想記憶領域用)

パーティション1

パーティション2

物理ディスク2

論理ディスク(パーティション)

ファイルシステム2

マウント

マウント物理ディスク1

ファイルシステム3

ファイルシステム1(ルートファイルシステム)

UNIXのファイルシステム構造

ブートブロック(システム起動のためのプログラム)スーパーブロック(論理ボリュームの管理情報)

論理ボリューム(パーティション)の構成

i ノード(0)i ノード(1)i ノード(2)

i ノード(n)

……

データブロック(0)データブロック(1)

データブロック(m)

……

i ノードリスト(データ領域の管理情報)

データ領域※ディレクトリもファイルとして扱われる

ブロックサイズ,iノード数,空きブロック数など

10

Page 11: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

/ (ルート)

etc home …

jirohanakotaro …

file2file1 …

UNIXの階層化ディレクトリの例

UNIXのファイル検索

……

2i ノードリスト

43

5

24

8

12

… ……

25

file2の実体file1の実体

/home/taro/file2 の検索

taro 8hanako 12

…jiro 13

. 4.. 2

file1 24file2 25…

. 8.. 4

i ノード番号

. 2

etc 3home 4…

.. 2カレントディレクトリ

親ディレクトリ

root( / )i ノード

番号 1000

1008

1024

18601680

1000

1008 home 1024 taro

ディスク装置のブロックアドレス

1680 file1 1860 file2

データ領域

11

Page 12: ディスク装置とファイルシステム · 2011. 7. 8. · ファイルシステム zコンピュータ内の多数のファイルを効率良く統一的な方法で管理

演習問題 9

1. 次の設問に答えよ。

(1) 平均シーク時間 16ms,回転速度 12000rpm のハードディスクの平均アクセス時間(=位置決

め時間(シーク時間)+回転待ち時間(サーチ時間))を求めよ。

(2) (1)のハードディスクにおいて,データ転送速度が 100Mbyte/s のとき,64Kbyte のデータを読み

出すのに要する平均時間(アクセス時間を含む)を求めよ。(64KB のデータは連続して読み出せるも

のとする)

2. 右図の階層ファイルシステムにおいて,カレント

ディレクトリが B2 であるとき,ファイル C3 を指定

するための相対パスと絶対パスを示せ。

3. 下図に示すように i ノード領域には 8 個の i ノードリストがあり,データブロックのアドレス 1000

~1028 には 4 個のディレクトリと 4 個のファイルが格納されている。このとき(1),(2)の設問に答えよ。

なお,図中「. 」はカレントディレクトリ,「.. 」は親ディレクトリを表すものとする。

(1) ディレクトリとファイルの関係を木構造の形式で示せ。

(2) i ノード番号とブロックアドレスをもとに,絶対パス / y / d の指定によりファイル d に到達する

までの手順を説明せよ。なお root ディレクトリ( / ) は i ノード番号 2 の内容を参照するものとする。

1000 root (/ )

1012 z 1008

y1004 xi ノード

11

10

9

8

7

6

5

4

3

1028

1024

1020

1016

1012

1008

1004

1000 2

y 4

x 3

.. 2

. 2

a 6

.. 2

. 3

d 9

z 5

.. 2

. 4

c 8

b 7

.. 4

. 5

1016 a 1028

d 1024 c

1020 b

ディレクトリ

ファイル

i ノード番号

ブロックアドレス

/

A1 A2

B2 B1 C3

C2 C1

12