19
第第第第第第 10 第第第第第第第第第第第第第 第第第第第第第第第第第第第 第第第第第第 第第第第第第 sequential access sequential access random access random access 第第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第 第第第第第第第第第 第第第第第第第第第 第第第第第第第第第第第第第 第第第第第第第第第第第第第 第第第第第第第第第第第第第第 第第第第第第第第第第第第第第

第10回 ファイル管理

  • Upload
    zinnia

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

第10回 ファイル管理. 論理レコードと物理レコード アクセス方式 sequential access random access ユーザから見たファイルシステム 補助記憶装置の構成 ボリュームとファイルの管理 プログラム上でのファイル操作. ファイルとは?. あるまとまった関連のある情報を集めたデータの塊 MVS ではデータセット 情報を保存するハードウェア 磁気ディスク、 Floppy Disk, 磁気テープ、光ディスクなど ファイルという抽象的なデータの塊を扱うことにより、データの検索、利用が容易になる ファイル操作・管理は OS の重要な仕事の一つ. - PowerPoint PPT Presentation

Citation preview

Page 1: 第10回 ファイル管理

第10回 ファイル管理論理レコードと物理レコード論理レコードと物理レコードアクセス方式アクセス方式

− sequential accesssequential access− random accessrandom access

ユーザから見たファイルシステムユーザから見たファイルシステム補助記憶装置の構成補助記憶装置の構成ボリュームとファイルの管理ボリュームとファイルの管理プログラム上でのファイル操作プログラム上でのファイル操作

Page 2: 第10回 ファイル管理

ファイルとは?あるまとまった関連のある情報を集めたデータあるまとまった関連のある情報を集めたデータの塊の塊− MVSMVSではデータセットではデータセット

情報を保存するハードウェア情報を保存するハードウェア− 磁気ディスク、磁気ディスク、 Floppy Disk, Floppy Disk, 磁気テープ、光ディス磁気テープ、光ディスクなどクなど

ファイルという抽象的なデータの塊を扱うことファイルという抽象的なデータの塊を扱うことにより、データの検索、利用が容易になるにより、データの検索、利用が容易になる

ファイル操作・管理はファイル操作・管理は OSOSの重要な仕事の一つの重要な仕事の一つ

Page 3: 第10回 ファイル管理

ファイルの構造 論理レコード(論理レコード( logical recordlogical record))

− OSOSで扱われるデータの最小単位で扱われるデータの最小単位− ユーザプログラムの入出力の単位ユーザプログラムの入出力の単位

物理レコード(物理レコード( physical recordphysical record)、ブロック)、ブロック− OSOSが補助記憶装置との間で入出力をやりとりする単位が補助記憶装置との間で入出力をやりとりする単位

レコードの長さによる区分レコードの長さによる区分− 固定長レコード固定長レコード− 可変長レコード可変長レコード− 不定長レコード不定長レコード

特定のファイル構造を全く支援しない特定のファイル構造を全く支援しない− cf.) Unix, MS-DOScf.) Unix, MS-DOS などなど− ファイルは単なるバイト列で、バイト単位の入出力(ストリーム入ファイルは単なるバイト列で、バイト単位の入出力(ストリーム入出力)出力)

− ユーザプログラムが、ファイルの構造とそれに基づく入出力を行うユーザプログラムが、ファイルの構造とそれに基づく入出力を行う

Page 4: 第10回 ファイル管理

ファイル・アクセス法 Sequential Access(Sequential Access(逐次アクセス・順アクセス)逐次アクセス・順アクセス)

− 読出し、書込みをファイルの先頭から順に行う読出し、書込みをファイルの先頭から順に行う− ファイルポインター:最後にアクセスした位置ファイルポインター:最後にアクセスした位置− 巻き戻し(巻き戻し( rewind):rewind): ファイルポインターをファイルの先頭に戻すファイルポインターをファイルの先頭に戻す− 磁気テープなど磁気テープなど− ファイル全体をアクセスする場合などは効率が良いファイル全体をアクセスする場合などは効率が良い− 当該情報のアクセスには不向き当該情報のアクセスには不向き− UnixUnix では、基本的にでは、基本的に Sequential AccessSequential Access であるが、ファイルポインであるが、ファイルポインターの移動は自由ターの移動は自由

