파일시스템(File System) 이란?
파일 시스템
- 파일들을 관리하는 운영체제(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 : 작성된 프로그램