IT 기술/Developer article

[소개]IBM DeveloperWorks : 유닉스를 능숙하게 사용하기: inode에 대한 모든 것

ㅇㅔ ㄷㅡ 2008. 12. 15. 00:42
 유닉스나 리눅스 시스템을 이용하다보면 자주 나오는 inode에 대한 IBM DeveloperWorks의 문서를 소개합니다.

원문 : 유닉스를 능숙하게 사용하기: inode에 대한 모든 것


df와 같은 유닉스 명령어에서 Iused%Iused가 무엇을 의미하는지, 아니면 사람들이 inode에 대해 이야기할 때 궁금증을 느낀 경우가 없습니까? 유닉스(UNIX®)와 리눅스(Linux®) 시스템은 모두 inode를 사용하며, IBM® AIX®라고 해서 다르지 않습니다. inode가 무엇이며, inode가 유닉스에 중요한 이유, inode의 구조, inode와 관련이 있는 명령어를 알아봅시다.

inode는 유닉스 운영체제에서 사용하는 자료 구조로, 파일 시스템 내부에 파일을 유지하는 중요한 정보를 담고 있다. 유닉스에서 파일 시스템을 생성할 때, 수 많은 inode 집합을 생성한다. 일반적으로 전체 파일 시스템 디스크 용량의 대략 1% 정도가 inode 테이블에 할당된다.

종종 사람들은 inodeinumber를 섞어서 사용한다. 두 용어는 비슷하며, 서로 관련이 있지만 똑같은 개념을 나타내지는 않는다. inode는 자료 구조다. inumber는 실제 inode 인식 번호이므로 inode numberinumber라고 부른다. inumber는 파일 정보를 담은 중요한 항목일 뿐이다. inode에서 몇 가지 다른 속성은 다음 절에서 설명한다.

inode 테이블은 개별 파일 시스템을 위한 모든 inode 숫자 목록을 포함한다. 사용자가 파일에 접근하려면, 유닉스 시스템은 올바른 inode 번호로 inode 테이블을 탐색한다. inode 번호를 발견하면, 사용자가 내린 명령이 inode에 접근해서 가능하다면 적절한 변경 작업을 진행한다.

예를 들어, vi로 파일을 변경하는 작업을 생각해보자. vi <filename>이라고 입력할 때, inode 숫자를 inode 테이블에서 찾아 inode를 연다. vi 편집 세션 중에서 몇 가지 속성이 변경되며, :wq로 작업을 종료할 때, inode가 닫히며 해제된다. 이런 식으로 사용자 두 명이 같은 파일을 동시에 편집하면, inode가 편집 세션을 연 사용자 ID에 할당되며, 다른 사용자는 inode가 해제되기를 기다려야만 한다.