ETC

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

mine-dong 2022. 1. 18. 18:28

파일 시스템 

- 파일들을 관리하는 운영체제(OS)의 한 부분

- 보조 기억 장치에 저장되는 파일에 대해 수정, 삭제, 추가, 검색 등의 작업을 체계적으로 할 수 있도록 지원하는 관리 시스템

- 파일 시스템 종류 : FAT(16), FAT32, NTFS

 

파일 시스템의 구성

- Files : 연관된 정보의 집합

- Directory structure : 시스템 내 파일들의 정보를 구성 및 제공

- Partitions : Directory들의 집합을 논리적, 물리적으로 구분

 

- FAT32는 FAT에서 파생된 것으로 FAT에 비해 디폴트 클러스터 크기(저장 크기)가 작아 하드디스크의 공간 낭비를 줄일 수 있음

ex) FAT의 클러스터 크기가 5, FAT 32의 클러스터 크기가 1인 경우 3 크기의 파일을

저장할 때 FAT에서 남은 2만큼의 공간은 버리는 공간이 됨, FAT 32에서는 3에 맞는 크기만큼을 사용해 낭비되는 공간이 없음.

- NTFS는 FAT, FAT32에 비해 고급 기능을 제공, 시스템 리소스를 최소화 할 수 있음

 

파일 시스템 FAT(16) FAT32 NTFS
최대 파일 크기 2GB 4GB 16TB
파티션 크기 2GB 2TB 256TB
운영체제 MS-DOS, Windows 98,  2000, XP 등 Windows 98, 2000, XP 10 등 Windows NT, 2000, XP, Vista, 7, 10 등

 

File

- 보조 기억 장치에 저장된 연관된 정보들의 집합

- 보조 기억 장치 할당의 최소 단위

- 내용에 따른 분류 : program file / data file

- 형태에 따른 분휴 : text file / binary file

 

주요 파일 시스템

Windows : FAT(FAT12/16/32, exFAT), NTFS

Linux : ext(ext2/3/4)

Mac OS : HFS, HFS+, APFS

Google : GFS(Google File System, 구글에서 사용하는 분산 파일 시스템)

Solaris : ZFS

 

 

터미널에서 아래 명령어를 입력하여 Partition Type을 보고 현재 파일 시스템 정보를 확인할 수 있다.

diskutil info /

ZFS

ZFS는 Solaris에서 사용하는 파일 시스템이었고, 현재는 오픈소스로 유닉스 계열 시스템에서 사용할 수 있게 되었다.

성능이 아주 좋은 파일 시스템이라고 한다.

- 128비트 파일 시스템으로 거의 무한한 용량의 파일 크기를 지원

- 데이터를 자동으로 복구할 수 있는 방법을 제공(scrup)

- 파일 수정 도중 문제가 발생해도 원본 파일은 보존(Copy-on-write 트랜잭션 모델 사용)

- 파일 시스템 수준에서의 Raid 지원 = 여러 저장 장치를 묶어 고용량/고성능 저장장치 하나와 같은 효과

 

HDFS(Hadoop Distributed File System)

빅데이터 처리, 분석을 위한 플랫폼인 하둡에서 사용하는 파일 시스템이다.

HDFS는 대용량 파일을 분산된 서버에 저장, 처리할 수 있으며, 아래 세개의 모듈로 구성되어있다.

- Namenode : HDFS의 구조와 저장된 블록 위치, 메타 데이터 관리

- Datanode : 파일 데이터

- Client : 작성된 프로그램