file system implement

Jeong seulho·2023년 3월 8일
0

운영체제

목록 보기
32/35

📌Allocation Methods

📖Continuous allocation

  • 한 File을 디스크의 연속된 block에 저장
  • 효율적인 file 접근 (순차, 직접 접근)
  • 새로운 file을 위한 공간 확보가 어려움
  • External fragmentation
  • 파일이 용량이 커지도록 변경된 경우를 고려해야해서 차지할 공간 크기 결정이 어려움

📖Discontinuous allocation

✏️Linked allocation

  • File이 저장된 block들을 linked list로 연결
  • Directory는 각 file에 대한 첫 번째 block에 대한 포인터를 가짐
  • Simple, No external fragmentation
  • 직접 접근에 비효율적
  • 포인터 저장을 위한 공간 필요

✏️File Allocation Table (FAT)

  • linked allocation 실제 사용 법
  • 각 block의 시작 부분에 다음 블록의 번호를 기록하는 방법

✏️Indexed Allocation

  • File이 저장된 block의 정보(pointer)를 Index block에 모아 둠
  • 직접 접근에 효율적, 순차 접근에는 비효율적
  • File 당 Index block을 유지
  • Index block 크기에 따라 파일의 최대 크기가 제한 됨

📌Free Space Management(빈 공간 관리)

📖Bit vector

  • 시스템 내 모든 block들에 대한 사용 여부를
    1 bit flag로 표시
  • Bit vector 전체를 메모리에 보관 해야 함, 대형 시스템에서 부적합

📖Linked list

  • 빈 block을 linked list로 연결

📖Grouping

  • n개의 빈 block을 그룹으로 묶고, 그룹 단위로
    linked list로 연결
  • 연속된 빈 block을 쉽게 찾을 수 있음

📖Counting

  • 연속된 빈 block들 중 첫 번째 block의 주소와
    연속된 block의 수를 table로 유지
  • Continuous allocation 시스템에 유리한 기법

0개의 댓글