가상 파일 시스템

프로그래밍을 하다보면 빠지지 않는 것이 파일 처리인데요, 혹시 파일 작업을 하기 위해 read(), write()와 같은 시스템콜을 사용하면서 "왜 매개변수로 어떤 파일 시스템인지 넘겨주지않지?"라고 생각해보신적 있으신가요? 사실 조금만 생각해보면 답이 금방나오는 질문입니다. 이유는 파일 시스템이 추상화되어있기 때문입니다. 구조를 표현하면 다음 그림과 같습니다.

 

 

파일 시스템간의 공통된 인터페이스를 둠으로써 얻는 장점은 여러 가지가 있습니다.

   1. 동일한 방법으로 접근이 가능하다.

   2. 파일 시스템간의 이식성이 좋아진다.

   3. 새로운 파일 시스템이 추가되더라도 설계를 변경할 필요가 없다.