파일 할당(File Allocation)

Updated:

파일 할당(File Allocation)

  • 연속 할당(Contiguous Allocation) : 각 파일에 대해 디스크 상의 연속된 블록을 할당

  • 장점
    1. 디스크 헤더의 이동 최소화 = 빠른 i/o 성능
    2. 동영상, 음악, VOD 등에 적합
    3. 순차 접근(sequential access) 가능
    4. 특정 부분을 읽기 가능
  • 단점
    만들고 지우고 하다보면 외부 단편화로 인한 디스크 낭비

  • 연결 할당(Linked Allocation) : 파일 디렉토리(directory)는 제일 처음 블록을 가리킨다. 각 블록은 포인터 저장을 위해 4byte를 소모

  • 장점
    1. 외부 단편화가 없다.
    2. 순차 접근(sequential access) 가능
  • 단점
    1. 특정 부분 읽기(direct access) 불가능
    2. 포인터 저장(4byte) 손실
    3. 낮은 신뢰성 : 포인터 끊어지면 접근 불가
    4. 느린 속도 : 헤더의 움직임

연결 할당의 단점으로 인해 FAT(File Allocation Table, FAT) 가 등장하였다. FAT 테이블은 각 디스크 블록마다 한 개의 항목을 가지고 있고 이 항목은 디스크 블록 번호를 색인으로 찾는다.


  • 색인 할당(Indexed Allocation) : 한 개의 파일 당 인덱스 블록(포인터의 모음)을 가진다. 디렉토리는 인덱스 블록을 가리킨다. Unix/Linux 등에서 사용한다.

  • 장점
    1. Direct Access 가능
    2. 외부 단편화 없음
  • 단점
    1. 인덱스 블록 할당에 따른 저장공간 손실
      ex) 1byte 파일 위해 데이터 블록 1 + 인덱스 블록 1
    2. 최대 파일 크기 : 256KB -> Linked, Multilevel index등의 방식으로 해결