본문 바로가기

Dev.Basic/운영체제

[OS] 10-4. File System IV

Chapter 10-4. File System IV - File System Structure

Directory Implementation

Directory에 file의 meta data를 어떻게 저장할 것인가?


Linear list

순서리스트의 구조로 저장한다.

단순하기 때문에 구현이 간단하지만 파일을 찾기 위해 linear search가 필요하다.


Hash Table

linear list 구조에 hash 구조를 더한 방법이다.

search time을 없애는 것이 목적이지만 hash 구조의 특성상 Collision이 발생할 수 있다.


VFS(Virtual File System)

사용자가 파일시스템에 접근하기 위해서는 시스템 콜을 요청해야 한다.

서로 다른 다양한 file system에 대해 동일한 시스템 콜 인터페이스르 ㄹ통해 접근할 수 있게 해주는 OS의 layer이다.


NFS(Network File System)

분산 시스템에서는 네트워크를 통해 파일이 공유될 수 있다.

NFS는 분산환경에서의 대표적인 파일 공유 방법이다.




Page Cache and Buffer Cache

Page Cache
Virtual Memory의 paging system에서 사용하는 page frame을 caching의 관점에서 설명하는 용어이다.
Memory-Mapped I/O를 쓰는 경우 file의 I/O에서도 page cache 사용한다.

Memory-Mapped I/O
File의 일부를 virtual memory에 mapping시킨다.
매핑시킨 영역에 대한 메모리 접근 연산은 파일의 입출력을 수행하게 한다.

Buffer Cache
파일 시스템을 통한 I/O연산은 메모리의 특정 영역인 buffer cache 사용한다.
File 사용의 locality활용하며
모든 프로세스가 공용으로 사용하는 공간이다.
Replacement algorithm 필요하다.

최근의 OS에서는 기존의 buffer cache가 page cache에 통합되었다.
buffer cache도 page단위로 관리를 한다.

=> unified Buffer Cache





Chapter 10-4. 끝

이 포스팅은 이화여대 반효경 교수님 강의를 듣고 요약한 내용을 담고 있습니다.



'Dev.Basic > 운영체제' 카테고리의 다른 글

[OS] 11-2. Disk Management & Scheduling II  (0) 2016.06.19
[OS] 11-1. Disk Management & Scheduling I  (0) 2016.06.19
[OS] 10-3. File System III  (0) 2016.06.17
[OS] 10-2. File System II  (0) 2016.06.16
[OS] 10-1. File System  (2) 2016.06.15