Post

[OS] 파일 시스템

3줄 요약
파일 시스템은 보조기억장치에 저장된 파일과 디렉터리를 구조적으로 관리하는 운영체제의 구성 요소
연속, 연결, 색인 할당 방식 등으로 데이터를 블록 단위로 저장하며 각 운영체제별로 관리 방식이 다름
FAT와 i-node는 각각 연결/색인 할당 기반의 대표적인 파일 시스템 구현 방식

💻 컴퓨터 구조 & 운영체제 시리즈

이 시리즈는 『혼자 공부하는 컴퓨터 구조+운영체제』 (강민철 저)
+ 인프런 강의를 기반으로 개인적으로 복습 및 정리한 기록입니다.


📂 파일 시스템이란?

운영체제 내에서 파일과 디렉터리를 관리하는 프로그램

  • 파일과 디렉터리는 보조기억장치에 저장된 데이터 덩어리
  • 저장 및 접근의 효율성을 위해 다양한 구조로 관리됨

📄 파일

  • 보조기억장치에 저장된 의미 있고 관련 있는 정보의 모음
  • 파일 속성 정보 (메타데이터)
    • 확장자, 크기, 보호, 생성/수정/접근 날짜, 소유자, 위치 등

파일 연산

  • 파일 생성, 삭제, 열기, 닫기, 읽기, 쓰기 등을 위한 시스템 호출 제공

🗂 디렉터리

  • 윈도우에서는 폴더라고도 부름
  • 트리 구조 디렉터리 사용: 루트 디렉터리(/) → 서브 디렉터리로 구성

디렉터리 구성

  • 디렉터리도 내부적으로는 특수한 형태의 파일
  • 디렉터리 엔트리: 해당 디렉터리에 포함된 파일/디렉터리 정보

경로(Path)

  • 절대 경로: 루트부터 시작한 전체 경로
  • 상대 경로: 현재 디렉터리 기준으로 한 경로

💽 파티셔닝과 포맷팅

  • 파티셔닝: 저장 장치를 논리적으로 나누는 작업
  • 포맷팅: 특정 파티션에 사용할 파일 시스템을 설정하는 작업

하나의 저장장치에 여러 파일 시스템을 적용할 수도 있음


📦 파일 할당 방식

운영체제는 파일/디렉터리를 블록 단위로 관리

1. 연속 할당

  • 파일을 연속적인 블록에 저장
  • 디렉터리 엔트리: 파일 이름, 시작 블록, 블록 길이
  • 단점: 외부 단편화 발생

2. 불연속 할당

연결 할당

  • 각 블록이 다음 블록의 주소를 저장
  • 연결 리스트 형태
  • 임의 접근 속도 느리고, 오류 발생 시 이후 접근 불가

색인 할당

  • 인덱스 블록(색인 블록)이 모든 블록 주소를 저장
  • 임의 접근 용이
  • 디렉터리 엔트리: 파일 이름 + 색인 블록 주소

📑 FAT (File Allocation Table)

  • 연결 할당 기반
  • 각 블록의 주소 정보를 별도 테이블(FAT)에 저장
  • 연결 할당의 단점을 일정 부분 보완

🧾 유닉스 파일 시스템 (i-node 기반)

  • 색인 할당 방식
  • i-node: 파일의 메타데이터 + 최대 15개 블록 주소 저장

i-node 구조

i-node 구조
출처: 『혼자 공부하는 컴퓨터 구조+운영체제』 - 강민철 저

1
2
3
4
블록 주소 중 12개에는 직접 블록 주소 저장
1번으로 충분하지 않다면 13번째 주소에 단일 간접 블록 주소 저장
2번으로 충분하지 않다면 14번째 주소에 이중 간접 블록 주소 저장
3번으로 충분하지 않다면 15번째 주소에 삼중 간접 블록 주소 저장
  • 디렉터리 엔트리: i-node 번호 + 파일 이름
  • i-node 구조로 인해 파일 크기에 따라 블록 접근 방식이 달라짐

🧪 운영체제별 파일 시스템 예시

운영체제마다 사용하는 파일 시스템은 다르며, 각기 다른 할당 방식과 관리 전략 가짐

운영체제대표 파일 시스템할당 방식특징
Windows (초기)FAT, FAT32연결 할당 기반단순 구조, 저용량 장치에 적합 (USB 등)
Windows (현재)NTFS복합 구조 (비트맵 + B-Tree 등)보안/복구 기능 강화, 메타데이터 체계적 관리
Linuxext3, ext4색인 할당 기반 (i-node)저널링 지원, 대용량/안정성 우수
macOSAPFS복합 구조SSD 최적화, 스냅샷 기능, 파일 암호화 지원
Androidext4 / F2FS색인 할당 / 플래시 최적화모바일 환경에 적합한 경량 파일 시스템

FAT는 여전히 USB 메모리, 외장 하드, SD 카드 등에서 널리 사용되며,
Linux의 ext 계열은 서버, 클라우드 등에서 매우 안정적으로 운용됩니다.


✅ 마무리 정리

파일 시스템은 운영체제의 핵심 구성 요소로,
파일과 디렉터리를 효율적이고 안정적으로 저장/조회/삭제하기 위한 구조를 제공
할당 방식과 구조에 따라 성능과 신뢰성이 달라지며, 대표적으로 FAT와 i-node 기반 시스템이 존재


📚 참고 자료


읽어주셔서 감사합니다 🙌
내용이 도움이 되었거나, 틀린 부분이 있다면 댓글이나 GitHub Issue로 알려주세요 😊

This post is licensed under CC BY 4.0 by the author.