Random Access(Random Access(ランダムアクセス・直接アクセス)ランダムアクセス・直接アクセス)− 読出し、書込みを任意の場所から行う読出し、書込みを任意の場所から行う− アクセスごとに位置(相対ブロック番号)を指定アクセスごとに位置(相対ブロック番号)を指定− 相対ブロック番号:ファイルの先頭からのブロック番号相対ブロック番号:ファイルの先頭からのブロック番号− 当該情報の高速アクセス当該情報の高速アクセス− ファイル全体をアクセスするのは不向きファイル全体をアクセスするのは不向き

Page 5: 第10回 ファイル管理

ファイルシステムコンピュータ内の膨大な数のファイルを効率良コンピュータ内の膨大な数のファイルを効率良く、統一的な方法で管理するためにく、統一的な方法で管理するために OSOSが用意が用意するシステムするシステム

ディレクトリ:ファイルの登録簿。ファイル情ディレクトリ:ファイルの登録簿。ファイル情報を記録・管理する。図書館でいうと図書目録報を記録・管理する。図書館でいうと図書目録

ファイル:データの実体がある塊ファイル:データの実体がある塊管理するもの管理するもの

− ファイルのある場所(ディレクトリ構成)ファイルのある場所(ディレクトリ構成)− ファイルのアクセス属性ファイルのアクセス属性− ファイル操作・ディレクトリ操作ファイル操作・ディレクトリ操作− 補助記憶装置とのやりとり補助記憶装置とのやりとり

Page 6: 第10回 ファイル管理

ファイルの属性( attribute)

ファイルの管理情報ファイルの管理情報− 名前名前− 型型− 物理的位置物理的位置− サイズサイズ− 保護情報保護情報− 参照時刻参照時刻

Page 7: 第10回 ファイル管理

ディレクトリに登録される名前の刑式

MS-DOSMS-DOS では、では、 8+3(8+3( ファイル拡張子ファイル拡張子 ))BSD Unix BSD Unix では、最大255バイトの可変では、最大255バイトの可変長文字列長文字列

拡張子:ファイルの属性を簡略化して記拡張子:ファイルの属性を簡略化して記述するための短い文字列。名前と拡張子述するための短い文字列。名前と拡張子は、は、 .(.( ドット)で区切られるドット)で区切られる

Page 8: 第10回 ファイル管理

階層的なディレクトリ構成

A B C

ルート

A C

A A

A B C

C

ファイル

ディレクトリ

• 木構造• ルート(根)ディレクトリ• パス名

− ルートから葉に至るまでの経路(場所を示す)

Page 9: 第10回 ファイル管理

階層構造ディレクトリの用語ルートディレクトリ:木構造の根にあたる部ルートディレクトリ:木構造の根にあたる部分のディレクトリ。全ての頂点分のディレクトリ。全ての頂点

カレントディレクトリ:各ユーザあるいはプカレントディレクトリ:各ユーザあるいはプロセスが現在作業しているディレクトリロセスが現在作業しているディレクトリ

絶対パス:ルートディレクトリからのパス名絶対パス:ルートディレクトリからのパス名相対パス:カレントディレクトリからのパス相対パス:カレントディレクトリからのパス名名

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

Page 10: 第10回 ファイル管理

補助記憶装置の構成

アクセスアーム

トラック 読み書きヘッド

シリンダ

ディスク

シーク動作回転

Page 11: 第10回 ファイル管理

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

トラック: 各記憶面上で情報を記録する同心円トラック: 各記憶面上で情報を記録する同心円シリンダ: 各記憶面の同じ位置のトラックの集シリンダ: 各記憶面の同じ位置のトラックの集合で、ヘッドの移動なしに読み書きができる円筒合で、ヘッドの移動なしに読み書きができる円筒状に定義されるもの。状に定義されるもの。

