파일시스템의 정의

 

파일 시스템(File System)은 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체계를 가리키는 말이다.

통상적으로 하드디스크나 CD-ROM 같은 물리적인 저장장치를 이용하여 관리하는 것을 가리킨다.

하지만 서버와 클라이언트 사이에서의 자료 접근방식과 가상 형태로서 접근 수단만이 존재하는 방식등도 파일 시스템의 범위에 포함될 수 있다.

쉽게 말해서 운영체제가 저장되어있는 파일이나 폴더들을 효율적으로 관리 및 읽고 쓰는 행위를 하는 방법을 말한다.

 

파일시스템의 필요성

 

예전에는 컴퓨터를 사용하는데 그렇게 많은 데이터가 저장되지 않았기 때문에 파일시스템이라는 개념이 필요가 없었다.

하지만 점점 저장되는 데이터가 많아지면서, 그 데이터를 관리하지 않으면 파일을 읽고 쓰고 하는데에 많은 Resource(자원)을 사용하게되고, 다른 작업들을 하는데 부하가 걸리게 되었다. 그래서 파일시스템이 각각의 방법을 사용하여 효율적으로 파일을 관리할 필요가 생겼다.

 

파일시스템의 종류

 

- FAT , NTFS, Ext, Ext2, Ext3, Ext4, 유닉스 파일시스템(UFS), iso9660 등등

 

1. FAT(File Allocation Table)

FAT는 말 그대로 파일을 할당한 정보를 테이블로 표현한 것이다.

FAT 파일시스템은 구조가 간단하여 현재에도 많이 사용되고 있다.

 

FAT의 종류에는 크게 FAT12, FAT16, FAT32로 나뉘는데, 뒤의 숫자는 최대 표현 가능한 클러스터의 수를 비트 수로 나타낸 것이다.

예를들어 FAT12는 최대 2^12개의 클러스터를 표현할 수 있다.(예약된 클러스터 12개 제외하고 2^12 - 12 개의 클러스터를 표현 가능하다.)

 

Reserved AREA

FAT AREA

DATA AREA

FAT의 종류에 따라 구조가 조금씩 다르지만 전체적인 FAT 파일시스템의 구조는 위와 같다.

Reserved 영역은 부트 섹터, FSINFO 등의 내용을 표현하거나 사용되지 않는 부분이다.

FAT 영역은 DATA 영역을 효과적으로 관리하기 위해 사용되는 부분이다.

Data 영역은 실제 데이터가 저장되어있는 공간이다.

 

2. NTFS(New Technology File System)

NTFS는 현재 윈도우에서 흔히 사용되는 파일시스템이다.

 

VBR

(Volumn Boot Record)

MFT

(Master File Table)

DATA AREA

표와 같이 VBR와 MFT 영역을 사용하는데, 여기에서 MBR의 크기는 정해지지 않는다.

파일 및 폴더는 MBR부분에 하나 또는 이상의 MFT entry가 할당되어지는데, 데이터가 많아져서 MFT 영역을 초과하게된다면

DATA 영역을 사용하여 MFT영역을 늘리게 된다.

VBR 영역은 부트 섹터와 추가 부트 섹터로 이루어져있다.

MFT 영역은 초기에 1024byte의 크기로, 파일 및 디렉터리의 MFT entry정보를 가지고 있다. 이 정보들에는 파일의 이름,

MAC타임(Modified, Accessed, Created), 파일의 실제 위치 등에 대한 정보가 있다.

 

3. Ext(Exteded File System : 확장된 파일 시스템)

Ext는 리눅스에서 사용되는 파일 시스템이다.

종류로는 Ext, Ext2, Ext3, Ext4가 있으며 숫자가 높아질 수록 더 나중에 나온 것이다.

현재는 Ext3가 보편적으로 많이 사용되고 있다.

 

Ext : 리눅스 초기에 사용되던 파일시스템이며 호환성이 없다.

Ext2 : Ext3 전에 가장 많이사용되던 파일시스템이며, 호환성이 좋으며 안정성과 속도가 좋다. 리눅스 파일시스템의 대부분의 기능을 제공한다.

Ext3 : Ext2를 기반으로 개발되었으며, Journaling(저널링 : 로그를 만들어서 시스템이 비정상적으로 종료 되었을 경우 파일 시스템을 복구하는 기능이다)을 지원한다. 현재 가장 많이 사용되고 있는 파일시스템이다.

Ext4 : Ext4 파일시스템을 확장한 파일시스템이다. 파일 접근 속도를 향상시키고, 단편화를 줄이도록 설계되었다.

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

본 게시물은 공부한 내용을 바탕으로 작성한 글로써, 점차 수정 및 추가를 통해 내용을 발전시킬 계획입니다.

따라서 오타 및 내용상의 오류, 추가할 내용 등이 있을 경우 주저 없이 알려주시면 감사하겠습니다.

궁금한점을 물어보시면 제가 아는 선에서 최대한으로 알려드리겠습니다.

 

참고한 사이트

- FORENSIC-PROOF

- SmileCat's Blog

- 위키백과 : 파일시스템

 

'Forensic.' 카테고리의 다른 글

웹 브라우저 포렌식  (1) 2016.08.31
어플리케이션 바인딩  (0) 2016.08.31

+ Recent posts