...

ファイルシステムの 機能

by user

on
Category: Documents
7

views

Report

Comments

Transcript

ファイルシステムの 機能
ファイルシステムの
機能
0
今回は
ファイルシステムについて
を考えます。
1
ファイルシステムの位置付け
•
いろいろな記憶媒体があるのだが、
–
2
なるべく同じような使い勝手で使いたい
ファイルシステムの位置付け
•
いろいろな記憶媒体があるのだが、
–
•
なるべく同じような使い勝手で使いたい
1つの媒体に多数の領域(ファイル)を置きたい
–
–
3
媒体上の領域をどう分けて管理するか
名前付け・(ディレクトリの)階層をどう管理するか
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
4
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
ハードディスク=ファイル
ではない
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
5
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
ハードディスク=ファイル
ではない
アプリ
ケーション
プログラム
OS
– ハードディスクは1次元に
並んだバイトの列を提供
(アクセス単位のブロックはある)
ハードディスク
xxx.doc
6
yy.txt
zzz.exe
空き
ファイルシステム
デバイスドライバ
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
• OSの一部で、
– 利用者 (コマンドやアプリ) と
記憶媒体の間を取り持つ
アプリ
ケーション
プログラム
OS
コマンド
ファイルシステム
デバイスドライバ
7
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
• OSの一部で、
– 利用者 (コマンドやアプリ) と
記憶媒体の間を取り持つ
• 役割は、大別すると
8
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
• OSの一部で、
– 利用者 (コマンドやアプリ) と
記憶媒体の間を取り持つ
• 役割は、大別すると
1. ファイル操作の一元化
9
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
• OSの一部で、
– 利用者 (コマンドやアプリ) と
記憶媒体の間を取り持つ
• 役割は、大別すると
1. ファイル操作の一元化
2. ファイルの名前付け
10
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
ファイルシステムの位置付け
• ファイルシステムは、
「ファイル」を実現する機構
• OSの一部で、
– 利用者 (コマンドやアプリ) と
記憶媒体の間を取り持つ
• 役割は、大別すると
1. ファイル操作の一元化
2. ファイルの名前付け
3. 記憶領域の管理
11
アプリ
ケーション
プログラム
OS
ファイルシステム
デバイスドライバ
ファイルの概念とその操作
• ファイル=データを格納(保存)する入れ物
12
ファイルの概念とその操作
• ファイル=データを格納(保存)する入れ物
• 内容: いろいろな場合がある
– バイトの連なりの場合(構造が無い)
– 構造をもつ場合 ⇒ 例:レコードを単位にした情報
レコード
13
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
ファイルの概念とその操作
• ファイル=データを格納(保存)する入れ物
• 内容: いろいろな場合がある
– バイトの連なりの場合(構造が無い)
• 文字・数値の羅列 ⇒ 解釈は読み出したソフト次第
14
ファイルの概念とその操作
• ファイル=データを格納(保存)する入れ物
• 内容: いろいろな場合がある
– バイトの連なりの場合
• 文字・数値の羅列 ⇒ 解釈は読み出したソフト次第
– 構造をもつ場合 ⇒ 例:レコードを単位にした情報
• レコードごとの読出しをOSがサポートする場合
データベースシステムがサポートする場合
レコード
15
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
氏名
番号 入学年度 生年月日
住所
電話番号
ファイル操作の抽象化
16
ファイル操作の抽象化
• 基本操作:
17
open, read, write, close
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
18
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
ハードディスク上のファイルも
USBメモリ上のファイルも
プリンタ出力やキーボード入力だって
なるべく同じ(共通の)やり方で操作
19
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
• read, write
20
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
• read, write
21
(読み、書き)
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
• read, write
• open
(読み、書き)
– ファイルの利用宣言
22
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
• read, write
• open
(読み、書き)
– ファイルの利用宣言
• 名前(ユーザが指定)から実体への関連付け
• 特に複数の同時アクセス時に、資源排他アクセス管理
• 「アクセス方式」(後述)の指定
• など
23
ファイル操作の抽象化
• 基本操作:
open, read, write, close
– 媒体等に依らず共通化 ~ 抽象化する効果あり
• read, write
• open
(読み、書き)
– ファイルの利用宣言
• 名前(ユーザが指定)から実体への関連付け
• 特に複数の同時アクセス時に、資源排他アクセス管理
• 「アクセス方式」(後述)の指定
• など
• close
24
openの逆(終り)
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
25
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
• 直接(ランダム)アクセス方式
26
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
– 先頭から順番に読む
(ユーザは場所指定しない)
• 直接(ランダム)アクセス方式
27
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
– 先頭から順番に読む
(ユーザは場所指定しない)
• 直接(ランダム)アクセス方式
– ブロック番号を指定して、どのブロックへもアクセス
28
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
– 先頭から順番に読む
(ユーザは場所指定しない)
– イメージとしてテープ(ビデオや音楽カセット)
• 直接(ランダム)アクセス方式
– ブロック番号を指定して、どのブロックへもアクセス
– イメージとしてハードディスクやメモリ
29
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
– 先頭から順番に読む
(ユーザは場所指定しない)
– イメージとしてテープ(ビデオや音楽カセット)
• 直接(ランダム)アクセス方式
– ブロック番号を指定して、どのブロックへもアクセス
30
アクセス方式の考え方
• アクセス方式=読み方(アクセスの仕方)の違い
• 順(シーケンシャル)アクセス方式
– 先頭から順番に読む
(ユーザは場所指定しない)
– イメージとしてテープ(ビデオや音楽カセット)
• 直接(ランダム)アクセス方式
– ブロック番号を指定して、どのブロックへもアクセス
– イメージとしてハードディスクやメモリ
31
(脱線)ファイル編成の考え方
• ファイル編成=ファイル内のレコード格納法の違い
• 順編成ファイル
– 先頭から順番に連続してレコードを格納する
– 順次アクセスする
– 既存レコードの更新・追加・削除はできない
• そこから後を全部書き直す(上書きする)必要がある
• ファイル末尾への追加は可能
• 直接(ランダム)編成ファイル
– ブロック番号を指定して、どのブロックへもアクセス
– イメージとしてハードディスクやメモリ
32
ハードウェアの機能制約とアクセス方式
• 注意: ハード構造⇒アクセス方式ではない
• テープの場合は、ハード構造が順アクセス
– といって、直接アクセスができないわけではない
• 毎回巻き戻して、先頭から空読みして、指定されたブロック
へ行き着いて、そこを読む
• 非常に効率が悪いのは自明 ⇒ しないほうがいいが
出来ないわけではない
• 逆にディスクは、ハード構造が直接アクセス
– 当然、直接アクセスは効率よく行える
• 順アクセスも、効率よく行える(番号順に読めばよい)
• ハード構造によって性能が制約されるだけ
33
ハードウェアの機能制約とアクセス方式
• 注意: ハード構造⇒アクセス方式ではない
• テープの場合は、ハード構造が順アクセス
– といって、直接アクセスができないわけではない
• 毎回巻き戻して、先頭から空読みして、指定されたブロック
へ行き着いて、そこを読む
• 非常に効率が悪いのは自明 ⇒ しないほうがいいが
出来ないわけではない
• 逆にディスクは、ハード構造が直接アクセス
– 当然、直接アクセスは効率よく行える
• 順アクセスも、効率よく行える(番号順に読めばよい)
• ハード構造によって性能が制約されるだけ
34
ハードウェアの機能制約とアクセス方式
• 注意: ハード構造⇒アクセス方式ではない
• テープの場合は、ハード構造が順アクセス
– といって、直接アクセスができないわけではない
• 毎回巻き戻して、先頭から空読みして、指定されたブロック
へ行き着いて、そこを読む
• 非常に効率が悪いのは自明 ⇒ しないほうがいいが
出来ないわけではない
• 逆にディスクは、ハード構造が直接アクセス
– 当然、直接アクセスは効率よく行える
• 順アクセスも、効率よく行える(番号順に読めばよい)
• ハード構造によって性能が制約されるだけ
35
(脱)その他のアクセス方式
• メインフレームでは、順・直接の他に
– 索引付きアクセス方式
• 索引順編成
– 区分アクセス方式
– 授業では触れないので自分で調べてみよ
• WindowsやUNIX/Linuxでは、順と直接のアク
セス方式だけが提供されている
– 理由を考えてみよ
36
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
37
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
38
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
39
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
• アクセス方式 ~ 順序アクセス・直接アクセス
40
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
• アクセス方式 ~ 順序アクセス・直接アクセス
41
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
• アクセス方式 ~ 順序アクセス・直接アクセス
42
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
• アクセス方式 ~ 順序アクセス・直接アクセス
• 順序:頭から順番に
43
直接:指定ブロックを直接
ここまでのまとめ
• ファイルシステムは
• 多様な記憶媒体を同じような使い勝手で使いたい
• 1つの媒体に多数の領域(ファイル)を置きたい
• 媒体上の領域をどう分けて管理するか
• 名前付け・(ディレクトリの)階層をどう管理するか
• アクセス方式 ~ 順序アクセス・直接アクセス
• 順序:頭から順番に
直接:指定ブロックを直接
• ハードにより効率が制約されることがある
• 磁気テープ ⇒ 直接アクセスはしづらい
(できないわけではないが…)
44
ファイルシステムの
考え方が
理解できましたか?
〇
次へ
45
×
Fly UP