본문 바로가기
운영체제

[운영체제] File Systems

by moonstal 2022. 5. 12.

file and file system

  • file
    • 비휘발성 보조기억장치에 저장
    • 운영체제는 저장장치를 file로 관리
    • 연산(생성,지움,read,write)
  • file attribute(metadata): 파일내용x, 파일 관리 위한 정보(이름,유형,사이즈,위치)
  • file system: 운영체제에서 파일을 관리하는 부분

directory and logical disk

  • directory: 그 디렉토리에 속한 파일 이름 및 파일 attribute
  • partition(논리적 디스크):물리적 디스크 안에 여러 파티션, file system, swapping 용도로 사용

file protection

  • 권한 제어
    • access control matrix
      • access control list: 파일별로 누구에게 어떤 접근 권한 있는지
      • capability: 사용자별로 접근 권한 가진 파일
    • grouping: 파일에 대해 owner,group,public 세그룹으로 구분
    • password: 모든 파일에 password, 암기문제

access methods(파일정보 접근방식)

  • 순차접근: 카세트테이프
  • 직접접근: 임의의 순서로 접근

파일저장

  • 연속할당
    • 장점: 빠른 I/O, 직접접근가능
    • 단점: 외부조각(아무도 못씀), 파일grow 어려움(내부조각-할당되었지만 안씀)
  • 연결할당: 시작위치만
    • 장점: 외부조각x
    • 단점: 직접접근x, reliablity문제(한 sector 고장->pointer유실),
      pointer저장 공간효율성 떨어짐->file allocation table 파일시스템(포인터 별도 위치 보관)
  • 인덱스: 위치정보 인덱스에 저장
    • 장점: 외부조각x 직접접근
    • 단점: 인덱스 저장 블럭 필요 작은파일 공간낭비,
      큰파일 하나의 인덱스블럭으로 불가->또다른 인덱스(linked scheme)/멀티레벨인덱스

유닉스 파일시스템 구조

  • boot block: 부팅에 필요한 정보
  • superblock: 파일시스템 총체적 정보
  • inode: 파일이름제외 파일의 메타데이터 저장
  • data block: 파일의 실제 내용

비어있는 블럭 관리

  • bit map: 블럭별로 비트 0과 1로 표시, 연속적인 빈 block 찾을 때
  • 링크드 리스트: 비어있는 블럭 링크로 연결
  • 그룹핑: 인덱스 형식
  • 카운팅: 빈블럭+연속빈블럭

디렉토리 구현

  • linear list: 순차적 저장
  • hash table: 해쉬함수 적용
  • 메타데이터 보관: 디렉토리 내 직접 보관, 디렉터리에 포인터 두고 다른 곳 inode, fat 등

VFS and NFS

  • virtual file system: 다양한 파일 시스템 동일한 시스템 콜 인터페이스 통해 접근
  • network file system: 분산 시스템에서는 네트워크 통해 파일 공유

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

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

[운영체제] Disk Management and Scheduling  (0) 2022.05.13
[운영체제] Virtual Memory  (0) 2022.05.08
[운영체제] Memory Management  (0) 2022.05.06
[운영체제] Deadlocks  (0) 2022.05.03
[운영체제] Process Synchronization  (0) 2022.05.01