스물두줄

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

i-node: 파일의 속성과 데이터 위치

i-node는 파일의 속성과 데이터 블록 위치를 담는 UNIX 자료구조다. 파일 이름은 i-node에 없고 디렉터리 엔트리가 이름과 i-node 번호를 함께 담는다. 이름과 속성이 분리되어 있어 같은 파일에 이름을 여러 개 붙일 수 있다. 디렉터리 엔트리는 파일 이름…

주요 장면

  1. 0:02 정의
  2. 0:21 디렉터리 엔트리와 i-node
  3. 0:43 블록 포인터 계층
  4. 1:04 하드 링크
  5. 1:34 하드 링크와 심볼릭 링크
  6. 1:56 정리

대본

정의

i-node는 파일의 속성과 데이터 블록 위치를 담는 UNIX 자료구조다.

파일 이름은 i-node에 없고 디렉터리 엔트리가 이름과 i-node 번호를 함께 담는다.

이름과 속성이 분리되어 있어 같은 파일에 이름을 여러 개 붙일 수 있다.

디렉터리 엔트리와 i-node

디렉터리 엔트리는 파일 이름과 i-node 번호의 쌍이다.

i-node 번호로 i-node 테이블에서 해당 i-node를 찾는다.

속성과 블록 포인터는 i-node가 가지므로 디렉터리는 이름과 번호만 있으면 된다.

블록 포인터 계층

i-node는 블록 포인터로 데이터 블록의 위치를 가리킨다.

직접 포인터 12개는 데이터 블록을 바로 가리켜 약 48KB까지 닿는다.

간접 블록 하나가 포인터 1,024개를 담으므로 단계가 늘수록 크기가 커진다.

하드 링크

하드 링크는 같은 i-node 번호를 가리키는 디렉터리 엔트리를 하나 더 만든다.

그래서 두 이름은 같은 속성과 데이터 블록을 한 벌만 공유한다.

링크 수는 i-node에 기록되며, 0이 되어야 데이터 블록이 해제된다.

하드 링크와 심볼릭 링크

하드 링크와 심볼릭 링크는 둘 다 이름을 가리키지만 원본에 닿는 방식이 다르다.

하드 링크는 i-node를 직접 공유하므로 다른 파일 시스템에서는 만들 수 없다.

답안에 이 차이를 분명히 쓰면 감점이 줄어든다.

정리

정리하면 i-node는 파일의 속성과 데이터 위치를 담는다.

파일 이름은 디렉터리 엔트리에 있고, 링크 수가 0이어야 데이터 블록이 해제된다.

작은 파일은 직접 포인터로, 큰 파일은 간접 포인터로 접근한다.

같은 장의 영상