본문 바로가기

CS/운영체제

운영체제(19) - 디렉토리 구현과 VFS, NFS

반응형

디렉토리를 구현하는 공간을 어떻게 할당하고 관리하는가??

Linear list

  • <file name, file의 metadata> 의 list
  • 구현이 매우 간단하다
  • 디렉토리 내에 파일이 있는지 찾기 위해서는 linear search필요하다
  • 실행 시간이 길다

Hash Table

  • linear list + hashing
  • Hash table은 file name을 이 파일의 linear list의 위치로 바꾸어줌
  • search time을 없앰
  • Collision 발생 가능
  • 해시 테이블이 고정된 크기를 갖기에, 크기에 따라서 해시 기능도 제한을 받는다

 

VFS ( Virtual File System)

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

NFS ( Network File System)

  • 분산 시스템에서는 네트워크를 통해 파일이 공유될 수 있음
  • NFS는 분산환경에서의 대표적인 파일 공유 방법

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 활용 ( 한 번 읽어온 block에 대한 후속 요청시 buffer cache에서 즉시 전달)
  • 모든 프로세스가 공용으로 사용
  • Replacement algorithm 필요 (LRU, LFU 등)

 

Unified Buffer Cache

최근의 OS에서는 기존의 buffer cache가 page cache에 통합됨

 

 

이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.

필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.

http://www.kocw.net/home/search/kemView.do?kemId=1046323 

 

운영체제

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

www.kocw.net

 

반응형