가상 파일 시스템

가상 파일 시스템(, 줄여서 VFS)은 실제 파일 시스템 위의 추상 계층이다. VFS의 목적은 클라이언트 응용 프로그램이 여러 파일 시스템에 같은 방법으로 접근할 수 있게 하는 것이다. 이를테면 VFS를 사용하면 클라이언트 응용 프로그램은 로컬인 기억 장치에도 네트워크 위의 기억 장치에 직접적으로 접근할 수 있기 때문에 로컬과 네트워크의 차이를 느끼지 못한다. 또, 마이크로소프트 윈도, 맥 오에스, 유닉스 운영 체제의 차이를 넘어 파일 시스템의 차이를 느끼는 일 없이 접근할 수 있다.

VFS는 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고 있다. 그러므로 그 규격에 따라 간단히 새로운 파일 시스템을 커널에 추가할 수 있다. 파일 시스템은 새로운 공개 버전과의 호환성을 위해 수정하거나 다시 컴파일해야 할 수도 있다. 아니면 운영 체제에서 규격 변경에 대해 하위 호환 모드로 동작한다면 각 파일 시스템은 새로운 버전의 운영 체제에서도 그대로 사용할 수 있다.

구현 
VFS를 구현할 때는 주로 객체 지향 방식(OOP)의 오버로딩 개념을 적용한다. 읽기/쓰기와 같은 시스템 호출 발생 시, 해당 파일이 속한 파일 시스템에 맞는 동작이 수행될 수 있도록 매핑해주는 것이다.

단일 파일 가상 파일 시스템이 추가된 예 
 PCTask
 WinUAE
 whefs (fossil.wanderinghorse.net/repos/whefs/

같이 보기 
 9P

파일 시스템
가상화 소프트웨어