[OS 공룡책] Ch14. File-System Implementation

Jnary·2024년 1월 21일
0

Operating System

목록 보기
13/14
post-thumbnail

Chapter 14: File-System Implementation

File-System Structure

File-System Structure

  • 파일 구조 : 논리 저장 단위, 관련 정보 집합

  • 디스크에 위치

    • user interface : 논리적 주소 → 물리적 주소 매핑
    • 효율적, 편리하게 저장
  • 디스크의 기능

    • rewrite, random access 제공
    • 섹터의 블록 단위로 I/O 전송
  • File Control Block (FCB)

    • 파일에 대한 정보를 포함하는 저장 구조
    • 메타데이터 포함, 파일 시스템에서 파일 관리하는 데 필요한 정보 제공
  • Device driver

    • 물리적 장치 제어
    • 운영체제, 하드웨어 간의 중재자 역할

Allocation Methods

File하나에 logical block을 어떻게 mapping 시킬까?

Allocation Methods - Contiguous

  • 무식해서 현재 사용 X
  • 시작과 크기만 알면 됨.
    • Memory Contiguous와 동일 → External Fragmentation 발생 : compaction 필요
    • drive(volume, File system의 단위)마다 크기 고정
  • 할당 어려움 : First-fit, Best-fit, Worst-fit
  • 관리 용이 but, 효율적인 관리 X

Allocation Methods - Linked

  • 시작, 끝만 적어놓음 → 포인터 사용
  • 새로운 블록 필요할 때마다 free space management system 호출
  • FAT과 동일
    • 디스크 블록마다 한 개의 항목을 가지고 다음 디스크 블록 가리킴
    • 디렉토리 항목 : 파일의 첫 번째 블록 번호 가리킴

Allocation Methods - Indexed

  • UFS (Unix File System)과 거의 동일
  • Random access가능
  • index table 필요 → overhead

Free-Space Management

Free-Space Management

  1. Bit Map (Bit vector)

    • 몇 번 block이 free한 지 알 수 있음
    • extra space를 사용한다는 문제
      • block size = 4KB = 2^12B

      • disk size = 2^40B

      • n = 2^40 / 2^12 = 2^28 = 32MB (블록 단위 관리)

        → 해결) 블록 클러스터링

  2. Free List (Linked list)

    • 할당 안 된 애들만 linked list 형태로 유지
    • 할당 쉬움
profile
숭실대학교 컴퓨터학부 21

0개의 댓글