파일 시스템은 데이터를 효과적으로 관리하기 위해 사전에 정의한 기록 방식이다. 효과적인 관리를 위해 최근에는 압축, 암호화, 저널, 동적 할당, 다국어 지원 등 다양한 기능을 보유하고 있다.
파일시스템은 운영체제나 운영체제나 저장매체 혹은 사용환경에 따라 고유한 파일시스템이 사용된다.
저장매체 | 운영체제 | 파일시스템 |
---|---|---|
디스크장치 | Windows | FAT, NTFS |
Linux | ext | |
Unix-like | UFS | |
Mac OS | HFS, HFS+ | |
Solaris | ZFS |
물론 위의 파일시스템이 각 운영체제에서 고정적으로 사용되는 것은 아니다. 게다가 여기서 언급한 파일시스템 외에도 스마트폰 같은 장비에 사용되는 다양한 파일시스템이 사용될 수 있다. 이러한 파일 시스템은 표준에 대한 필요성이 없어서 각 벤더들마다 조금씩 변형하영 독자적으로 사용하는 경우가 많다.
파일시스템은 컴퓨터의 구조로 보면 사용자 영역이 아닌 커널 영역에서 동작하게 된다. 즉, 파일시스테은 사용자에게 하드디스크의 동작을 추상화 시켜주는 도구가 되는 것이다.
파일 시스템은 암호화, 압축 등 다양한 기능을 제공하지만 본래의 기능은 원하는 파일을 읽기, 쓰기, 삭제 등 기본적인 기능을 원할하게 수행하기 위한 목적이다.
파일시스템은 대부분 메타영역과 데이터영역 두가지 영역으로 구분된 구조를 가진다.
Meta Area | Data Area |
---|
메타영역은 일반적으로 데이터영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등이 구조적으로 저장되어 관리된다.
데이터영역에 기록된 모든 파일은 메타영역에 의해 정보를 얻을 수 있으므로 직접 파일 데이터가 필요한 경우가 아니라면 메타영역의 접근만으로 해당 파일의 정보를 확인할 수 있다.