より単純なオペレーティングシステムではストレージへのアクセス手段が限られているが、UNIXやLinuxなどのオペレーティングシステムでは仮想ファイルシステム (VFS) という機構をサポートしている。UNIXなどのオペレーティングシステムは様々なストレージ(補助記憶装置)デバイスをサポートしており、それらの仕様やファイルシステムとは独立した共通のアプリケーションプログラミングインタフェース (API) でアクセスできるようにしている。そのためプログラムはアクセスしようとしているデバイスに関する知識を持つ必要がない。VFS機構により、プログラムはデバイスドライバとファイルシステムドライバを経由してシステム上のあらゆるデバイスと様々なファイルシステムにアクセス可能となる。
ハードディスクドライブなどの補助記憶装置には、デバイスドライバを通してアクセスする。デバイスドライバは担当するデバイスのインタフェースをよく理解しており、それをオペレーティングシステムが全ディスクドライブに共通で用意しているインタフェースに変換する。UNIXでは、それがブロックデバイスのインタフェースである。
代表例.
プラットフォーム間の差異.
障害への対応.
ファイルシステムには、急な電源切断などによる障害へ対応する機構を持つものがある。
デバイスドライバ.
デバイスドライバはハードウェアとのやり取りをするためのソフトウェアである。一般にハードウェアとの通信を行うインタフェースを持ち、ハードウェアの接続される何らかの通信サブシステムやバスを経由して通信を行う。コマンドをハードウェアに送り、データの送受信を行う。また、一方でオペレーティングシステムやアプリケーションに対するインタフェースも提供する。ハードウェアに強く依存するプログラムであり、オペレーティングシステムにも依存している。これによって、オペレーティングシステムやアプリケーションがハードウェアを使って動作することが容易になっている。ハードウェアの非同期的な割り込みの処理もデバイスドライバの役割である。