본문 바로가기

[+] Forensic

File System - UFS (1)

이번 글부터는 UFS(Unix File System)에 대하여 알아 볼 것이다.

이번 글에서는 간단히 UFS가 무엇인지 알아보도록 하자.

UFS는 다양한 FreeBSD, HP-UX, NetBSD, OpenBSD, 애플 OS X, Sun Solaris에서 사용 할 수 있는 유닉스 파일시스템이다.

물론 각 OS에서 사용되는 UFS가 모두 동일한 것은 아니다. 각 OS에 맞게 OS 개발사들이 조금씩 수정하여 사용하긴 하지만, 그 내부구조와 기본개념들은 대부분 동일하다.

UFS에는 UFS1, UFS2 버전이 있는데 UFS2 버전이 UFS1 버전보다 조금 더 큰 디스크 용량과 타임스탬프를 제공한다.

앞서 알아 보았던 Ext 파일시스템은 UFS 파일시스템을 기반으로 발전 된 파일시스템이어서 Ext 파일시스템에서 설명하였던 개념 대부분이 UFS에 동일하게 적용 된다.

UFS는 중요한 데이터 복사본을 파일시스템 전체에 저장하고, 파일에 관련된 데이터는 특정 위치에 집중적으로 저장하여 하드디스크의 헤드 이동을 줄였다.

UFS는 실린더 그룹이라는 구역들로 구성이 되는데, 각 실린더 그룹의 크기는 하드디스크의 위치 정보를 기반으로 정해진다.

실린더 그룹에는 inode 테이블, 비트맵, 슈퍼 블록 복사본이 포함되어 있다.

UFS에는 Ext 파일시스템과 마찬가지로 파일시스템의 레이아웃을 결정짓는 슈퍼블록이 존재하며, 슈퍼블록은 파일시스템 시작 부분에 위치하며, 파일 내용은 블록에 저장된다.

또 블록을 조각이라는 단위로 나눌 수 있는데 이러한 이유로 파일의 마지막으로 남은 데이터를 블록 전체에 저장하는 것이 아닌 조각 단위로 저장을 하여 단편화 가능성을 줄인다.

파일과 디렉토리의 메타데이터는 inode에 저장된다.

UFS에도 Ext 파일시스템에 있는 디렉토리 엔트리가 존재하는데 디렉토리 엔트리에는 파일명과 inode의 주소가 포함되며, 디렉토리 엔트리는 디렉토리에 할당 된 블록에 위치한다.

[그림 1]은 디렉토리 엔트리, inode, 블록들의 관계를 나타낸 것이다.

[그림 1 - 관계]

위에서 설명한 기본 개념들은 모두 Ext 파일시스템에 존재하는 개념들이라는 것을 알 수 있었을 것이다.

그렇다고 하여 Ext 파일시스템과 UFS 간의 차이가 없는 것은 아니다.

다음 글 부터는 파일시스템 참조 모델을 기준으로 하여 어떤 구조로 되어 있는지 알아 볼 것이다. 

'[+] Forensic' 카테고리의 다른 글

File System - UFS (3)  (0) 2012.03.02
File System - UFS (2)  (0) 2012.03.01
File System - Ext (13)  (0) 2012.02.28
File System - Ext (12)  (0) 2012.02.27