본문 바로가기

Ext

File System - Ext (4) 이번 글에서는 메타데이터 참조 모델에 해당하는 것을 알아 볼 것이다. [Inode] Ext 파일시스템의 메타데이터들은 모두 Inode에 저장이 된다. Ext 파일시스템에서 Inode는 모두 동일한 크기를 가지며, 슈퍼 블록에 정의되어 있다. Inode는 Inode Table이라는 집합체에 저장되어 있으며 이 테이블은 각 블록 그룹에 존재하며 크기는 슈퍼블록에 정의되어 있다. Inode 테이블의 위치는 그룹 기술자 테이블에서 정해준다. 보통 Inode의 1~10번은 예약되어 있고, 할당 된 상태이다. 슈퍼 블록은 이런 예약 Inode들을 제외한 첫 번째 Inode를 값으로 가지고 있다. 각 Inode 필드 중에는 고정된 번호를 가지는 필드가 있고 추가 정보로는 확장 속성과 간접 블록 포인터가 있다. 또 I.. 더보기
File System - Ext (3) 이번 글에서는 파일시스템 참조 모델 중 내용 참조 모델에 해당 하는 것들에 대해서 알아 보도록 하겠다. [블록] Ext 파일시스템의 블록은 NTFS와 FAT 파일시스템의 클러스터와 아주 유사한 개념으로, 보통 1024, 2048, 4096 byte의 크기를 가진다. 모든 블록에는 주소가 주어지며, 모든 블록들은 블록 그룹에 속해야만 한다. * 참고 : 예약 영역(부트 섹터와 부트코드가 있는 영역)의 블록들 블록 그룹에 속하지 않는다. 어떤 그룹에 속한 블록인지를 결정 하기 위해서는 아래와 같은 계산을 수행해야 한다. - 그룹 = (해당 블록 - 첫번째 데이터 블록) / 그룹 별 블록 수 * 참고 : 그룹 별 블록 수는 슈퍼블록에 정의되어 있다. [할당 상태] 블록의 할당 상태는 각 블록 그룹에 존재하는 .. 더보기
File System - Ext (2) 이번 글에서는 Ext 파일시스템에 파일시스템 참조 모델에 해당 하는 것들을 알아 볼 것이다. [슈퍼 블록] 슈퍼 블록은 파일시스템의 시작(부트 섹터 제외)으로부터 1024byte에 위치한다. 크기는 1024byte이지만 실제로는 이보다 조금 더 작다. 슈퍼 블록은 설정 값만 포함하고 있고 부트 코드는 포함하고 있지 않다. 슈퍼 블록의 복사본은 보통 블록 그룹의 첫 블록(슈퍼블록)에 저장된다. 슈퍼 블록에 저장되는 정보는 아래와 같다. - 각 블록의 크기 - 전체 블록의 수 - 블록 그룹 별 블록 개수 - 예약 블록 수 - inode 전체 개수 - 블록 그룹 별 inode 개수 - 볼륨 이름 - 마지막 수정 시간 - 마지막 마운트 시간 - 마지막 마운트 경로 - 무결성 식별 실행 여부 값 많은 정보들이 포.. 더보기
File System - Ext (1) 이번 글부터는 리눅스에서 많이 사용되고 기본적으로 사용되는 Ext 파일시스템에 대해서 알아 볼 것이다. 해당 글에서는 Ext 파일시스템이 어떤 것인지, 레이아웃과 구성은 어떻게 되어 있는지 알아 볼 것이다. [Ext File System] 해당 파일시스템은 Minix라는 리눅스 초기 파일시스템의 문제점을 해결하기 위하여 고안된 파일시스템이다. Ext는 UFS(Unix File System)을 기초로 만들어져, 현재 Ext4 까지 업데이트 되어 있다. Ext는 UFS에서 쓸모없는 기능들을 제외하여 구조를 이해하는데 어려움은 크게 줄었다. 또 파일과 관련된 모든 데이터들을 한곳에 모아두어 하드디스크 헤드가 데이터를 읽을 때 불필요한 동작을 하지 않도록 설계하였다. [레이아웃] Ext의 레이아웃은 아래와 같다.. 더보기