2012. 8. 3. 11:59ㆍWorking/IT 용어집
inode란??
파일 어드레싱
: 파일이나 디렉토리는 그에 해당하는 하나의 inode를 가지고 있으며, 이 inode는 그 파일에 대한 모든 정보를 가지고 있으며, 한 inode는 64byte로 이루어진다. 또한 이 inode를 가지고 있는 표를 시스템 inode표(i-list)라고 한다. 어떤 한 파일이나 디렉토리가 생성되면 하나의 inode가 만들어지고 그 inode가 i-list에 등록되며, 등록되는 entry-number를 그 inode에 대한 inumber라 한다.
● inode : 한 파일이나 디렉토리의 모든 정보를 갖고 있는 64byte로 구성된 표
● i-list : 한 파일 시스템에서 파일이나 디렉토리들의 inode를 갖고 있는 표
● inumber : inode가 i-list에 등록되는 entry-number
inode의 내용
: inode는 파일이나 딜게토리의 모든 정보를 가지고 있는 자료구조를 말하며, 64byte로 구성되는 표로서 유닉스 시세틈은 각 파일에 대한 하나의 inode를 할당한다.
● 파일소유권과 이용할 수 있는 여부에 대한 정보
● 파일내용이 들어있는 디스크 내의 물리적 주소
● 파일의 링크수
● 파일의 형태
● 파일의 크기
● 파일의 만들어진 시간, 최근 사용시간, 최근 수정시간
● inode의 최근 수정시간
유닉스의 inode에 대해 좀더 자세히 알아보자.
유닉스에서 디스크는 일정한 크기의 블록으로 나누어져 있으며, 각 파일이 디스크의 공간에 할당될때도 정해진 크기의 블록으로 할당되어 사용된다. inode는 파일의 구성블럭에 대한 물리적 위치가 포함되어 있다. 블록들의 물리적위치를 기록하기 위하여 직접어드레싱방법 및 간접어드레싱 방법이 사용되고 있다. inode에 있는 블록위치에 대한 정보는 13개의 필드로 되어 있는데, 필드 0부터 필드 9까지는 직접적으로 블록을 어드레싱하는 부분인데, 다시 말해서 각 필드 내에 있는 내용은 디스크의 주소를 포함하고 있다. 처음 10개의 블록은 이러한 방식으로 어드레싱 되며, 유닉스 내에 있는 파일의 대부분이 작기 깨문에 10개의 블록으로도 충분하지만, 방대한 파일인 경우에는 필드 10, 11 또는 12가 사용된다. 각각은 1, 2, 3차 간접 어드레싱방법을 사용하게 된다. 필드 10은 실제의 어드레스가 있는 블록의 어드레스 즉, 주소의 주소를 가지고 있으며 어드레스수를 통산 2, 3백개의 주소를 기록할 수 있다.
그러므로 필드 10은 실제주소가 있는 곳을 가리키고, 필드 11은 이중간접어드레스 필드를, 12는 삼중 어드레스를 각각 저장하고 있다. 이러한 방법에 의해 어떠한 크기의 파일이라도 유닉스에서 모두 다루어 질 수 있다.
파일의 생성
: 새로운 파일이 만들어지면 그에 해당하는 inode가 i-list안에 만들어지며, 그 inode의 inumber와 파일이름이 디렉토리에 등록된다.
# df -i 하여 사용할수 있는 inode의 값이 0이면 아무것도 생성할수 없다.
파일의 링크
: 이미 존재하고 있는 파일을 링크시킬 경우는 디렉토리에 그 파일에 대한 새로운 이름이 등록되고, inumber는 본래 있던 파일의 inumber가 복사된다. 이때 복사되는 파일의 inode에서 파일의 링크수는 하나 증가하게 된다.
파일의 삭제
: 파일을 삭제하면 그 파일에 대한 inode의 파일 링크수가 하나 감소되고 디렉토리 entry에서는 해당 파일의 inumber가 zero로 변한다. inode의 파일링크수가 zero가 되면 파일의 디스크 블록은 free가 되며 inode는 dellocate 된다.
# ls -i
# 아래 블로그에서 발췌