본문 바로가기

inode

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 (4) 이번 글에서는 메타데이터 참조 모델에 해당하는 것을 알아 볼 것이다. [Inode] Ext 파일시스템의 메타데이터들은 모두 Inode에 저장이 된다. Ext 파일시스템에서 Inode는 모두 동일한 크기를 가지며, 슈퍼 블록에 정의되어 있다. Inode는 Inode Table이라는 집합체에 저장되어 있으며 이 테이블은 각 블록 그룹에 존재하며 크기는 슈퍼블록에 정의되어 있다. Inode 테이블의 위치는 그룹 기술자 테이블에서 정해준다. 보통 Inode의 1~10번은 예약되어 있고, 할당 된 상태이다. 슈퍼 블록은 이런 예약 Inode들을 제외한 첫 번째 Inode를 값으로 가지고 있다. 각 Inode 필드 중에는 고정된 번호를 가지는 필드가 있고 추가 정보로는 확장 속성과 간접 블록 포인터가 있다. 또 I.. 더보기