파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말임
파일 시스템은 하드 디스크나 CD-ROM 같은 실제 자료 보관 장치를 사용하여 파일의 물리적 소재를 관리하는 것을 가리킴
저장매체엔 수많은 파일이 있어서 이런 파일들을 관리하는 방법을 말함
파일 시스템은 일반적으로 크기가 일정한 블록들의 배열에 접근할 수 있는 자료 보관 장치 위에 생성되어 이러한 배열들을 조직함으로 파일이나 디렉토리를 만들며 어느 부분이 파일이고 어느 부분이 공백인지를 구분하기 위하여 각 배열에 표시를 해 둠
자료를 클러스터 또는 블록이라고 불리는 일정한 단위에 새겨 넣음, 파일 하나가 필요로 하는 디스크의 최소 공간임
파일 관리, 보조 저장소 관리, 파일 무결성 메커니즘, 접근 방법 제공 등의 역할을 함
파일 시스템 종류에 있어서도 디스크, 네트워크, 그리고 특수 용도의 파일 시스템등이 있음 각 파일을 저장하는 시스템에 따라서 다양하게 존재함, 운영체제별로도 다름
계층적 디렉토리 구조를 갖음, 이 구조엔 루트라고 하는 디렉토리가 있고 각 디렉토리가 하부 디렉토리를 가지고, 하부 디렉토리는 다시 또다른 하부 디렉토리들을 가지는 형태임
많은 정보를 가짐, 총 블록수, 블록 위치, 디렉토리 구조, 파일 정보 등 파일의 속성, 파일에 대한 연산 등도 파일시스템을 통해 이루어짐
파일시스템에 대한 실제 저장소는 디스크로써, 디스크 파티션 별로 파일시스템을 하나씩 둘 수 있음
커널 영역에서 동작하고 파일 CRUD 기능을 원할히 수행하기 위한 목적을 가짐
하드디스크와 메인 메모리 속도차를 줄이기 위해 씀
파일 관리, 하드디스크 용량 효율적 이용을 위해 활용함
저장된 파일은 실제 정보 내용을 가짐
디렉토리는 정리, 검색 기능을 제공함, 모든 파일에 대한 정보(파일 속성 등)를 유지함
소프트웨어 루틴은 논리 구조 및 파일 액세스를 조정함
구조는 메타 영역 & 데이터 영역으로 이루어짐
메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등의 파일 정보
데이터 영역 : 파일의 데이터
가장 간단한 방법으로 파일의 정보가 레코드 순서대로 차례차례 처리됨
읽기, 쓰기에 대한 시스템 콜이 발생하면 현재 위치를 가르키는 포인터에서 포인터를 앞으로 보내면서 읽거나 씀, 뒤로 돌아가면 지정한 offset만큼 되감기를 해야함, 테이프 모델에 기반을 둠
특별한 순서 없이 빠르게 레코드를 읽고 쓸 수 있음
디스크 모델에 기반을 두면서 무작위 파일 블록에 대한 임의 접근를 허용하기 때문, 대규모 정보를 즉각적으로 접근하는 데 유용하여 데이터베이스에 이용됨
현재 위치를 가르키는 변수만 유지된다면 직접 접근 파일을 가지고 순차 파일 기능을 쉽게 구현할 수 있음
직접 접근 파일에 기반하여 색인 구축
크기가 큰 파일을 입출력 탐색할 수 있게 도와줌
사용자에게 개별적인 디렉토리 만들어줌
UFD(User File Directory) : 자신만의 사용자 파일 디렉토리
MFD(Master File Directory) : 사용자의 이름과 계정번호로 색인되어 있는 디렉터리
2단계 구조 확장된 다단계 트리 구조
한 비트를 활용하여, 일반 파일(0)인지 디렉터리 파일(1) 구분
순환이 발생하지 않도록 하위 디렉토리가 아닌 파일에 대한 링크만 허용하거나, 가비지 컬렉션을 이용해 전체 파일 시스템을 순회하고 접근 가능한 모든 것을 표시
링크가 있으면 우회하여 순환을 피할 수 있음