- ファイルシステムの役割
コンピュータ(OS)は、プログラムやデータをファイルと呼ぶ単位で扱います。また複数のファイルを効率よく管理するためにディレクトリと呼ばれる階層構造を利用します。これらを総称してファイルシステムと呼び、各OSにより、セキュリティや障害対応の面などで様々な拡張が行われています。
- ファイルシステム
データ → ファイル → ディレクトリ(フォルダ)
(レコード)
<木構造>
¥(ルート) |
−− |
| |
−− |
| |
|
|
| |
「usr」 |
|
|
「etc」 |
| |
−− |
|
| |
| |
| |
|
usr.conf |
「com」 |
「lib」 |
|
|
※ディレクトリ:「」、ファイル:斜体
- ディレクトリ
1. |
ルート |
最上位 |
2. |
サブ |
2階層以降 |
3. |
カレント |
現在の作業対象 |
- ファイル表記
ファイルの位置指定
- 絶対パス
ルートディレクトリからの指定
(例) \etc\usr.conf
※Windowsではドライブ名から始まる(C:\)
- 相対パス
カレントディレクトリからの指定
<カレントディレクトリ:usrの場合>
(例) ..\etc\usr.conf
「..」(ピリオード2つは1つ上のディレクトリを表す)
- ワイルドカード
文字パターンを表す特殊文字
文字列のあいまい表現(グループ化)
↓
ファイル検索、コピーなど
* |
任意の文字列(0文字も含む) |
? |
任意の一文字 |
正規表現 ※より複雑なパターンを指定可能
^ |
行の最初にマッチする |
$ |
行の最後にマッチする |
[ ] |
括弧内に含まれる一文字にマッチする |
- ファイルシステムの種類
FAT |
MS-DOS、初期のWindows、2GB
ファイル名8+3形式
※拡張
FAT32(ロングファイル名、32GB)
exFAT(フラッシュメモリ) |
NTFS |
WindowsNT系、2TB
セキュリティ、暗号化対応 |
ext3 |
Linux、16TB
セキュリティ、ジャーナリング機能 |
HFS+ |
MacOSX、2TB |
※サイズはパーティション
- ファイル構成
(構成要素)
- フィールド(列)
データ項目(属性)
- レコード(行)
関連するフィールドの集合
・論理レコード(プログラムの処理対象)
・物理レコード(ハードウェアの処理対象)
ブロック化
論理レコード |
→ |
物理レコード |
(複数) |
(1つ) |
(ブロック因数) |
- ファイル(データセット)
物理レコードを1つにまとめたもの
※OSの管理単位(最小)
(レコード形式)
- 固定長
論理レコードの長さがすべて同じ
- 可変長
論理レコードの長さが異なる
※サイズ情報が別途必要
- 不定長
論理レコードの長さが異なる
※サイズ情報なし→ブロック化不可
(ファイルの分類)
マスタファイル |
処理の基本となるデータ(商品データ) |
トランザクションファイル |
逐次変動するデータ(伝票データ) |
ワークファイル |
作業用データ(整列処理) |
バックアップファイル |
マスタのコピー |
ログファイル |
システムの稼動履歴 |
チェックポイントファイル |
特定タイミングでのバックアップ |
システムファイル |
OS関連ファイル |
ユーザファイル |
ユーザが作成したデータ |
パーマネントファイル |
長期間保存データ |
テンポラリファイル |
一時データ |
- ファイル編成
ファイルの論理構造
※ファイル内でのデータ管理方法
順編成(SAM
:シーケンシャル) |
順番にデータを記録
空きがでない(記憶効率) |
順次 |
索引編成(ISAM
:インデックス) |
データの索引キーを持つ
基本データ域(キーの昇順)、
索引領域(マスタ、シリンダ、
トラック)、あふれ域(基本域
オーバー)→再編成 |
直接(索引)
順次(基本) |
直接編成(DAM
:ランダム) |
データから記録位置を計算
空きが多い(記憶効率)
シノニム(衝突) |
直接 |
区分編成(PAM
:パーティション) |
ディレクトリとメンバ(順編成)
メンバ(複数)ごとに更新、
削除→プログラムライブラリ |
直接(メンバ)
順次(メンバ内) |
仮想記憶編成
(VSAM) |
仮想記憶システム(多目的)
データセット(入力,キー,相対)単位で管理 |
順次、直接 |
・アクセス方式
プログラムとファイル間のデータ操作方法
順次
(シーケンシャル) |
ファイルの先頭から順番 |
直接
(ランダム) |
目的データを直接アクセス |
動的アクセス |
直接+順次
ある地点から順次(※DVDなど) |
|