본문 바로가기

확장 속성

File System - UFS (8) 이번 글에서는 inode와 확장 속성에 대해서 알아보도록 하겠다. inode의 데이터 구조체는 UFS1과 UFS2가 다르기 때문에 따로 나누어 알아보도록 하겠다. [UFS1 inode] inode는 앞 글에서도 여러번 언급하였듯이 각 파일과 디렉토리의 메타데이터를 저장한다. 실린더 그룹 별 inode 수는 슈퍼블록에서 정의되며 각 실린더 그룹에는 inode 테이블이 존재한다. inode 테이블의 위치 또한 슈퍼블록에서 정의하여 준다. UFS1 에서의 inode 테이블의 시작 위치는 기준주소에 따라 모두 다른 상대적 오프셋을 가지지만 UFS2의 inode 테이블은 모두 동일한 오프셋을 가진다. 아래는 UFS1 inode 테이블의 오프셋 구조이다. [그림 1 - UFS1 inode 오프셋] * 참고 : 모드.. 더보기
File System - UFS (4) 이번 글에서는 UFS의 메타데이터 참조 모델에 해당하는 데이터들을 알아 볼 것이다. [inode] Ext 파일시스템과 마찬가지로 UFS에서도 inode는 동일한 개념을 가지며 파일과 디렉토리를 설명하는 메타데이터를 저장한다. inode는 inode 테이블이라는 곳에 위치하고 있으며 inode 테이블은 실린더 그룹에 위치하고 그 위치는 슈퍼블록이 정의하여 준다. UFS1과 UFS2의 inode 초기화 시점은 약간 다른데, UFS1 의 경우 파일시스템이 생성 될 때 모든 inode가 초기화되고 UFS2의 경우 inode가 할당 될 때 초기화가 이루어진다. * 참고 : UFS2에서 파일이나 디렉토리 할당을 위한 블록이 존재하지 않는다면(여유 블록이 없다면) inode 테이블의 여유 공간을 사용하기도 한다. U.. 더보기
File System - Ext (11) 이번 글에서는 Ext 파일시스템의 파일이나 디렉토리의 확장 속성 데이터 구조체에 대해서 알아 볼 것이다. 확장 속성에는 3가지 구역이 존재한다. - 헤더 영역 - 이름 엔트리 영역 - 값 영역 헤더 영역 다음에 이름 엔트리 영역이 오는데 일반적으로 영역들은 붙어 있기 마련이지만, 값 영역은 나머지 두 영역과 다르게 블록 마지막에 존재 해 두 영역과 붙어 있지 않다. 더군다나 값 영역은 블록 마지막에서 블록 처음을 향하여 값이 점차 쌓인다. 값 영역에 있는 값들은 속성에 이름 엔트리와 대응되는 값들이지만, 이름 엔트리 순서와 값 순서에 따라 대응되는 것은 아니다. 일단 헤더 영역부터 알아보자. * 참고 : 현재 필자가 가지고 있는 샘플 이미지에는 확장 속성을 가진 디렉토리나 파일이 존재 하지 않아 오프셋 .. 더보기