목차
1 파일시스템이란?
파일시스템은 운영체제에서 제공하는 핵심 기능 중 하나로, 저장장치에 데이터를 저장하고 쉽게 관리할 수 있게 해주는 체계를 말한다.
여기서 저장장치는 물리적 저장장치를 말하고, 데이터는 일반적으로 디렉터리와 파일로 관리된다.
대표적인 파일시스템으로는 Windows의 NTFS, Linux의 ext4, macOS의 APFS, 그리고 네트워크 스토리지에 사용되는 NFS 등이 있다.
2 파일시스템의 구조와 구성요소
파일시스템은 디렉터리와 파일 이름을 통해 inode(ext4) 등 메타데이터를 찾고, 데이터를 읽거나 저장할 블록 주소를 확인하여 접근한다.
- 파일 (File)
파일시스템의 기본 단위이다. 데이터를 저장하는 컨테이너이다. - 디렉터리 (Directory)
파일들을 논리적으로 그룹화하는 구조이다. 일반적으로 계층으로 트리 구조를 이루고 있다. - 데이터 블록 (Data Block)
파일의 실제 데이터가 저장되는 디스크의 물리적 저장 단위이다.하나의 파일이 블록보다 클 경우 여러 데이터 블록에 나뉘어 저장될 수 있고, 블록 하나의 크기는 파일 시스템에 따라 다르다. - 부트 블록 (Boot Block)
파일시스템이 포함된 디스크의 첫 번째 블록으로, 부트 로더 또는 운영체제를 로드하는 정보를 포함한다. - 슈퍼블록 (Superblock)
파일시스템의 전체적인 정보를 관리하는 특수 블록이다. 슈퍼블록은 ext4에서 불리는 이름이고, 파일시스템 마다 불리는 이름이 다양하다.
파일시스템이 마운트될 때 메모리로 로드되어서 시스템을 관리한다. - 데이터 관리 구조
파일시스템은 각 파일을 관리하기 위한 구조를 가진다. 대표적으로 inode와 FAT, NTFS, ZFS 등이 존재한다. - 캐시 및 버퍼 (Cache and Buffer)
파일시스템에서 디스크 I/O 성능을 향상시키기 위해 사용한다. - 파일 시스템 인터페이스
사용자가 파일시스템을 사용하고 운영체제와 상호작용할 수 있도록 제공되는 명령어 집합을 말하낟. 이를 통해 파일과 디렉터리를 관리하는 작업을 수행할 수 있다.
예시) open(), read(), mkdir() 등 - 저널 (Journal)
선택적인 기능으로, 시스템이 예기치 못하게 문제가 생겼을 경우 데이터를 복구하는 역할을 한다.
'Linux > 파일 시스템(File System)' 카테고리의 다른 글
[파일시스템] ext4 - (1) 기본 구조 (4) | 2024.11.25 |
---|