스물두줄

정보관리기술사 · 개념서 · 클라우드 및 인프라

i-node

설명 영상 i-node: 파일의 속성과 데이터 위치 · 2:05

왜 배우는가: i-node는 UNIX 계열 파일 시스템에서 파일의 속성과 데이터 블록 위치를 담는 핵심 자료구조이며, 파일 접근·삭제·링크 동작을 이해하는 기초다. 기술사 시험에서는 1교시 용어 문제와 4교시 논술 문제로 반복해 출제되므로 구성 항목과 블록 관리 방식을 함께 정리해 두어야 한다.

출제 이력: 제102회 1교시 1번, 제96회 1교시 3번, 제89회 4교시 5번

1. 한 줄 정의와 핵심 키워드

i-node는 파일의 이름을 제외한 속성 정보와 데이터 블록 위치를 담는 자료구조다

핵심 키워드

  • i-node 번호(inumber): 파일마다 고유하게 부여되는 식별 번호로, 디렉터리 엔트리에 파일 이름과 함께 저장된다.
  • 디렉터리 엔트리: 파일 이름과 i-node 번호의 쌍으로, 파일 속성은 i-node가 가진다.
  • 직접 블록 포인터: i-node 안에서 데이터 블록을 직접 가리키는 포인터다.
  • 간접 블록 포인터: 단일·이중·삼중 간접 블록을 통해 큰 파일의 데이터 블록을 가리킨다.
  • i-node 테이블: 각 블록 그룹에 위치하며 모든 i-node가 연속 저장되는 영역이다.
  • i-node 비트맵: i-node의 할당 여부를 비트 단위로 나타낸다.
  • 보호 정보: 소유자 ID, 그룹 ID, 접근 권한 모드 필드다.
  • 타임스탬프: 접근·수정·변경 시각을 담는 필드다.

2. 개념 풀이

쉬운 말로 하면 i-node는 파일의 '신분증'이다. 파일 이름은 디렉터리에 적혀 있고, 파일이 누구의 것인지, 크기가 얼마인지, 디스크 어디에 내용이 있는지는 i-node에 적혀 있다. 이름과 내용을 떼어 놓았기 때문에 같은 파일에 이름을 여러 개 붙이는 링크가 가능하다.

정식 정의는 다음과 같다. i-node는 UNIX 계열 파일 시스템에서 파일 또는 디렉터리 하나당 하나씩 할당되는 고정 크기의 자료구조이며, 파일의 소유권, 접근 권한, 타임스탬프, 파일 크기, 데이터 블록 주소를 저장한다.

파일 이름은 i-node가 아니라 디렉터리 엔트리에 있다. 디렉터리 엔트리는 이름과 i-node 번호만 가지며, 나머지 정보는 i-node 번호로 찾는다.

i-node 번호는 i-node의 식별자다. 시스템은 파일을 처리할 때 이름보다 번호를 우선 사용하며, 번호로 i-node 테이블에서 해당 i-node의 위치를 계산한다.

블록 포인터는 데이터 블록의 위치를 적은 값이다. 직접 포인터와 간접 포인터로 나뉘며, 파일 크기에 따라 접근 경로가 달라진다.

하드 링크는 같은 i-node 번호를 가리키는 디렉터리 엔트리를 하나 더 만드는 것이다. i-node의 링크 수가 0이 되고 열린 참조가 없을 때 데이터 블록이 해제된다.

3. 등장 배경과 필요성

초기 UNIX 파일 시스템은 파일 정보를 디렉터리에 직접 넣는 방식을 택하지 않았다. 디렉터리 엔트리에 모든 속성을 두면 같은 파일을 여러 이름으로 가리키기 어렵고, 속성을 바꿀 때마다 여러 디렉터리를 수정해야 한다. 이 문제를 해결하려고 속성을 별도 구조로 떼어 냈고, 그것이 i-node다.

고정 크기 i-node는 번호로 바로 위치를 계산할 수 있다는 장점이 있다. 블록 그룹 단위로 i-node 테이블을 나누면 디스크 헤드 이동을 줄여 접근 시간을 줄일 수 있다. Ext 계열에서 i-node 크기는 슈퍼 블록에 정의되며, 예약된 i-node 번호도 있다. 예를 들어 1번은 Super Block, 2번은 루트 디렉터리이다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기