본문 바로가기

컴퓨터공학/운영체제

inode 방식과 파일시스템

반응형

inode 구조

1. 슈퍼  블록 : 파일 시스템 정보

2. inode 블록 : 파일 상세 정보

3. 데이터 블록 : 실제 데이터

 

inode 블록(마치 프로세스의 PCB와 유사하다)은 소유자정보, 모드, 데이터 블록, 타임스탬프 등을 담고 있으며 메타 데이터 파일 형식으로 되어 있고 파일이름으로 inode 번호를 매칭하게 된다.

파일 시스템에서는 inode를 기반으로 파일을 엑세스하게 된다.

 

Data Block은 각 데이터(1~4KB) 의 주소를 가지고 있으며 최대 12개 x 4KB 까지 연결할 수 있다

Indirect Blocks는 4MB / 4Byte = 1024개의 주소를 가질 수 있고, Double Indirect는 1024 x 1024 x 4KB 약 4GB를 담을 수 있고, Triple은 1024 x 1024 x 1024 x 4KB를 둘 수 있다.

 

리눅스에서 $cat file1.txt로 파일을 접근해보면 file1.txt로 inode 번호를 매칭하게 되고 inode로 들어가서 Data Block에 데이터주소로 접근하여 화면에 보여줄 수 있다.

 

리눅스에서 파일을 접근할때 / 엔트리(dentry : directory + entry)를 사용하는데 이것은 해당 디렉토리, 파일 정보 가지고 있다. 

예로 /home 라고 하면 root에 엔트리로 home 이라는 이름을 가진 inode를 찾는다

 

파일가상시스템은 이전에 시스템콜은 파일시스템에 구분없이 내부적으로 구현해놓은것에 따라 함수 호출만 하면 된다. 이처럼 네트워크에서도 인터페이스를 이용하여 파일을 액세스하는것처럼 구현해둔것이다. 

 

디바이스에서는 블록 디바이스와 캐릭터 디바이스가 있는데 블록 디바이스는 HDD,CD에 주로 쓰이며 블록,섹터 등으로 구분해두고 파일을 전송하는방식이며 I/O 읽고 쓰는 속도가 빠르다. 캐릭터 디바이스는 키보드와 마우스에 주로 쓰이며 byte 단위로 파일을 전송하며 I/O 읽고 쓰는 속도가 느리다.

반응형

'컴퓨터공학 > 운영체제' 카테고리의 다른 글

가상머신  (0) 2019.11.27
부트  (0) 2019.11.27
파일시스템  (0) 2019.11.27
세그먼트  (0) 2019.11.27
페이지교체 알고리즘  (0) 2019.11.27