파일 시스템
- 파일과 디렉터리 집합의 구조적 관리 체계
- 다양한 형식의 파일 시스템(다양한 구조를 구성해 파일과 디렉토리들을 관리)
1. 디스크 기반 파일 시스템
-
ext(1)
- Extended File System
- 최대 크기 2GB
-
ext2
-
ext3
- 2~32TB 지원
- 저널링 기능 도입 및 복구기능 강화
- 저널링(journaling): 디스크 변화 기록
-
ext4
- 파일 시스템 1EB 이상의 볼륨 지원
- 16TB 이상의 파일 지원
2. 리눅스 파일 시스템 종류
리눅스 지원 기타 파일 시스템
- iso9660: CD-ROM의 표준 파일 시스템-읽기 전용
- nfs : network file system 원격 서버의 디스크를 연결
- ufs : Unix file system - 유닉스 표준 파일 시스템
- vfat : 윈도의 NTFS를 지원 파일 시스템
리눅스 가상 파일 시스템
- swap
- tmpfs
- temporary file system
- 메모리에 임시 파일을 저장하기 위한 파일 시스템
- 시스템 재시작 시 기존 내용 사라짐
- proc
- proc 파일 시스템 ==> /proc 디렉토리
- 커널의 현재 상태를 나타내는 파일을 갖고 있다.
- rootfs
- root file system으로 디렉토리이다.
- 시스템 초기화 및 관리에 필요한 내용 관리
현재 시스템이 지원하는 파일 시스템 확인
####$ cat /proc/filesystems
- nodev
- 해당 파일 시스템이 블록 장치(디스크)와 연결되어 있지 않다는 것
- 가상 파일 시스템
3. 리눅스 파일 시스템 구조
리눅스 모든 파일 시스템 기본 개념
- 파일은 inode로 관리
- 디렉토리: 파일 목록을 갖고 있는 파일
- 특수 파일을 통해 장치 접근
ext4 파일 시스템 구조
- 저장 장치를 논리적인 블록 그룹으로 구분(효율으로 디스크 사용)
- default block 크기 4kb(실제 크기는 시스템 설정에 따라 변경 가능)
- 블록 그룹
- 슈퍼 블록: 핵심 data
- 그룹 디스크립터: 그룹 data
- inode 비트맵: inode 테이블의 항목이 사용 중인지 표시
- inode 테이블: file 메타데이터(파일 정보)
- 데이터 블록: 실제 데이터가 들어있음