본문 바로가기
Server/Window

윈도우의 파일시스템, 그리고 포맷?

by ojava 2011. 4. 7.
반응형


제가 파일시스템에 대해 알게 된 것은 D 드라이브를 포맷할 때 였습니다.

이전에 포스팅했던 Ghost 사용방법에 대한 내용을 실습하기 위해서 노트북을

포맷하면서 아래와 같은 창을 만나게 된 것이지용.

 

 

 

NTFS? FAT32? .. 무엇이든간에 선택에 기로에 놓이면 늘 고민에 빠지게 되는데다가

둘 중 어느것에 대해서도 제대로 알지 못했기에.. 어떤걸로 해야 할지도 모른다는 사실이 더 절망 ㅠ_

역시 사람은 일단 알고 봐야 잘 살지 않겠습니까????

그런 의미로 오늘은 파일시스템과 포맷이라는 것에 대해서 속속 파봅시당!

 

일단 파일시스템이 무엇인지부터 알아봅시다.

File System이란, 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말입니다.
파일 시스템은 통상 하드 디스크나 CD-ROM 같은 실제 자료 보관 장치를 사용하여 파일의 물리적 소재를 관리하는 것을 가리키나
네트워크 프로토콜(NFS, SMB, 9P )을 수행하는 클라이언트를 통하여 파일 서버 상의 자료로의 접근을 제공하는 방식과
가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함될 수 있다고 하네요.

파일시스템은 디스크, 네트워크, 그리고 특수 용도의 파일 시스템으로 나눌 수 있으며,
대부분의 운영 체제는 파일 시스템을 갖고 있습니다. 파일은 현대의 모든 운영 체제의 기본 구성 요소이니까영!!!!!
마이크로컴퓨터의 초창기 운영 체제 도스(, 디스크 운영 체제)의 주 목적은 바로 파일 관리였다는 사실!
이러한 초창기 운영 체제들은 디스크를 관리하는 시스템을 따로 설계했는데...
이러한 운영 체제들은 내부에 단 하나의 파일 시스템만을 지원했다고 하네요.
 

운영 체제가 파일 시스템을 가지고 있다면 그에 대해서도 알아봐야겠지용! 
많은 운영체제 중에서 
우리나라 사람들에게 익숙한 Window 체제에서의 파일시스템을 알아보지용.
윈도우는 초창기 운영 체제인 MS-DOS를 기반으로 제작되었지만, 유닉스 등의 다른 운영체제의 파일 시스템과
사용자 인터페이스에서 많은 아이디어를 빌려왔습니다.

그러한 윈도우가 지원하는 디스크의 파일시스템 포맷은 FAT NTFS가 있습니다~


오늘 정말 포스팅하고자 했던 내용까지 오기 위해서 많은 내용에 대한 설명이 필요했네요 ㅠ_

그렇다면 이 둘이 어떤 특징이 있는지에 대해서 알아봅시당!

 

1)     FAT

 

파일 할당 테이블(File Allocation Table, FAT)은 디지털 카메라 등에 장착되는 대부분의 메모리 카드와
수많은 컴퓨터 시스템에 널리 쓰이는 컴퓨터 파일 시스템 구조입니다상대적으로 간단하기 때문에
휴대용 기기에서 흔하게 볼 수 있으며, 성능은 다른 대부분의 파일 시스템에 견주어보면 좋지 않은 평을 받고 있습니다_

이유는 운영 시간을 낭비하게 만드는 너무나도 단순한 자료 구조를 이용하고
조그마한 파일이 많이 있으면 디스크 공간을 잘 활용하지 못하기 때문이라고 합니다.

초창기 FAT 파일 시스템은 파일 이름의 길이에 제한이 있었고디스크와 파티션 수에도 마찬가지로 제한이 있었습니다. 
 

FAT라는 이름은 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한
정보를 중심으로 하는 테이블을 이용하는 것에서 비롯하였습니다. 테이블의 크기를 제한하기 위하여 클러스터라 불리는
하드웨어 섹터에 인접한 그룹에서부터 디스크 공간이 파일에 할당된다. 디스크 드라이브가 서서히 모습을 드러내자 클러스터의 최대 수도
눈에 띄게 늘어났으며 이에 따라 각 클러스터를 인식하는 데 쓰이는 비트 수가 늘어났다.

FAT
포맷의 주요 버전은 아래의 내용과 같이 12, 16, 32 등의 이름을 가집니다.
또한 FAT
표준은 기존의 소프트웨어에 대한 하위 호환성을 보존하면서 다른 방식으로 확장되어갔습니다.

 

-       FAT12

: MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서는 여전히 이용.

 

-       FAT16

: 32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도 95까지 주로 이용되었음. 최대 2기가바이트 파티션을 지원. 용량이 적은 이동식 드라이브에서는 아직까지 사용.

 

-       FAT32

: 2기가바이트 이상의 하드디스크를 지원. 윈도 95 OSR2부터 이 파일 시스템을 사용.

: 하나의 파일은 최대 4GB부터 1Byte까지의 용량을 가질 수 있다.

하나의 파티션이 최대 8TB의 용량을 가질 수 있고, 최대 268,435,437개의 파일을 담을 수 있다. 윈도 98, 윈도 Me와 같은 구형 운영 체제나, 리눅스, 맥 오에스 텐과 같은 운영 체제에서 윈도와 호환성이 필요할 때, 또는 디지털카메라, 게임기 등에서도 이용된다.

윈도 XP 등에 내장된 디스크 관리자 유틸리티에서는 32기가바이트 이상의 하드디스크를 파티션할 때 FAT32를 선택할 수 없고 NTFS만 나오지만, 별도 유틸리티를 이용하거나 다른 운영 체제에서 파티션을 설정하면 문제 없이 사용할 수 있다.

 

