eelseungmin

파일 시스템 (2) - FAT 파일 시스템, 유닉스 파일 시스템

by eelseungmin

이번엔 저번 글에 이어서 FAT 파일 시스템, 유닉스 파일 시스템에 대해 알아보겠다.

 

FAT 파일 시스템

불연속 할당에서 초기 연결 할당 방식의 경우 다음과 같이 두 가지 단점이 존재했다.

  1. 반드시 첫 번째 블록부터 하나씩 차례대로 읽어야 하므로 파일 내 임의 위치에 접근하는 Random Access 속도가 매우 느림.
  2. 하드웨어 고장이나 오류 발생 시 해당 블록 이후 블록은 접근이 불가능.

위 단점들을 보완한 새로운 연결 할당 방식을 적용시킨 파일 시스템이 바로 FAT 파일 시스템이다.

  • 과거 MS-DOS, USB, SD 카드 등 저용량 저장 장치에서 주로 사용,
  • 느린 Random Access 속도 같은 연결 할당의 단점을 보완하기 위해 각 블록의 다음 주소를 한데 모아 저장하는 FAT(File Allocation Table)를 사용함.
  • FAT 16, FAT 32에서 뒤 숫자는 블록을 표현하는 비트 수를 의미함.
  • 디렉터리들은 파일 이름, 확장자, 속성, 예약 영역, 생성 시간, 마지막 접근 시간, 마지막 수정 시간, 시작 블록, 파일 크기 등의 항목을 포함한 채 저장됨.
  • 읽는 순서는 루트 디렉터리 영역 → 데이터 영역(루트에서 읽은 블록 주소) → 데이터 영역(앞서 읽은 블록의 주소) → FAT 영역을 보고 파일에 접근

 

유닉스 파일 시스템

불연속 할당의 색인 할당 방식을 실제로 사용한 파일 시스템은 유닉스 파일 시스템이다.

  • 유닉스 계열 OS에서 주로 사용
  • 색인 블록을 i-node(index-node)라고 부르며, 여기에 파일 속성 정보 및 15개의 블록 주소를 저장함.
  • 파일마다 i-node가 있고, i-node마다 번호가 부여됨.
  • FAT 파일 시스템과 달리 FAT 영역 대신 i-node가 모여있는 i-node 영역이 존재함.
  • 블록을 15개를 초과하여 필요로 하는 파일의 경우 다음과 같이 처리함.
    • 12개의 블록은 직접적으로 파일 데이터를 담은 블록의 주소를 명시함.
    • 이것만으로 부족하다면 13번째 블록에는 파일 데이터가 담긴 블록의 주소가 담긴 블록, 즉 Single Indirect Block(단일 간접 블록)의 주소를 명시함.
    • 그럼에도 부족하다면 14번째 블록에 Double Indirect Block(이중 간접 블록)의 주소를 명시함.
    • 마지막으로 15번째 블록에 Triple Indirect Block(삼중 간접 블록)의 주소를 명시함.
블로그의 프로필 사진

블로그의 정보

eel.log

eelseungmin

활동하기