Chapter 14: File-System Implementation
File-System Structure
File-System Structure
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
-
Bit Map (Bit vector)
- 몇 번 block이 free한 지 알 수 있음
- extra space를 사용한다는 문제
-
Free List (Linked list)
- 할당 안 된 애들만 linked list 형태로 유지
- 할당 쉬움