6가지의 파일 타입
각각의 파일에 대한 주요 정보가 저장된 제어 구조로, 모든 유형의 UNIX 파일은 inode를 통해 운영체제가 관리
각 파일 당 단 하나의 inode, 파일 속성들은 모두 inode에 저장
FreeBSD inode 구조(최소크기 4KB, 디폴트 16KB)
블록 단위 파일할당 + 동적할당
인덱스 중 일부가 해당 파일의 inode에 저장됨
모든 UNIX 구현에서 inode는 몇개의 직접 포인터와 3개의 간접지정 포인터 포함(단일,이중,삼중)
UNIX 파일의 용량
레벨 | 블록 수 | 바이트 수 |
---|---|---|
직접지정(direct) | 12(처음 12개의 파일 데이터 블록) | 48K |
단일 간접지정 | 512 | 2M |
이중 간접지정 | 512 * 512 = 256K | 1G |
삼중 간접지정 | 512 * 256K = 128M | 512G |
해당 inode 파일 구조의 장점
1. inode는 작은 고정크기라 장시간동안 주기억장치에 있어도 됨
2. 작은 파일들은 간접 접근이 거의 없어서 처리 시간과 디스크 접근 시간을 줄여줌
3. 파일의 이론적 최대 크기는 실제로 모든 응용프로그램을 충족시킬만큼 큼
계층적인 트리 형태로 구조화
각 디렉토리(dentry)는 파일이나 다른 디렉토리 포함 가능(서브디렉토리)
디렉토리 = 파일명 + inode 번호(i-number)의 리스트
파일이나 디렉토리가 접근되면 그 인덱스 번호가 inode 테이블의 인덱스로 사용되는 방식
UNIX 파일 시스템은 단일 논리 디스크 혹은 디스크 파티션에 위치하며 다음 요소로 구성