inode

June Lee·2021년 4월 18일
0

운영체제

목록 보기
23/25

디스크 I/O를 할 때에는 항상 페이지 캐시에서 먼저 찾아본다. 그런데 이처럼 파일을 오픈하는 경우 파일의 inode를 디스크에서 메모리로 가져와야하기 때문에, inode 역시 캐싱을 해준다.

inode contents

  1. 파일의 종류(regular/directory/special...)
  2. 파일의 오너 id
  3. 파일 접근 권한
  4. creation/access/modify time
  5. 파일 크기
  6. ⭐️ file data block addr.table ⭐️
    -> 파일이 크면 디스크에서 떨어져있기 때문에, 이 주소를 모두 알아야한다. 아이노드는 파일 하나를 접근하기 위한 정보들을 다 가지고 있다고 했는데, 만약 파일이 데이터 블락 10개로 이루어져 있다면, 이 10개의 데이터 블락을 찾아가기 위한 정보도 모두 가지고 있어야 한다.

cf)
symbolic links file의 경우, 오리지널 파일과 별개의 inode를 가진다. (둘 중 어떤 inode를 이용해서도 실제 파일에 access할 수 있다) 그러나 linux에는 hard link라고 하여 원래 파일과 symbolic links file이 같은 inode를 공유하는 형태도 있다.

cf) extent
블락이 디스크에서 여기저기 흩어져 있을 때, 그중 디스크에서 물리적으로 붙어있는 부분을 extent라고 한다. 물리적으로 붙어있다면 주소를 하나만 가져서 address table의 크기를 줄여준다.

profile
📝 dev wiki

0개의 댓글