프린세스 다이어리

[OS] inode 방식과 가상 파일 시스템 본문

운영체제, 컴퓨터 구조

[OS] inode 방식과 가상 파일 시스템

개발공주 2022. 2. 6. 22:10
728x90

inode란 Linux/Unix의 파일 시스템에서 사용되는 자료구조를 말한다. inode 방식에는 크게 3가지 블록 타입이 있는데, 슈퍼 블록(super block), 아이노드 블록(inode block), 데이터 블록(data block)으로 나뉜다.

 

1. 슈퍼 블록

슈퍼 블록은 파일 시스템 전체를 대표하는 블록으로, 파일 시스템 정보 및 파티션 정보 등을 포함하고 있다. 리눅스 터미널에서 df 명령어를 치면 슈퍼블록 정보를 볼 수 있다. 

 

터미널에서 df 치면 슈퍼블록 정보가 나온다.

파일 시스템이 뭐가 있는지, 512Byte짜리 블록이 몇 개인지, 사용되고 있는 용량과 남아있는 용량은 얼마인지, 각각의 파일 시스템은 어디에 마운티드 되어 있는지 등의 정보를 보여준다.

 

2. inode 블록

inode 블록은 inode가 모여 있는 공간이다. 모든 파일이나 디렉토리는 하나씩 inode를 가지고 있고, 각 파일마다 inode 번호가 할당돼 있다. 한 개의 inode는 64byte로 이루어져 있으며, 해당 파일의 소유권, 허가원, 파일 종류, 실제 데이터의 주소 등을 가지고 있다. 이것이 메타 데이터다.

 

우리는 외부적으로 파일 이름만 아는 상태로 파일을 읽고 쓰지만, 내부적으로는 inode 정보를 참조해서 처리된다. 마치 프로세스와 프로세스 id가 매칭된 것과 같이 모든 파일에는 inode 번호가 매칭돼 있다. 프로세스 처리를 위해 PCB에 있는 정보를 기반으로 처리하듯이, 응용 프로그램이 특정 파일에 액세스하기 위해서는 해당 파일의 정보가 담긴 inode를 참조한다.

 

inode 구조체 블록의 구성

 

 

3. 데이터 블록

실제 파일 내용이 저장되는 디스크 블록의 집합을 의미한다.

 

 

728x90
Comments