[운영체제 스터디] - 10. 파일시스템

Ader(아더)·2022년 4월 10일
0

OS

목록 보기
10/11

[10주차] - 파일시스템


1. File and File System


2. Directory and Logical Disk


3. open()




4. File Protection


5. File System의 Mounting



6. Access Methods

  • 시스템이 제공하는 파일 정보의 접근 방식
    • 순차 접근(Sequential access)
      • 카세트 테이프를 사용하는 방식처럼 접근
      • 읽거나 쓰면 offset은 자동적으로 증가
    • 직접 접근(direct access, random access)
      • LP 레코드 판과 같이 접근하도록 함
      • 파일을 구성하는 레코드를 임의의 순서로 접근할 수 있음

7. Contiguous Allocaiton

  • 단점
    • external fragmentation
    • File grow가 어려움
      • file 생성 시 얼마나 큰 hole을 배당할 것인가?
      • grow 가능 vs 낭비
  • 장점
    • FAST I/O
      • 한 번의 seek/rotation으로 많은 바이트 transfer
      • Realtime file용으로, 또는 이미 run 중이던 process의 swapping용
    • Direct access 가능

8. Linked Allocation

  • 장점
    • external fragmentation 발생 안함
  • 단점
    • No random access
    • Reliability 문제
      • 한 sector가 고장나 pointer가 유실되면 많은 부분을 잃음
    • Pointer를 위한 공간이 block의 일부가 되어 공간 효율성을 떨어뜨림
      • 512 bytes/sector, 4bytes/pointer
  • 변형
    • File-allocation table(FAT) 파일 시스템
      • 포인터를 별도의 위치에 보관하여 reliability와 공간 효율성 문제 해결

9. Indexed Allocation

  • 장점
    • external fragmentation 발생하지 않음
    • Direct Access 가능
  • 단점
    • Small file의 경우 공간 낭비(실제로 많은 file들이 small)
    • Too Large file의 경우 하나의 block으로 index를 저장하기에 부족
      • 해결 방안
        1. linked scheme
        2. multi-level index

10. Unix 파일시스템의 구조



11. FAT File System


12. Free-Space Management



13. Directory Implementation



14. VFS and NFS

  • Virtual File System
    • 서로 다른 다양한 file system에 대해 동일한 시스템 콜 인터페이스를 통해 접근할 수 있게 해주는 OS의 layer
  • Network File System
    • 분산 시스템에서는 네트워크를 통해 파일이 공유될 수 있음
      - NFS는 분산 환경에서의 대표적인 파일 공유 방법임

15. Page cache and buffer cache




16. 프로그램의 실행

본 포스팅은 반효경 교수님의 2017 운영체제 강의를 바탕으로 제작되었습니다.

profile
하루하루 성장하는 개발자

0개의 댓글