[簡単な用語整理] File System
File System関連業務で使用する用語まとめ
はじめに
現在担当している業務でベースとなる用語についての知識が少し不足していると感じたので、ついでに知っていた用語まで追加で調べて、簡単にまとめてみる時間を持つことにした。
File Descriptor
1.Linux,Unix系システムでは 2.ProcessがFileを扱う時使う値の一種。
プロセスがファイルを開く時、カーネルがそのプロセッサのファイルディスクリプタ番号のうち、使用していない最小の値を割り当てることで、以後、システムコールを使ってファイルをアクセスする時、ディスクリプタ値を利用してファイルを参照することができます。
基本割り当てディスクリプタ
- 標準入力 (Standard Input)
- 標準出力 (Standard Output) 3.標準エラー (Standard Error)
Inode ### Inode
Index Nodeの略で、ファイルを素早く探すためのノード。
inodeはLinuxの全てのファイルにインデックスを付与し、そのファイルに対するメタデータを保有しているノードです。listコマンドで出力するメタデータをinodeが持っています。
Symbolic Link
元のファイルの inode を指し示す情報を持つファイル。
- 内部的にファイルへのアクセスはinode番号でアクセスします。
元のファイルに関する情報を持たない新しいinodeを持つ * 内部的にファイルアクセスはinode番号でアクセスする
cf) Hard Link
-
新しいinodeを持つファイルではなく、inodeだけをそのままコピーしたファイル。
-
本当のコピーとの違いは、data記録がコピーと違って追加的に発生しないこと。
Block Device & Character Device
-
データ転送方式の違いでデバイスを分類
-
Block: ブロックやセクタなどの定量単位でデータ転送、IO転送速度が速い。
-
Character: Byte単位でデータ転送、IO転送速度が多少遅くなる可能性がありますが、Application端でBuffering制御を通じた性能差が存在します。
Raw Device
ファイルシステムがset upされていないデバイス
-
OSカーネルによってバッファリングされず、DeviceからDataを直接転送、独自のキャッシュシステムを持つ場合に使用。
-
Disk IO性能が良く、CPUオーバーヘッドが少ない。
-
OS ファイルシステムのオーバーヘッドを回避でき、OSバッファサイズを減らすことができる。
-
shared diskの場合、システムに構成すると同時アクセスができないため、raw deviceとして使用。
IO Scheduler
ディスクI/Oを効率的にするために、リクエストをソート、マージし、処理順序を決定するシステムの一部。
-
探索時間が高く、同じ場所へのリクエストをマージすることが効果的なHDDのようなデバイスに特に有効で、SSDでは効果が半減します。
-
種類
-
noop: no-operation, 性能の高いディスクに使用します。
-
cfq (completely fair queueing):プロセスごとにIOキューを付与し、できるだけ均等に予約、大量のプロセスが細かなIOを発生させるときに使用。
-
deadline: 限界点に近いほど優先処理、遅延時間に対する最適化、I/O全てバランスよく処理し、少数のプロセスが多数のI/Oを発生させる環境に適しています。
-
anticipacy: 今後発生するI/O要求の位置を予測し、近い位置に存在するI/O要求から処理する方式、伝統的なHDDで使用する構造、入出力を集めて処理する性質があり、遅延時間が長くなる可能性がある。
-
댓글 작성
게시글에 대한 의견을 남겨 주세요.