ヘッド: 各記憶面に配置された読み書きヘッドヘッド: 各記憶面に配置された読み書きヘッドセクタ: トラックをいくつかの固定長の物理レセクタ: トラックをいくつかの固定長の物理レコードに分けたもの。読み書きの単位コードに分けたもの。読み書きの単位

磁気ディスクは、シリンダ数、ヘッド数、セクタ磁気ディスクは、シリンダ数、ヘッド数、セクタ数で表現されることが多い(数で表現されることが多い( CHSCHS))

Page 12: 第10回 ファイル管理

ディスクに対するアクセス1. seek(シーク): アクセスアームを移動させてヘッド: アクセスアームを移動させてヘッド

を指定したシリンダに位置づける。これに要する時間を指定したシリンダに位置づける。これに要する時間ををシーク時間というという

2.2. 指定したヘッドを選ぶ指定したヘッドを選ぶ3.3. トラック上の指定したレコード(セクタ)がヘッドのトラック上の指定したレコード(セクタ)がヘッドの

位置まで回転するのを待つ。これに要する時間を位置まで回転するのを待つ。これに要する時間を回転待ち時間( latency)

磁気ディスクのように、ディスク上の任意のアドレス磁気ディスクのように、ディスク上の任意のアドレスを指定してレコードにアクセスできる記憶装置をを指定してレコードにアクセスできる記憶装置をランダムアクセス記憶装置( random access storage device)というという

半導体記憶装置を通常のディスクのように使用できる半導体記憶装置を通常のディスクのように使用できるようにしたものをようにしたものを RAMディスクというという

Page 13: 第10回 ファイル管理

ボリュームとファイル管理 記憶媒体(記憶媒体( storage medium): storage medium): 磁気ディスクや磁気テー磁気ディスクや磁気テー

プなど情報を記憶する媒体プなど情報を記憶する媒体 ボリューム(ボリューム( volume)volume): 記憶媒体の総称: 記憶媒体の総称 ボリュームの保持する情報ボリュームの保持する情報

1.1. 初期プログラムローダ(初期プログラムローダ( IPLIPL))2.2. ボリューム管理情報: ボリューム名、ボリューム構成情報、ボリューム管理情報: ボリューム名、ボリューム構成情報、

領域割り当て情報、不良ブロックなど領域割り当て情報、不良ブロックなど3.3. ファイルの管理情報: ファイル名、型、大きさなどのファファイルの管理情報: ファイル名、型、大きさなどのファ

イル属性イル属性4.4. ファイルデータ: ファイルの中身ファイルデータ: ファイルの中身

VTOC(Volume Table Of Contents) : MVSVTOC(Volume Table Of Contents) : MVS Super-BlockSuper-Blockとと i-nodei-node :  : UnixUnix FAT(File Allocation Table) : MS-DOSFAT(File Allocation Table) : MS-DOS フォーマット処理(フォーマット処理( FormatFormat): 記憶媒体を使用する): 記憶媒体を使用する

前に、ボリュームの状態(不良セクタなど)やトラッ前に、ボリュームの状態(不良セクタなど)やトラックやセクタなどの構造を磁気的に作りあげておく操作クやセクタなどの構造を磁気的に作りあげておく操作

Page 14: 第10回 ファイル管理

ボリュームの構成ブートブロック

スーパーブロック

シリンダブロック

データ領域

i-node リスト

a) Unixの論理ボリューム

IPL

FAT

ルートディレクトリ

データ領域

b) MS-DOSの物理ボリューム

Page 15: 第10回 ファイル管理

