[SW_Jungle] File and File system / Page cache and Buffer cache

Jin Lee·2022년 1월 4일
0

PintOS

목록 보기
9/16
post-thumbnail

File

  • A named collection of related information
  • 일반적으로 비휘발성의 보조기억장치에 저장
  • 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌
  • operation
    • create, read, write, reposition (lseek), delete, open, close 등

File attribute or metadata

  • 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들
    • 파일 이름, 유형, 저장된 위치, 파일 사이즈
    • 파일 접근(읽기/쓰기/실행), 시간(생성/변경/사용), 소유자 등

File system

  • 운영체제에서 파일을 관리하는 부분
  • 파일 및 파일의 메타데이터, 디렉토리 정보 등을 관리
  • 파일의 저장 방법 결정
  • 파일 보호 등

메모리는 주소를 통해 접근하는 장치였다면, 파일은 이름을 단위로 접근하는 것

Directory

  • 파일의 메타데이터 중 일부를 보관하고 있는 일종의 특별한 파일
  • 그 디렉토리에 속한 파일 이름 및 attribute 들
  • operation
    • search for a file, create a file, delete a file
    • list a directory, rename a file, traverse the file system

Partition(=Logical Disk)

  • 하나의 물리적 디스크 안에 여러개의 파티션을 둘 수 있음
  • 물리적 디스를 파이션으로 구성한 뒤 각각의 파티션에 file system 을 깔거나 swapping등 다른 용도로 사용할 수 있음

VFS and NFS

  • VFS : 서로 다른 다양한 파일 시스템에 대해 동일한 시스템 콜 인터페이스(API)를 통해 접근할 수 있게 해주는 OS의 layer
  • NFS : 분산시스템에서는 네트워크를 통해 파일이 공유 될 수 있음, 분산환

Page cache

  • virtual memory의 paging system에서 사용하는 page framedmf chaching의 관점에서 설명하는 용어
  • memory-mapped I/O를 쓰는 경우 file I/O에서도 page cache 사용

Memory-mapped I/O

  • file의 일부를 virtual memory에 mapping 시킴
  • 매핑시킨 영역에 대한 메모리 접근 연산은 파일의 입출력을 수행하게 함

Buffer cache

  • 파일 시스템을 통한 I/O 연산은 메모리의 특정 영역인 buffer cache 사용
  • 파일의 locality 활용
    • 한번 읽어온 block에 대한 후속 요청시 buffer cache에서 즉시 전달
  • 모든 프로세스가 공용으로 사용
  • replacement algorithm 필요(LRU, LFU 등)

unified buffer cache

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

ref)
1. https://core.ewha.ac.kr/publicview/C0101020140520134614002164?vmode=f

profile
깃허브 : https://github.com/jinlee9270

0개의 댓글