본문 바로가기
Computer Science/운영체제

12. 파일시스템

by _S0_H2_ 2022. 8. 22.
728x90
반응형


파일시스템: 운영체제가 저장매체에 파일을 쓰기 위한 자료구조 / 알고리즘

 

파일시스템이 만들어진 이유?

- 0과 1의 데이터를 비트 단위로 관리하기에 오버헤드가 너무 큼 -> 블록단위로 관리(고유 번호 부여)

-> 사용자가 각 블록 고유 번호 관리가 어려움 -> 사용자는 파일단위로 관리, 각 파일은 블록 단위로 관리

 

파일 사이즈가 가변적인 경우가 있으므로 불연속 공간에 파일 저장 기능 지원이 필요함

- 블록 체인 : 블록을 linked list로 연결

- index block 기법 : 각 블록에 대한 위치 정보를 기록해서, 한번에 끝 블록을 찾아갈 수 있도록 함

 

windows : fat, fat32, ntfs

linux : ext2, ext3, ext4 (inode 방식 사용)

 

파일 시스템과 시스템 콜

: 동일한 시스템콜을 사용해서 다양한 파일 시스템 지원이 가능하도록 구현할 수 있음

 

inode 파일 시스템

파일 시스템 기본 구조

- 수퍼 블록 : 파일 시스템 정보, 파일 시스템 정보 및 파티션 정보 포함

- 아이노드 블록 : 파일 상세 정보

- 데이터 블록 : 실제 데이터

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

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

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

출력

direct block 을 좀 더 효율적으로 활용하기 위해 Indireact Blocks, Double Indirect Blocks, Triple Indirect Blocks가 생겨났다. 파일 크기가 작은 경우 Direct Blocks에 작성하고 클 수록 아래 Blocks를 활용한다.

 

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

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

 

디바이스

- 블록 디바이스 : HDD, CD/DVD 와 같이 블록/섹터 등 정해진 단위로 데이터 전송

- 캐릭터 디바이스 : 키보드, 마우스 등 byte 단위 데이터 전송

※ 패스트캠퍼스 [컴퓨터 전공자 따라잡기 온라인 완주반] 강의를 참고하여 작성하였습니다.
728x90
반응형

'Computer Science > 운영체제' 카테고리의 다른 글

13. 부팅  (0) 2022.08.22
11. 가상메모리  (0) 2022.03.04
10.Thread  (0) 2021.12.14
09. 프로세스와 IPC  (0) 2021.08.01
08. 프로세스와 Context Switching  (0) 2021.08.01