reference: https://pages.cs.wisc.edu/~remzi/OSTEP/, 시스템 프로그래밍, 운영체제 수업(최종무 교수님)
source: https://embedded.dankook.ac.kr/~choijm/
source: https://embedded.dankook.ac.kr/~choijm/
이 FFS의 아이디어는 ext2/3/4에도 적용된다.
ext2에선 실린더 그룹을 '블록 그룹'이라고도 부른다.
FFS에선 하나의 파일을 저장할 때 몇가지 할당 규칙(Allocation-Rule)에 따라 특정 실린더 그룹에 저장된다.
참고: Ext 2/3/4 차이와 장단점
https://blog.soobinpark.com/142
source: https://embedded.dankook.ac.kr/~choijm/
저널링 참고: https://velog.io/@jinh2352/Consistency-FSCK-and-Journaling
Ext3 + Lager file system capacity with 64-bit + Extent-based mapping + Hash based directory entries management
Lager file system capacity with 64-bit
- 기존, 블록 사이즈: 4KB 가정
- 기존 32-bit 시스템에서 최대 file size: (by triple-indirect pointer 1024^3*4KB) 4TB
- 기존 32-bit 시스템에서 최대 file system size: 2^32(blocks) * 4KB = 16TB
- 최대 file size: 16TB
- 최대 file system size: 2^64(blocks) * 4KB
- 다른 파일 시스템보다 하나의 디렉터리가 가질 수 있는 디렉터리(sub directory)가 더 많다. (up to 64,000 subdirs)
Extent-based mapping
- Extent: variable size
- (extent)트리 구조에서 split/merge 방식이 필요하다.
- 인접한 16KB가 있을 때, one-mapping(Ext4) vs 4-mappins(Ext2/3)
- extent structure: offset + length
source: https://embedded.dankook.ac.kr/~choijm/