이번 글부터는 UFS의 각 데이터 구조체의 오프셋 별 의미를 알아 볼 것이다.
이번 글에서는 UFS의 슈퍼블록 데이터 구조체에 대해서 알아볼 것인데 UFS1과 UFS2의 슈퍼블록 구조는 조금 차이가 있다.
아무래도 UFS2가 UFS1의 개선버전이다보니 불필요한 필드는 삭제되어 차이가 생겼다.
* 참고 : 기준주소란, 실린더 그룹 내에 그룹 기술자, inode 테이블, 비트맵 등이 위치할 수 있게 기준점이 되어주는 주소
- 최적화 기술: 해당 필드는 블록 할당 최적화 기술과 관련된 필드로 0과 1이라는 값이 설정 될 수 있다. 0이란 값은 할당공간 대신 할당시간 절약을 우선시 하라는 의미이다. 1이란 값은 할당공간을 절약하라는 의미로 제일 크기가 적당한 위치를 찾아 할당 한다.
* 참고 : 0이란 값은 할당공간 절약을 우선시 하지 않기 때문에 파일이나 디렉토리 내용 할당 후 단편화가 일어 날 수 있다. 그리고 1이란 값은 시간공간 절약을 우선시 하지 않기 때문에 파일이나 디렉토리 내용 할당에 많은 시간이 걸릴 수 있다.
- 일반 플래그 : 해당 필드에는 여러가지 값들이 올 수 있는데 그 목록은 다음과 같다.
- inode 형식 : inode 타입이 어떤 것인지 식별 해주는 필드이다.
- 플래그 : UFS1의 플래그([그림 2])와 동일하다.
대부분 동일한 필드들이지만, 플래그와 최적화 기술 필드 크기가 변경되었고 볼륨 레이블 필드가 UFS2에서 추가 되었으며, 시그니처 값 또한 다른 것을 볼 수 있다.
이번 글에서는 UFS의 슈퍼블록 데이터 구조체에 대해서 알아볼 것인데 UFS1과 UFS2의 슈퍼블록 구조는 조금 차이가 있다.
아무래도 UFS2가 UFS1의 개선버전이다보니 불필요한 필드는 삭제되어 차이가 생겼다.
[UFS1 슈퍼블록]
UFS1의 슈퍼블록은 섹터 16에 위치하며 크기는 2048byte이다. 하지만 대부분 비 필수 데이터이고 또 값도 0이어서 히든 데이터가 숨기에 적당한 공간을 제공하기도 한다. 아래는 슈퍼 블록 데이터 구조체 오프셋 별 의미이다.
* 참고 : 기준주소란, 실린더 그룹 내에 그룹 기술자, inode 테이블, 비트맵 등이 위치할 수 있게 기준점이 되어주는 주소
- 최적화 기술: 해당 필드는 블록 할당 최적화 기술과 관련된 필드로 0과 1이라는 값이 설정 될 수 있다. 0이란 값은 할당공간 대신 할당시간 절약을 우선시 하라는 의미이다. 1이란 값은 할당공간을 절약하라는 의미로 제일 크기가 적당한 위치를 찾아 할당 한다.
* 참고 : 0이란 값은 할당공간 절약을 우선시 하지 않기 때문에 파일이나 디렉토리 내용 할당 후 단편화가 일어 날 수 있다. 그리고 1이란 값은 시간공간 절약을 우선시 하지 않기 때문에 파일이나 디렉토리 내용 할당에 많은 시간이 걸릴 수 있다.
- 일반 플래그 : 해당 필드에는 여러가지 값들이 올 수 있는데 그 목록은 다음과 같다.
[그림 2 - 플래그 목록]
- inode 형식 : inode 타입이 어떤 것인지 식별 해주는 필드이다.
[UFS2 슈퍼블록]
UFS2 슈퍼블록은 UFS1의 개선된 형식으로 불필요한 데이터가 지워져 UFS1에 비하여 간단해졌다. 개선버전이기 때문에 UFS1 슈퍼블록과 동일한 필드도 존재하지만 UFS1은 32bit 필드였다면 UFS2는 64bit로 변경되었다. UFS2 슈퍼블록은 섹터 128에 위치하며 아래에 그 오프셋들을 나열 해 두었다.
[그림 3 - UFS2 슈퍼 블록의 오프셋]
- 플래그 : UFS1의 플래그([그림 2])와 동일하다.
대부분 동일한 필드들이지만, 플래그와 최적화 기술 필드 크기가 변경되었고 볼륨 레이블 필드가 UFS2에서 추가 되었으며, 시그니처 값 또한 다른 것을 볼 수 있다.
'[+] Forensic' 카테고리의 다른 글
File System - UFS (8) (0) | 2012.03.07 |
---|---|
File System - UFS (7) (0) | 2012.03.07 |
File System - UFS (5) (0) | 2012.03.03 |
File System - UFS (4) (0) | 2012.03.02 |