02. inode 방식과 가상 파일 시스템

2021. 2. 27. 20:36Computer(인강)/운영체제

728x90
반응형

안녕하세요 bannavi입니다^ㅅ^

오늘은 inode 방식과 가상파일 시스템에 대해서 공부해볼거에요

바로 시작하겠습니다!

 

 

inode 방식 파일 시스템

- 파일 시스템 기본 구조

1) 수퍼 블록: 파일 시스템 정보

2) 아이노드 블록: 파일 상세 정보(PCB)

3) 데이터 블록: 실제 데이터(1KB~4KB)

 

 

 

1) 수퍼블록

파일 시스템 정보 및 파티션 정보 포함

 

 

inode와 파일

파일 : inode 고유값과 자료구조에 의해 주요 정보 관리

- '파일이름:inode'로 파일이름은 inode 번호와 매칭

- 파일 시스템에서는 inode를 기반으로 파일 엑세느

- inode 기반 메타 데이터 저장

수퍼블록은 여러가지 파일들이 있는 이 전체 파일 시스템에 대한 정보를 담고 있는 블록이고,

각각의 파일들은 아이노드 번호가 할당이 되고 아이노드 블록에는 파일에 대한 상세정보가 들어가 있는 셈이 되는 것

각각의 정사각형 파일에는 해당 파일에 매칭이 되어있는 디스크 블록들이 들어가 있음.

 

 

 

inode 구조

- inode 기반 메타 데이터(파일 권한, 소유자 정보, 파일 사이즈, 생성시간 등 시간 관련 정보, 데이터 저장 위치 등)

 

 

 

 

cat 명령어는 오른쪽 파일에 들어있는 내용을 화면에 출력하라는 단순한 명령이다

 

해당 파일에 해당하는 아이노드 번호를 찾게되고

그에 해당하는 아이노드 블록에 가게됌.

Direct Blocks는 12개의 주 공간을 가지고 있는데

거기서 해당 데이터를 가지고 화면에 출력해주는것이다.

-> Direct Blockds는 해당블록의 주소를 가지고 있다.

 

 

 

아이노드 구조체 블록을 예쁘게 그려본 사진!

(각 데이터 블록들에 접근하고 장점이 있는지 알 수 있다)

 

 

 

디렉토리 엔트리

# 리눅스 파일 탐색: 예 -/home/ubuntu/ink.txt

1) 각 디렉토리 엔트리(dentry)를 탐색

- 각 엔트리는 해당 디렉토리 파일/디렉토리 정보를 가지고 있음

2) '/' dentry에서 'home'을 찾고, 'home'에서 'ubuntu'를 찾고, 'ubuntu'에서 link.txt 파일 이름에 해당하는 inode를 얻음

 

 

 

가상 파일 시스템(Virtual File System)

- Network 등 다양한 기기도 동일한 파일 시스템 인터페이스를 통해 관리 가능

- 예: read/write 시스템콜 사용, 각 기기별 read_spec/write_spec 코드 구현(운영체제 내부)

파일시스템 인터페이스를 사용해서 네트웍의 데이터를 쓰거나 읽으면서 쓸 수 있게끔 할 수 있도록

파일시스템을 확장함 -> 가상 파일 시스템

 

 

유닉스 시스템에서는 모든 디바이스를 다 파일처럼 다룹니다.

가상파일 시스템이라는 구조를 이용해서.

 

 

 

 

참고: 리눅스(유닉스) 운영체제와 가상 파일 시스템

- 모든 것은 파일이라는 철학을 따름

- 모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져있음

- 마우스, 키보드와 같은 모든 디바이스 관련된 기술도 파일과 같이 다루어짐

- 모든 자원에 대한 추상화 인터페이스로 파일 인터페이스를 활용

 

 

-> 내부를 전혀 몰라도 인터페이스만 알면 활용할 수 있는

 

 

 

참고: 특수 파일

* 디바이스

1) 블록 디바이스(Block Device)

: HDD, CD/DVD와 같이 블록 또는 섹터 등 정해진 단위로 데이터 전송, IO 송수신 속도가 높음

2) 캐릭터 디바이스(Character Device)

: 키보드, 마우스 등 byte 단위 데이터 전송, IO 송수신 속도가 낮음

3) cd/dev, cat tty

 

728x90
반응형

'Computer(인강) > 운영체제' 카테고리의 다른 글

가상 머신의 이해  (0) 2021.02.28
부팅의 이해  (0) 2021.02.27
파일 시스템 배경  (0) 2021.02.27
가상 메모리 동작 이해 총정리  (0) 2021.02.27
세그멘테이션 기법  (0) 2021.02.26