파일 시스템
파일과 디렉터리를 관리하는 운영체제 내의 프로그램
-
파일
- 보조 기억장치에 저장된 정보의 집합
- 의미있고 관련있는 정보를 모아놓은 논리적 단위
- 파일을 이루고 있는 정보, 파일을 실행하기 위한 정보 + 부가정보로 구성되어 있다.
-
디렉터리
- 폴더, 여러 계층으로 파일 및 폴더를 관리
- 최상위 디렉터리를 루트 디렉터리(/)라고 부른다.
- 경로
- 디렉터리를 이용해서 파일이나 디렉터리의 위치 등을 특정 지을 수 있는 정보
- 절대경로 - 루트 디렉터리부터 시작하여 자기 자신까지 이르는 고유한 경로
- 상대경로 - 현재 디렉터리에서 자기 자신까지 이르는 경로
-
디렉터리 엔트리
- 많은 운영체제에서는 디렉터리를 그저 ‘특별한 형태의 파일’로 간주한다. 디렉터리의 내부에 무엇이 담겨있는지는 주로 표의 형태로 표현된다. 표의 각각의 행인 디렉터리 엔트리에는 디렉터리에 포함된 대상의 이름과 그 대상이 보조기억장치 내에 저장된 위치가 담겨있다.
파일 할당 방법
- 운영체제는 파일과 디렉터리를 블록(Block)단위로 읽고 쓴다. 즉 하나의 파일이 보조 기억장치에 저장될 때, 여러 개의 블록에 걸쳐서 저장될 수 있다는 의미이다.
- 연속할당 - 보조 기억장치 내부에서 연속적인 블록에 파일을 할당하는 것. 파일이 할당될 첫 번째 블록의 주소와 블록 단위의 길이만 알면 된다. 하지만 이는, 남은 저장공간이 저장하고자 하는 용량보다 크지만, 연속적으로 존재하지 못해서 저장하지 못하는 ‘외부 단편화’를 야기할 수 있다.
- 불연속 할당
- 연결할당 - 블록의 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당하는 것(Linked List와 유사).
- FAT 파일시스템 - 연결할당의 단점을 보완한 것. 각 블록에 포함된 다음 블록 주소를 한 곳에 모아서 FAT(File Allocation Table)로 관리. 일반적인 연결할당과 달리, 블록이 하나 고장나도 작동이 가능하다.
- 색인할당 - 파일의 모든 블록 주소를 색인블록이라는 하나의 블록에 모아서 관리하는 방식