-       exFAT

: 'Extended File Allocation Table'의 약자로 일명 FAT64라고도 한다. 윈도 XP, 윈도 서버 2003의 경우 서비스 팩 2를 설치하면 사용할 수 있고 윈도 비스타의 경우 서비스 팩 1, 윈도 임베디드 CE 6.0부터 지원한다. FAT32의 한계를 극복하고자 개발되었으며 고용량의 플레시 메모리 미디어를 위한 파일 시스템이다. 여유공간 계산이 빨라졌으며 파일 삭제 또한 빨라졌다. FAT32에서 파일의 최대 크기가 4GB인 반면, exFAT에서는 16EB가 파일의 최대 크기가 된다.

 

+) EB? 엑사바이트(Exabyte, EB)라고 하며, TB(기가바이트)의 크기보다 무려 1024*1024배나 큰 단위이다.

 

 

    2)  NTFS

 

NTFS는 윈도 NT 계열 운영체제의 파일 시스템입니당.
윈도 2000, 윈도 XP, 윈도 서버 2003, 윈도 서버 2008, 윈도 비스타 등에도 포함되어 있는 NTFS는 
새로운 기술이라는 뜻의 New Technology의 준말인 NT를 따온 말입니다.
MS-DOS
와 이전 버전의 윈도에서 쓰였던 마이크로소프트의 이전 FAT 파일 시스템을 대체하고 있다네용! 

NTFS
 FAT HPFS(고성능 파일 시스템)을 거쳐 몇 가지 개선 사항을 반영했습니다
메타데이터의 지원고급 데이터 구조의 사용으로 인한 성능 개선신뢰성추가 확장 기능을 더한 디스크 공간 활용.

또한 접근 제어 리스트 기반의 권한 설정과 하드 링크여러 개의 파일 스트림쿼터 추적압축
다른 파일 시스템을 마운트하는 기능 등을 포함하고 있다고 하네요.



NTFS의 두드러지는 특징은 아래와 같습니다.


복구성
: 시스템 고장과 디스크 손상을 복구하는 능력.
손상이 발생하면 NTFS는 디스크 볼륨을 재구성하여 일관성 있는 상태로 복구합니다.
파일 시스템을 변경하기 위해 트랜잭션 처리 모델이 적용되어, 각 진행 단계들은 원자적 행위(atomic action)로 처리되고
손상된 시점에서 처리중이었던 각 트랜잭션은 차후에 실행이 완료되거나 파기됩니다.
다른 한편으로는 중요한 파일 시스템 데이터를 보존하기 위해 중복 저장장치를 사용합니다.
그렇게 함으로써 디스크 섹터의 일부가 파손되더라도 파일 시스템의 구조에 관한 데이터 상실을 방지할 수 있다고 하네용.

보안성 : 보안을 위해 윈도 NT 객체 모델이 적용.
어떤 파일을 열면, 해당 파일은 파일의 보안 속성을 관장하는 보안 서술자를 가진 파일 객체로 구현. 


But!!! 제한 사항 역시 가지는데...... ㅠ_ㅠ 그 내용은 요 밑에 숨겨두었으니 살포시 눌러주세영! 




파일 시스템에 대한 내용은 여기까지로 하고 포맷에 대한 내용으로 들어가봅시당.
 

포맷에 대해서 잘못 알고 있는 정보가, 포맷을 하게 되면 모든 내용이 다 지워진다는 사실 때문에
포맷 = 전부 지우는 작업 으로 알고 있는 사람들이 많을 텐데요.
 
우리가 흔히 말하는 디스크를 포맷한다는 것의 정의는 아래와 같습니다.

 

비어 있는 파일 시스템을 설정하고, 사용할 저장 매체나 하드 디스크를 준비하는 작업.

 

이러한 디스크 포맷에는 두 가지 방법이 있습니다.

빠른 포맷 일반 포맷이 그것인데, 일단 빠르다는 것은 뭔가 설렁설렁 한다는 냄새가 솔솔 풍기지 않나요?
말 그대로 빠른 포맷은 눈에 보이기에는 파일이 다 지워져서 새롭게 사용할 준비가 되어있는 것처럼 보이지만,
실은 파일이 실제로 지워진 것이 아니라 디스크와 연결되어있던 주소 값을 모두 지웠을 뿐입니다.
따라서 포맷 이후에 새로운 파일을 디스크에 쓰게 되면 그 주소 값들에 새로운 파일들이 하나씩 덮어씌워지면서
실제 파일들이 없어져가는 구조로 되어있는 것이지요.

일반포맷은 말 그대로 일반적인 포맷입니다. 실제로 모든 파일 자체를 지웁니다.
하지만 시간이 매우 오래 걸리기 때문에 대부분은 빠른 포맷을 선호합니다.



오늘의 내용을 조사하면서 운영체제라는 것에는 정말 많은 내용이 있다는 것을 새삼 느낍니다.
알기전엔 아무렇지 않게 느끼고 사용했던 것들이 어느 순간 어떻게 이걸 만들었을까.. 하는
생각이 드는 걸 보면 말이죠. 이는 마치 자바스크립트를 알고나서 여느 사이트의
노란색 자바스크립트 Warning 표시를 보면 해결하고 싶은 마음이랄까??????
다음 글에서 더 유용한 정보로 찾아뵐게용.


참고자료 : http://ko.wikipedia.org/wiki/NTFS
http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%ED%95%A0%EB%8B%B9_%ED%85%8C%EC%9D%B4%EB%B8%94
http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%8B%9C%EC%8A%A4%ED%85%9C 



2011.04 / 4월의 첫번째 글! 오혜영 작성

반응형