본문 바로가기
Linux/파일 시스템(File System)

[파일시스템] 파일 시스템(File System)이란?

by dingwoon 2024. 11. 23.

목차

1 파일시스템이란?
2 파일시스템의 구조와 구성요소

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