主に2つのファイルアクセス方法がありますが、シーケンシャルとダイレクト。 Linuxではどちらを使用していますか?Linuxのファイルアクセス方法
readコマンドでは、読み込むバイト数とバッファを指定します。私たちはLinuxで順次アクセスしていますか?
しかし、物理的にはブロックが格納されていますか?私はそれに関連することができませんでした。
Linuxで直接アクセスできますか?
ガービンによるオペレーティングシステムの概念のこれらのアクセスモデルについては、
主に2つのファイルアクセス方法がありますが、シーケンシャルとダイレクト。 Linuxではどちらを使用していますか?Linuxのファイルアクセス方法
readコマンドでは、読み込むバイト数とバッファを指定します。私たちはLinuxで順次アクセスしていますか?
しかし、物理的にはブロックが格納されていますか?私はそれに関連することができませんでした。
Linuxで直接アクセスできますか?
ガービンによるオペレーティングシステムの概念のこれらのアクセスモデルについては、
のいずれも可能です。
普通のファイルでread
を実行すると、ファイルポインタを順番に読み込み、毎回適切な量だけファイルポインタを進めます。
しかし、seek
を使用して、ファイル内の任意のポイントに移動することもできます。
すべてのファイルがランダム/直接アクセスをサポートするわけではありません。例えば、パイプは通常、シーケンシャルアクセスのみです(巻き戻しやスキップはできません)。
ほとんどすべてが可能ですが、一部のファイルタイプには制限があります。
(ダイレクトI/O(O_DIRECT
フラグ)によるファイルアクセスが全く異なる概念である。)
あなたは確かにオープン(ディスク)ファイル内の任意の位置からの読み出し/書き込みすることができます。
さまざまな種類の使用に最適化されたランダムIOを実行する方法はいくつかあります。