파일 할당(File Allocation)
Updated:
파일 할당(File Allocation)
- 연속 할당(Contiguous Allocation) : 각 파일에 대해 디스크 상의 연속된 블록을 할당
- 장점
- 디스크 헤더의 이동 최소화 = 빠른 i/o 성능
- 동영상, 음악, VOD 등에 적합
- 순차 접근(sequential access) 가능
- 특정 부분을 읽기 가능
- 단점
만들고 지우고 하다보면 외부 단편화로 인한 디스크 낭비
- 연결 할당(Linked Allocation) : 파일 디렉토리(directory)는 제일 처음 블록을 가리킨다. 각 블록은 포인터 저장을 위해 4byte를 소모
- 장점
- 외부 단편화가 없다.
- 순차 접근(sequential access) 가능
- 단점
- 특정 부분 읽기(direct access) 불가능
- 포인터 저장(4byte) 손실
- 낮은 신뢰성 : 포인터 끊어지면 접근 불가
- 느린 속도 : 헤더의 움직임
연결 할당의 단점으로 인해 FAT(File Allocation Table, FAT) 가 등장하였다. FAT 테이블은 각 디스크 블록마다 한 개의 항목을 가지고 있고 이 항목은 디스크 블록 번호를 색인으로 찾는다.
- 색인 할당(Indexed Allocation) : 한 개의 파일 당 인덱스 블록(포인터의 모음)을 가진다. 디렉토리는 인덱스 블록을 가리킨다. Unix/Linux 등에서 사용한다.
- 장점
- Direct Access 가능
- 외부 단편화 없음
- 단점
- 인덱스 블록 할당에 따른 저장공간 손실
ex) 1byte 파일 위해 데이터 블록 1 + 인덱스 블록 1 - 최대 파일 크기 : 256KB -> Linked, Multilevel index등의 방식으로 해결
- 인덱스 블록 할당에 따른 저장공간 손실