본문 바로가기

기초이론/운영체제

파일시스템(File System)

목차

1. 파일 시스템의 정의

2. 데이터 저장 과정

3. 데이터 찾는 과정

4. 파일 시스템의 종류

    1) FAT(File Allocation Table)

    2) FAT12

    3) FAT32

    4)  exFAT(Extended File Alocation Table)

    5) NTFS(New Technology File System)

    6) ext

    7) ext4

    8) APFS(Apple File System)

5. 파일 시스템의 기능

6. 파일 시스템을 사용하는 이유

 

파일 시스템(File System)

  • 저장 매체에 파일을 저장할 때 쓰는 시스템 중 하나를 말한다.
  • 저장매체란 SSD, USB, 클라우드 등을 말한다.
  • 파일 시스템은 메타(META)와 데이터(DATA) 영역으로 나뉜다.
  • META 영역은 파일명, 권한, 크기 등의 파일에 대한 정보가 저장되는 곳이다.
  • DATA 영역은 실제 파일이 저장되는 곳이다.

데이터 저장 과정

[ A.txt ] 라는 파일을 저장한다고 가정해보자.

1. 파일 시스템의 META 영역에 가서 검색을 시작한다.

    - 여기에서 검색이란, 파일 정보를 저장하기 위해 META 영역에 빈 공간을 찾고, 빈 공간이 있으면 파일 정보를 저장하는        것을 말한다.

2. 파일을 저장할 때에 어느 클러스터가 적당한지 찾아 해당 위치로 이동하고, 파일을 저장하게 된다.

    - 클러스터란, (추가 설명 필요)

EX) 1번 클러스터에 A.txt가 저장되고, 1 이라는 클러스터 번호를 META에 저장한다. 이를 통해 나중에 FILE을 잘 찾을 수 있게 된다.


데이터 찾는 과정

[ A.txt ] 라는 파일을 찾는다고 가정해보자.

1. A.txt의 정보를 읽는다.

2. META 에서 정보를 찾는다.

3. META에는 "1번 클러스터에 A.txt의 정보가 있으니 거기로 가라" 라는 정보가 있으므로 이를 확인한다.

4. 1번으로 이동하여 A.txt 파일의 정보를 읽는다.

파일 시스템의 종류

File : 일반적으로 비휘발성의 보조기억장치에 저장된다.

File System : 파일을 보호하고, 저장하는 방법을 결정한다.

1. FAT(File Allocation Table)

  • 파일 시스템은 빌 게이츠와 마크 맥도널드가 1976년부터 1977년에 이르는 기간 동안 개발했다.
  • 상대적으로 간단한 파일 시스템이며 성능은 상대적으로 다른 파일 시스템보다 좋지 않다.

2. FAT12

  • MS-DOS 초기부터 주로 쓰인다.
  • 플로피 디스크에서 사용한다.

3. FAT32

  • NTFS 전에 윈도우에 탑재되어 있었다.
  • 지금은 USB에 주로 사용한다.
  • 파일 하나당 저장할 수 있는 최대 크기가 4GB이다.
  • 안전성이 좋다.

4. exFAT(Extended File Alocation Table)

  • NTFS의 호환성 문제를 극복하기 위하여 개발된 방식이다.
  • 내장하드에서 주로 사용한다.
  • 안전성이 떨어진다.

5. NTFS(New Technology File System)

  • FAT32를 개량한 것이다.
  • 파일 하나당 저장할 수 있는 최대 크기는 16TB이다.

NTFS 구조

  • Master Boot Record : 파티션 스타일이 MBR을 가지고 있다면 하드디스크 0번 섹터에 항상 존재한다.

NTFS

NTFS File System 구조

  • Volume Boot Record : 볼륨 루팅 정보로써 해당 파일 시스템이 필요한 정보를 가지고 있는 데이터 구조이다.
  • Master File Table : NTFS에서 가장 중요한 구조이며, 이 부분이 손상되면 NTFS가 정상 동작하지 않는다.
  • MFT는 파일, 폴더의 모든 정보를 담고 있으며 이에는 클러스터 정보도 포함된다.
  • 백업 VBR : 처음 VBR이 손상되면 이를 통해 복원할 수 있다.

NTFS File System

NTFS VBR 구조

중요한 것은  OEM ID, Bootstrap Code 두 가지이다.

  • OEM ID : NTFS 라는 시그니처를 가지고 있다. 이 때문에 어떤 Boot Record를 가져와도 해당 파일 시스템의 시그니터가 들어있게 된다. 즉, FAT32의 OEM ID에는 FAT32의 시그니처가 들어있다는 의미이다.
  • Bootstrap Code : 운영체제가 부팅되는데 필요한 코드들이 들어있으며, 이 부분이 실행된 후에 실제 운영체제가 부팅된다.

VBR

NTFS MFT 구조

  • 수많은 MFT Entry로 이루어져 있다.
  • MFT의 크기는 파일이 생성되는 만큼 유동적으로 늘어난다.

MFT Enrty 구조

  • 파일의 정보란, 마우스 우클릭 시 보여지는 정보이며 여기에는 클러스터 정보도 포함된다.

MFT Entry

6. ext

  • 리눅스용 파일 시스템 가운데 하나이다.

7. ext4

  • 리눅스, 안드로이드에서 주로 사용한다.

8. APFS(Apple File System)

  • 애플에서 만든 것으로, 애플에서 주로 사용한다.

 

 

 

 

파일 시스템의 기능

1. 관리

 

2. 접근제어

 

3. 무결성 점검

 

4. 백업 / 복원

 

5. 암호화

 

 

파일 시스템을 사용하는 이유

사람은 파일의 위치를 정확하게 계산할 수 없으므로 파일 보존성이 떨어진다.

이를 방지하기 위해 운영체제는 파일 시스템을 이용해 파일의 위치를 정확하게 계산하여 저장한다.

 

출처

https://www.youtube.com/watch?v=cUhTifJ803U

https://www.youtube.com/watch?v=oeuVjeeoLSQ

https://melonicedlatte.com/computerarchitecture/2020/03/02/204500.html

 

파일 시스템(File System)의 종류와 특징 정리 - Easy is Perfect

파일 시스템(File System)의 종류와 특징 정리 1. 파일 시스템(File System)이란? 파일 시스템(file system, 문화어: 파일체계)은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직

melonicedlatte.com

 

https://www.youtube.com/watch?v=cUhTifJ803U