본문 바로가기
스터디/CS 스터디

운영체제 - 파일 시스템

by xladmt 2025. 3. 17.

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

파일 시스템은 운영체제가 데이터를 저장하고 관리하는 방식을 의미한다. 파일 시스템은 하드디스크, SSD, USB, SD 카드 등의 저장 장치에서 데이터를 조직화하고 접근할 수 있도록 도와주는 구조를 제공한다.

 

파일 시스템의 역할

  1. 데이터 저장 및 관리 : 데이터를 파일 단위로 저장하여 사용자와 프로그램이 쉽게 접근할 수 있도록 함.
  2. 파일 및 디렉터리 관리 : 파일을 디렉터리(폴더) 구조로 구성하여 체계적으로 관리
  3. 파일 액세스 제어 : 사용자의 권한을 설정하여 보안성을 강화
  4. 저장 공간 할당 및 관리 : 저장 장치의 공간을 효율적으로 사용하도록 관리
  5. 데이터 무결성 유지 : 갑작스러운 전원 차단이나 오류 발생 시 데이터 손상을 방지.

 

파일 시스템의 구조

  • 부트 블록(Boot Block)
    • OS가 부팅될 때 실행되는 부트 로더(boot loader)가 저장된 공간.
    • 운영체제를 찾고 실행하는 역할
  • 슈퍼 블록(Super Block)
    • 파일 시스템에 대한 전체적인 정보를 저장하는 블록
    • 파일 시스템의 크기, 사용 가능한 공간, 파일 개수 등의 정보를 포함
  • inode(아이노드) 테이블
    • 파일의 메타테이블(metadata)를 저장하는 구조
    • 각 파일에는 고유한 inode 번호가 할당되며, 여기에는 파일 크기, 생성 및 수정 시간, 소유자 및 권한, 저장된 데이터 블록 위치 정보가 포함됨
  • 데이터 블록(Data Block)
    • 실제 파일의 내용(데이터)이 저장되는 공간
    • 텍스트, 이미지, 동영상, 프로그램 등 모든 파일의 본문이 저장됨
  • 디렉터리(Directory)
    • 파일 및 하위 디렉터리를 포함하는 계층적 구조
    • 디렉터리는 파일 이름과 inode 번호를 매핑하는 역할

 

파일 시스템의 유형

운영체제마다 사용되는 파일 시스템이 다르다.

  • Windows 파일 시스템
파일 시스템 설명
FAT32 오래된 파일 시스템, USB 등에서 사용됨
NTFS Windows의 기본 파일 시스템, 보안 및 복구 기능 포함
exFAT FAT32의 개선 버전, 대용량 파일 지원

 

  • Linux 파일 시스템
파일 시스템 설명
ext3 저널링 기능 추가, 안정성 강화
ext4 현재 가장 많이 사용되는 Linux 파일 시스템
XFS 고성능, 대용량 데이터 처리에 적합
Btrfs 스냅샷 및 압축 기능 제공

 

  • macOS 파일 시스템
파일 시스템 설명
HFS+ 예전 macOS 기본 파일 시스템
APFS 현재 macOS 기본 파일 시스템, 속도와 안정성 향상

 

 

파일 시스템의 주요 개념

  1. 파일 할당 방식
    • 파일을 저장할 때 운영체제는 다양한 방식으로 저장 공간을 할당한다.
    • 할당 방식
      • 연속 할당 : 파일을 연속된 블록에 저장 (빠르지만 단편화 문제 발생)
      • 연결 할당 : 파일을 여러 블록에 연결하여 저장 (연속성이 없지만 단편화 방지)
      • 인덱스 할당 : 파일의 블록 위치를 테이블에 저장 (효율적이지만 추가 저장 공간 필요)
  2. 파일 접근 방식
    • 파일을 읽고 쓰는 방식에는 여러 가지가 있다.
    • 접근 방식
      • 순차 접근 : 파일을 처음부터 순서대로 읽음 (예 : 텍스트 파일)

  • 직접 접근 : 파일의 특정 위치를 바로 읽음 (예 : 데이터베이스)

 

  1. 파일 시스템의 저널링(Journaling)
    • 파일 시스템이 갑자기 중단될 경우 데이터를 보호하는 기능
    • 파일을 변경하기 전에 저널(Journal, 로그)에 기록하여 데이터 손실을 방지

'스터디 > CS 스터디' 카테고리의 다른 글

네트워크 - OSI 7계층  (0) 2025.04.01
운영체제 - 가상 메모리  (0) 2025.03.17
운영체제 - 동기화와 교착상태  (0) 2025.03.14
운영체제 - CPU 스케줄링  (0) 2025.03.10
운영체제 - 프로세스와 스레드  (0) 2025.03.10