본문 바로가기
IT 놀이터/General

[File System] 파일 시스템의 종류와 이해

by 돼지왕 왕돼지 2012. 7. 3.
반응형

파일 시스템의 종류와 이해


파일시스템이란?

 파일과 그 안에 든 자료를 저장하고 찾기 쉽도록 유지, 관리하는 방법을 말한다.

 FAT은 File Allocation Table의 약자로 파일에 디스크에 존재한 파일의 정보가 저장되어
 섹터들을 찾아볼 수 있도록 정보를 저장하고 있는 특수영역,

 NTFS 는 NT에서 사용되는 File sytem으로, FAT과는 달리 MFT ( Master File Table ) 사용.
 또한 이에 대한 미러( mirror )와 파일 로그가 유지되어 파일 복구 가능.
 한 클러스터는 FAT32와 같이 최소 1KB 에서 최대 4KB로 디스크 손실이 적음.

 EXT2 는 리눅스를 위한 확장성 있고 강력한 파일 시스템으로 가장 성공적인 파일 시스템.
 현재 배포되고 있는 모든 리눅스 배포판의 기본을 이룸.
 파일 복구에 매우 강하다.

 EXT3 는 저널링 파일 시스템으로 대부분의 유명한 리눅스 배포판에 채택
 


1. FAT16 ( File Allocation Table, 파일 할당 테이블 )

 MS-DOS를 개발할 당시 사용하던 파일 시스템.
 윈도우 95, 윈도우 98, 윈도우 NT, 윈도우 2000 등에서 사용. ( 호환 )
 대부분의 MS OS에서 호환이 된다는 장점이 있다.
 But!! 하나의 파티션으로 최대 2GB 밖에 설정을 할 수 없고,
 보안이나 암호화 및 압축 기능들을 지원하지 않는 단점이 있다.
 16이란 이름이 붙은 이유는, 한 클러스터의 조각 단위가 65536 (2^16)까지 나눠 사용 가능하기 때문.
 영문 8문자(한글 4문자)까지의 파일 이름 제한.
 한 클러스터에 1632KB를 할당하여 용량 낭비가 심함.


2. FAT32

 FAT 파일 시스템을 보강한 파일시스템이다.
 FAT은 2GB 밖에 지원하지 않던 것을 해결하여 2TB까지 지원.
 영문 256문자 ( 한글 128 문자 ) 까지 파일 이름 지원.
 클러스터당 4K 배정하여 용량 낭비가 줄어듬.
 그러나 FAT16 과 마찬가지로 보안, 암호, 압축 기능을 지원하지 않는.
 FAT32 와 NTFS는 과도기를 함께 거침으로 일부 윈도우 NT 에서는 서로 호환되지 않는 단점을 보인다.
 윈도우 2000 제품군에서부터는 모든 파일 시스템을 지원하기 때문에 문제는 해결.



2~3 FAT의 장단점

 <장점>
 호환성 : NT, DOS, 윈도 95, 윈도 3.x 등에서 모두 FAT 사용 가능.
 단순성 : 디스크 용량을 많이 소모하지 않음.
 저용량 볼륨 : 저용량 볼륨에서 최적화

 <단점>
 보안에 취약 : 볼륨에 있는 파일에 대한 접근 제어 불가능
 대용량 볼륨의 비효율적 이용 : 디스크 공간 이용에 낭비적.
 


3. NTFS ( Windows NT File System )

 NT만을 위해서 만들어진 NT전용 파일시스템.
 NTFS 는 대용량 하드 지원, 보안과 암호화 또한 지원.
 별도의 압축 프로그램 없이도 파일과 폴더를 압축할 수 있다. (오호? ㅋ)
 클러스터 크기는 512byte ~ 64KB까지 지원. 기본적으로 4KB.
 파일 접근 속도를 최적화, 이론적으로 거의 무제한의 하드 디스크 공간 관리.
 긴 파일 이름, 디스크 손실 방지, 자체적 오류 수정, 트랜잭션 로깅,
 디렉토리 및 파일 수준의 보안, 충돌 보호, 실시간 압축 등 지원.
 윈도 2000, XP, 서버 2003, VISTA, 2008 등에서 사용