ディレクトリの設計と名前の管理

   MS-DOSMS-DOSの場合:の場合:ディレクトリにファイルの属性情報と領域を管理する表(ディレクトリにファイルの属性情報と領域を管理する表( FATFAT )のイ)のインデックスが登録される。ンデックスが登録される。ルートディレクトリには、ボリュームラベルも登録され、ルートディルートディレクトリには、ボリュームラベルも登録され、ルートディレクトリのみ固定の大きさと位置を持つレクトリのみ固定の大きさと位置を持つ   MVSMVSの場合:の場合:ボリュームごとのファイル管理はボリュームごとのファイル管理は VTOCVTOC で行われ、ボリューム名とフで行われ、ボリューム名とファイル名を指定してファイルを特定する。ァイル名を指定してファイルを特定する。ただし、カタログと呼ばれる論理的なディレクトリの木によって、ユただし、カタログと呼ばれる論理的なディレクトリの木によって、ユーザは物理的なボリュームを意識しなくてもよいようになっているーザは物理的なボリュームを意識しなくてもよいようになっている   UnixUnix の場合:の場合:論理ボリュームごとにそこに存在するファイルを登録した木を作成し、論理ボリュームごとにそこに存在するファイルを登録した木を作成し、システム起動時に起動されるボリュームのファイルシステムをルートシステム起動時に起動されるボリュームのファイルシステムをルートファイルシステムとして、別々の論理的なディレクトリツリー(ファファイルシステムとして、別々の論理的なディレクトリツリー(ファイルシステム)をマウント(イルシステム)をマウント( mount: mount: 木を結合すること木を結合すること )) ことによって、ことによって、システムに一本の論理的なディレクトリツリーを作成する。システムに一本の論理的なディレクトリツリーを作成する。詳しくは、黒板の図を参照のこと。詳しくは、黒板の図を参照のこと。

Page 16: 第10回 ファイル管理

領域の割り当て1.1. ファイル全体を連続領域割り当てファイル全体を連続領域割り当て

− 実現が簡単実現が簡単− 外部断片化外部断片化− ファイルの大きさの予想が困難ファイルの大きさの予想が困難− 詰め直し詰め直し

2.2. ブロックなどの固定領域を連続領域割り当てブロックなどの固定領域を連続領域割り当て− 同じファイルのブロックが散在してしまう同じファイルのブロックが散在してしまう− 内部断片化内部断片化

3.3. できるだけ連続した領域を割り当てできるだけ連続した領域を割り当て− エクステント: 割り当てられる連続領域。トラックもしくはシリエクステント: 割り当てられる連続領域。トラックもしくはシリンダ単位。ンダ単位。

− ファイル作成時もしくは拡張時に必要に応じてエクステントを割りファイル作成時もしくは拡張時に必要に応じてエクステントを割り当て当て

− 内部断片化内部断片化− 管理が複雑管理が複雑− アクセスは高速アクセスは高速

Page 17: 第10回 ファイル管理

領域の管理リスト方式リスト方式索引方式索引方式 空き領域の管理空き領域の管理

− リスト方式リスト方式− ビットマップ方式ビットマップ方式

Page 18: 第10回 ファイル管理

プログラムとファイルの結合ファイル制御ブロック(ファイル制御ブロック( FCB, file control block): FCB, file control block): ユーザが指定するレコードの長さやアクセス法、ユーザが指定するレコードの長さやアクセス法、ファイルポインタ(ファイルポインタ( sequential accesssequential access の場合)の場合)を管理するデータ構造を管理するデータ構造− cf.) MVScf.) MVS では、では、 DCBDCB

ファイル記述子(ファイル記述子( file descriptor):file descriptor): Unix Unix では、では、 FCBFCBは必要なく(は必要なく( i-nodei-node で管理)、で管理)、システムコールにシステムコールに openopenしたファイルのファイしたファイルのファイル記述子を渡してファイル操作するル記述子を渡してファイル操作する− cf.) MS-DOScf.) MS-DOS では、ファイルハンドルがファイル記述では、ファイルハンドルがファイル記述子と同等である。子と同等である。

Page 19: 第10回 ファイル管理

期末試験について出題範囲(第5回から第9回目まで)出題範囲(第5回から第9回目まで)

− メモリ管理、仮想メモリ、アドレス変換メモリ管理、仮想メモリ、アドレス変換− 入出力制御入出力制御− 並行プロセス、排他制御、同期操作並行プロセス、排他制御、同期操作− プロセス間通信プロセス間通信

出題形式(出題形式( 44 題出題、題出題、 22 題中1題選択で計題中1題選択で計 33題):記述式:配点題):記述式:配点 3030点点

試験時間:試験時間: 4545分(試験開始は分(試験開始は 1111時時 1515分)分) 試験開始までは、自習時間とする試験開始までは、自習時間とする