리눅스프로그래밍

우분투 리눅스 - 파일시스템의 종류

헬로월드! 2020. 5. 30. 11:19

1. 파일시스템 

1) 운영체제의 주요한 기능 중 하나

2) 파일과 디렉터리의 집합을 구조적으로 관리하는 체계

3) 어떤 구조를 구성하여 파일이나 디렉터리를 관리하느냐에 따라 다양한 형식의 파일 시스템이 존재

 

2. 리눅스 고유의 디스크 기반 파일 시스템

ext => Extended File System

1) ext (ext1)

- inode 수정과 데이터의 수정 시간 지원이 안 되고, 파일 시스템이 복잡해지고 파편화 되는 문제

- 현재 리눅스에서는 ext 파일 시스템을 사용하지 않음

 

2) ext2

- ext 파일 시스템이 가지고 있던 문제를 해결, 1993년 1월 발표

- ext2 는 ext3 파일 시스템이 도입되기 전까지 사실상 리눅스 표준 파일 시스템으로 사용

- 이론적으로 32TB까지 가능

- 지금도 부팅 가능한 USB 플래시 드라이브와 기타 SSD 장치에서 사용됨

 

3) ext3

- ext2 를 기반으로 개발되어 호환이 가능함

- ext3 의 가장 큰 장점은 저널링 기능을 도입하여 복구 기능을 강화함

( 저널링이란? 데이터를 디스크에 기록하기 전에 먼저 저널에 수정 사항을 기록한다. 로그기록 같은거! 컴퓨터 튕겨도 저널 기록 보고 빠르게 복구가 가능 )

- 파일 시스템의 최대 크기는 블록의 크기에 따라 2~32TB 까지 지원함 

 

4) ext4

- 1EB (1,024 x 1,024 TB ) 이상의 볼륨과 16TB 이상의 파일을 지원

- ext2 및 ext3 와 호환성을 유지함

 

5) XFS

- extends file system 의 약자

- 2001 년에 리눅스에 이식되었었고 현재 대부분의 리눅스 배포판에서 지원함 

 

3. 리눅스에서 지원하는 기타 디스크 기반 파일 시스템

 

파일시스템 기능
msdos MS-DOS 파티션을 사용하기 위한 파일 시스템
iso9660 CD-ROM ,DVD 의 표준 파일 시스템으로읽기 전용으로 사용된다.
nfs network file system 으로 원격 서버의 디스크를 연결할 때 사용된다.
ufs unix file system 으로 유닉스의 표준 파일 시스템이다.
vfat 윈도 95, 98 , NT 를 지원하기 위한 파일 시스템이다.
hpfs HPFS 를 지원하기 위한 파일시스템이다.
ntfs 윈도의 NTFS 를 지원하기 위한 파일 시스템이다.
sysv 유닉스 시스템V를 지원하기 위한 파일 시스템이다.
hfs 맥 컴퓨터의 hfs 파일 시스템을 지원하기 위한 파일시스템이다.

4. 특수 용도의 가상 파일 시스템

파일 시스템 기능
swap 스왑 영역을 관리하기 위한 스왑 파일 시스템이다.
우분투 17.04 ~ 스왑 파일을 사용
tmpfs temporary file system 으로 메모리에 임시 파일을 저장하기 위한 파일 시스템 , 시스템이 재시작 할 때 마다 기존 내용이 사라짐
proc 커널의 현재 상태를 나타내는 파일을 가지고 있다.
ramfs 램디스크를 지원하는 파일시스템이다.
rootfs root file system 로 / 디렉터리이다.
시스템 초기화 및 관리에 필요한 내용을 관리한다.