본문 바로가기
데이터복구정보/복구관련정보

파일시스템 FAT32 VS NTFS 구조 비교

by CBL 2016. 8. 25.

파일시스템 FAT32 VS NTFS 구조 비교

 

 

 

 

 

 

 

<FAT32 파일시스템>

 

 

 

 

 

Boot Record(부트레코드)

부트레코드는 파일시스템의 첫번째 섹터를 의미한다.

또한 예약된 영역의 첫번째 섹터를 의미하기도 한다.

이 영역은 윈도우를 부팅시키기 위한 코드와 FAT파일시스템의 여러

설정값으로 구성되어 있다. BPB라고도 한다.

윈도우가 FAT파일시스템을 인식하는데 가장 중요한 영역이라 할수 있다.

윈도우가 볼륨을 인식할때 부트레코드를 읽고 분석을 하기 때문이다.

 

 


예약된 영역(Reserved)

이 영역은 미래를 위해 예약된 영역으로 FAT32 기준으로 32섹터를 할당한다.

이 영역은 사용되지 않는 영역이지만 FAT32의 경우 예약된 영역에 몇개의

섹터를 사용하여 정보가 일부 저장되어 있다.

 

 

 

FAT#1, FAT#2 영역

FAT영역은 클러스터들을 관리하는 테이블이 모여 있는 영역이다.

FAT 영역을 통해 빈 클러스터와 파일의 연결상태를 확인할수 있다.

FAT영역이 손상될 경우 치명적인 문제가 발생되므로 FAT의 백업본을

만들어 두었다.  그래서 FAT#1과 FAT#2의 영역은 동일한 정보가 저장되어 있다.

FAT#1의 백업본이 FAT#2라 할수 있다.

 

 

 

Root Directory(루트디렉터리)

FAT16은 루트디렉터리 위치가 FAT#2 뒤쪽에 고정되어 있었으나 FAt32는 루트리렉터리가

데이터 영역 어디에 위치해 있어도 상관 없으며 단지 루트디렉터리의 위치를 부트레코드에

기록하고 있을뿐이다. 이로 인해 부트레코드가 망가지면 루트디렉터를 찾기 어려운 단점이

있다. 이를 보완하기 위해 FAT32도 FAT#2 영역 바로 뒤에 루트 디렉터리를 위치시켜

부트레코드에 문제가 생겨 루트디렉터리의 위치를 알수 없데 되더라도 간단히 찾을수 있다.

 

 

 

Data 영역(파일과 디렉터리)

이 영역은 파일과 디렉터리가 저장되어 있다.

클러스터 단위로 읽기 쓰기가 되는 부분이다.

 

 

 

사용하지 않는 영역

FAT 파일시스템이 볼륨을 구조화시키는 과정에서 남는 영역이지만

매우 적은 양이므로 관계없다.
 

 

 

 

 

 

<NTFS 파일시스템>

 

 

 

NTFS의 탄생배경

NTFS의 탄생은 개인용 컴퓨터의 운영체제 시장에서 MS-DOS와 윈도우3.1이 성공을 거두고 있을

1990년대 초로 거슬러 올라간다. 마이크로 소프트는 서버와 엔터프라이즈급 운영체제 시장에서의

성공을 위해 FAT파일시스템을 능가하는 NTFS파일시스템을 개발하게 되었으며 1993년 NTFS의

최초버전 NTFS1.0이 윈도우 NT3.1과 함께 출시되었다.

 

 

NTFS가 다른 파일시스템과의 가장 큰 차이점은 데이터를 파일 형태로 관리한다는 것이다.

대부분의 파일시스템들은 여러 영역으로 볼륨을 나누어 각 영역마다 전부 다른 형태의

데이터가 저장되는 반면 NTFS는 데이터 영역 하나밖에 없으며, 파일시스템 관리 값과

사용자의 데이터값 모두 데이터 영역에 파일 형태로 관리한다.

NTFS에서 정형화된 볼륨의 레이아웃이 없어도 되는 이유이다.



부트레코드(Boot Record)

NTFS의 부트레코드 구조는 FAT 파일시스템의 부트레코드 구조와 비슷하다.

윈도우를 부팅시키기 위한 코드와 설정값이 있으며,

볼륨의 크기, 클러스터의 크기, MFT의 시작주소와 같은 중요한 정보를 알수 있다.

OS가 NTFS를 인식하기 위한 시작점이 된다.



MFT(Marster File Table)

NTFS에서 가장 핵심적인 MFT는 모든 파일과 디렉터리의 정보를 담고 있는 테이블이다.

MFT는 윈도우가 볼륨을 인식할때 부트레코드에서 MFT의 위치를 찾아 조사하게 된다.

MFT도 데이터 영역에 존재하는 파일로 관리되므로 볼륨의 위치에 구애받지 않아

어떤 위치이든 관계가 없다.


DATA 영역

파일과 디렉터리를 담는 영역으로 NTFS에서는 DATA영역이 분할 되어 있지 않고

볼륨 전체를 데이터 영역으로 사용한다.

볼륨의 첫 섹터부터 마지막 섹터까지 전부 클러스터 단위로 읽기 쓰기를 한다.

 

 

 

 

NTFS의 특징

windows NT에 적용시키기 위해 개발된 NTFS는

FAT에서는 볼수 없는 여러가지 진보된 특징들을 볼수 있다.


1. 데이터 복구 기능

▶NTFS는 데이터 신뢰성 향상을 위해 볼륨에 수행하는 모든 작업에 트랜잭션 단위로 기록된다.

   NTFS는 작업도중 문제가 발생될 경우 이러한 기록을 조사함으로 볼륨의 상태를 정상적으로 복구할 수있다.


2. 암호화

▶암호화 기능 EFS가 NTFS 5.0이후 버전부터 지원된다. EFS는 인증되지 않은 다른 사용자나

   프로그램으로부터 데이터를 보호해 준다.


3. 압축

▶NTFS는 파일시스템 수준의 압축 기능을 제공한다.

   파일압축은 볼륨에 공간 절약은 할 수 있지만 해당파일을 읽기 끄기 할때마다

   압축을 풀어야 하므로 성능이 떨어지게 된다.


4. 디스크쿼트

▶NTFS 5.0이후부터 제공되는 기능으로 다수의 사용자가 하나의 컴퓨터를 쓰는 것을 기본으로

   설계하였다. 관리자는 사용자들마다 할당량을 설정할 수 있게 한다.

  

5. ADS(Alternate Data Stream)

▶NTFS는 다중 데이터 스트림을 지원한다. 하나의 파일이 하나 이상의 데이터를 담을수 있다는 뜻이다.



6. Sparse 파일

▶ 파일의 내용이 0으로 차있을 경우 해당 파일의 내용을 그대로 볼륨에 저장하지 않고

    정보만 담는 파일을 말한다.


7. 큰용량의 표현

▶FAT의 용량 표현 한계를 탈피하여 NTFS는 이론상 Exa Byte까지의 용량 표현이 가능하다.

   NTFS의 실제 구현은 약 16TB까지이다.


8. 유니코드 지원

▶NTFS는 다국어 지원이 가능하다.

 

 

 

 

 

 

추가적인 정보는 파일시스템의 이해1을 참고하세요.

https://imsosimin.com/43

 

 

 

 

 

댓글