파일시스템
IT 위키
더 많은 작업
- File System; 파일 시스템
- 저장 장치에 파일을 어떤 이름과 구조로 저장하고 찾고 지울지 정한 방식과, 그것을 처리하는 운영체제의 구성 요소
디스크는 그 자체로는 번호가 붙은 블록(섹터)의 나열일 뿐이다. 파일시스템은 그 위에 파일과 디렉터리라는 논리적 단위를 만들어, 사용자가 블록 번호 대신 이름으로 데이터를 다루게 한다.
- 이름 관리 : 파일 이름과 디렉터리 계층을 관리한다
- 공간 할당 : 파일에 블록을 배정하고 빈 공간을 추적한다
- 메타데이터 관리 : 크기, 소유자, 권한, 만든·고친 시각을 기록한다
- 접근 제어 : 소유자·그룹·기타 사용자별 읽기·쓰기·실행 권한을 검사한다
- 무결성 유지 : 갑작스러운 전원 차단에도 구조가 깨지지 않게 저널링 등으로 보호한다
| 영역 | 내용 |
|---|---|
| 부트 블록 | 부팅에 필요한 코드 |
| 슈퍼 블록 | 파일시스템 전체의 정보(크기, 블록 수, 빈 블록·아이노드 수) |
| 아이노드(inode) 블록 | 파일마다 하나씩, 소유자·권한·크기·시각과 데이터 블록의 위치를 담는다. 파일 이름은 아이노드가 아니라 디렉터리에 들어 있다 |
| 데이터 블록 | 실제 파일 내용 |
| 이름 | 주로 쓰는 곳 | 특징 |
|---|---|---|
| FAT32 | 이동식 저장 장치 | 호환성이 좋으나 파일 하나가 4GB 를 넘지 못한다 |
| exFAT | USB 메모리·SD 카드 | 4GB 넘는 파일 지원, 여러 운영체제에서 읽는다 |
| NTFS | 윈도우 | 접근 권한, 암호화, 압축, 저널링 |
| ext4 | 리눅스 | ext3 의 후속. 저널링, 큰 파일과 큰 볼륨 지원 |
| XFS | 리눅스 서버 | 대용량·병렬 입출력에 강하다 |
| APFS | macOS·iOS | SSD 에 맞춘 설계, 스냅숏 |