파일 시스템(File System)이란?
파일 시스템은 운영체제가 데이터를 저장하고 관리하는 방식을 의미한다. 파일 시스템은 하드디스크, SSD, USB, SD 카드 등의 저장 장치에서 데이터를 조직화하고 접근할 수 있도록 도와주는 구조를 제공한다.
파일 시스템의 역할
- 데이터 저장 및 관리 : 데이터를 파일 단위로 저장하여 사용자와 프로그램이 쉽게 접근할 수 있도록 함.
- 파일 및 디렉터리 관리 : 파일을 디렉터리(폴더) 구조로 구성하여 체계적으로 관리
- 파일 액세스 제어 : 사용자의 권한을 설정하여 보안성을 강화
- 저장 공간 할당 및 관리 : 저장 장치의 공간을 효율적으로 사용하도록 관리
- 데이터 무결성 유지 : 갑작스러운 전원 차단이나 오류 발생 시 데이터 손상을 방지.
파일 시스템의 구조
- 부트 블록(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 기본 파일 시스템, 속도와 안정성 향상 |
파일 시스템의 주요 개념
- 파일 할당 방식
- 파일을 저장할 때 운영체제는 다양한 방식으로 저장 공간을 할당한다.
- 할당 방식
- 연속 할당 : 파일을 연속된 블록에 저장 (빠르지만 단편화 문제 발생)
- 연결 할당 : 파일을 여러 블록에 연결하여 저장 (연속성이 없지만 단편화 방지)
- 인덱스 할당 : 파일의 블록 위치를 테이블에 저장 (효율적이지만 추가 저장 공간 필요)
- 파일 접근 방식
- 파일을 읽고 쓰는 방식에는 여러 가지가 있다.
- 접근 방식
- 순차 접근 : 파일을 처음부터 순서대로 읽음 (예 : 텍스트 파일)
- 직접 접근 : 파일의 특정 위치를 바로 읽음 (예 : 데이터베이스)
- 파일 시스템의 저널링(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 |