3~4. NTFS의 장단점

 <장점>
 대용량 볼륨에 대한 효과적 지원 : 빠른 파일 접근
 디스크 공간의 효과적 사용 : 작은 클러스터 크기
 보안 기능 : 파일과 디렉토리에 권한. 다른 운영체제로 부트하여 보안 기능 통과할 수 없게 할 수 있음.
 견고함 : 데이터의 손실을 줄일 수 있음.
 자동압축 : 특정 파일이나 디렉토리를 자동 압축할 수 있음.
 향상된 파일 이름 : 대소문자, Unicode 254문자까지 지원.

 <단점>
 다른 운영체제에서 호환 X,
 저용량 볼륨에서 FAT 보다 속도가 느릴 수 있음.


 
4. EXT ( EXT1 )

 리눅스 운영체제를 목표로 만들어진 첫번째 파일 시스템.
 Extended File System 의 약자로 EXTFS 가 풀이고 보통 EXT로 부른다.
 MFS ( MINIX File System ) 의 단점을 보완하기 위해 만들어졌다.
 이 MFS는 최대 크기가 64MB, 이를 보완한 EXT에서는 2GB로 늘어났음.
 파일 이름 최대길이도 MFS는 14byte or 30byte 였지만,
 EXT는 255byte 까지 지원. ( FAT -> FAT32 와 비슷한 경우인듯 )
 분리접근, 아이노드(inode) 수정, 자료 수정 타임스탬프 등의 기능들 지원 X.
 사용할수록 리스트가 뒤죽박죽되고 파일시스템이 조각화된다는 단점.


5. EXT2
 
 정식이름은 Second Extended File System 이며 기존 EXT의 문제 해결.
 255자까지 긴 파일 이름 지원, 새 타임 스탬프 지원, 확장이 쉬움, EXT의 단점 해결.
 파일 시스템의 최대 크기는 2TB ~ 32TB며, 서브 디렉토리 개수 제한은 32768개 이다.



5~6. EXT2의 장단점

 <장점>
 fsck를 이용해 시스템 손상시 복구 가능.
 간단명료하여 사용하기 쉽다.

 <단점>
 캐시에 저장되어 있는 데이터들을 디스크로 저장하는 도중 문제가 발생할 경우 파일 시스템이 손상.
 fsck ( file system check )라는 파일 시스템 복구 기능 제공은 되지만 시간이 오래 걸림.
 시스템 복구 기능을 사용하는 동안 다른 시스템 작업을 할 수 없음.



6. EXT3

 EXT2 에 저널링, 온라일 파일 시스템 증대, 큰 디렉토리를 위한 HTree 인덱싱 등의 기능 추가.
 EXT2에서 손상없이 EXT3으로 전환 가능.
 EXT3의 저널링은 주 파일 시스템을 수정하기 전에 저널에 수정 사항을 먼저 기록.
 So, 전원이 갑자기 나가거나 시스템 충돌이 일어났을 때 데이터 손실 가능성을 줄일 수 있다.
 온라인 조각모음 프로그램이 없다.
 오프라인 프로그램은 있는데 EXT2 로 변환시켜야 한다. But!! 이 때 EXT3에서 새로 추가한 기능 인식 못해 자료손상될수도..
 EXT3은 조각화가 적긴 하지만 그래도 조각화현상은 있긴 있음.
 서브 디렉토리 갯수는 31998개.


7. EXT4
 16TB까지의 파일 지원. ( 대형 파일 시스템 ).
 Block Mapping 방식 대신, Extends 방식 새로 사용하여 조각화 현상을 줄이고, 큰 파일 처리가 개선됨.
 EXT2, EXT3을 EXT4 방식으로 마운트하여 성능이 향상된 상태로 사용 가능.
 EXT4는 EXT3 방식으로 마운트 가능 but extends를 사용하는 EXT4는 EXT3로 마운트 불가능.
 EXT3 에는 없던 저널 체크섬 기능이 추가되어 파일 시스템 손상 가능성이 더 줄어듬.
 서브 디렉터리 개수 제한이 64000개로 증가.
 온라인 조각모음 지원.
 빠른 시스템 검사 지원.
 시스템 타임스탬프가 초 단위가 아닌 나노초 단위로 재어지며, 2038년 1월 18일까지만 지원하던 놈을, 2514년 4월 25일까지..
 영속적 선행할당 가능.
 디스크 공간 할당을 마지막까지 지연하므로 성능이 향상


8. UFS


9. NFS




반응형

댓글