2021-11-28 운영체제 (11주차)

파일 시스템

  • 파일
    • 관련 정보를 이름을 통해 저장한것, 일반적으로 비휘발성 보조기억장치에 저장
    • 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌
  • File attribute - 파일의 metadata
    • 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들
    • 파일 이름, 유형, 저장된 위치, 파일 사이즈
    • 접근 권한(읽기/쓰기/실행), 시간 (생성/변경/사용), 소유자 등
  • File system
    • 운영체제에서 파일을 관리하는 부분
    • 파일의 파일의 메타데이터, 디렉토리 정보 등을 관리
    • 파일의 저장 방법 결정

Directory and Logic Disk

  • 디렉토리
    • 파일의 메타데이터 중 일부를 보관하고 있는 일정의 파일
    • 그 디렉토리에 속한 파일 이름 및 바일 attribute들
  • 파티션
    • 하나의 디스크 안에 여러 파티션을 두는게 일반적
    • 여러 개의 물리적인 디스크를 하나의 파티션으로 구성하기도 한다
    • 디스크를 파티션으로 구성한 뒤 각각의 파티션에 file system을 깔거나 swapping 등 다른 용도를 사용할 수 있음

open()

open(“a/b/c”)

  • 디스크로부터 파일 c의 메타데이터를 메모리로 가지고 옴
  • 이를 위해 directory path 를 search
    • 루트 디렉토리를 먼저 열고 a위치 획득 →a openg하고 read b위치 획득 → b안에서 c위치 획득→ c open

File Protection

  • 파일에 대해 누구에게 어떤 유형의 접근을 허락할 것인가
  • Access control Matrix
    • 행렬에 파일, 사용자 전부 기록해서 어떤 접근권한 있는지 표시
    • Access control list: 파일별로 누구에게 어떤 접근 권한이 있는지 표시
    • Clpability: 사용자별로 자신이 접근 권한을 가진 파일 및 해당 권한 표시
  • Grouping
    • 전체 user를 owner, group, public의 세 그룹으로 구분
    • 각 파일에 대해 세 그룹의 접근권한을 3비트씩으로 표시
  • Password
    • 파일마다 password를 두는 방법

파일 접근 방법

  • 순차접근
    • 카세트 테이프 사용하는 방식처럼 접근
    • 읽거나 쓰면 offset은 자동적으로 증가
  • 직접접근

연속할당

  • 단점
    • 크기가 균일하지 않기에 공간낭비 가능
    • 파일 크기 수정에 제약이 있다
  • 장점
    • 빠른 I/O - 한번의 이동으로 많은양의 데이터 전송 가능
    • 직접 접근이 가능하다

Linked Allocation

파일의 시작위치만 알고있고 사이마다 기록해둠

  • 단점
    • 중간위치를 탐색하려면 첫번째부터 검색해야함
    • 중간에 한 sector가 고장나 pointer가 유실되면 뒤는 전부 읽어버린다
    • pointer를 워한 공간이 block 일부가 되어 공간 효율성 문제
  • 변형
    • File-allocation table(FAT)시스템

Indexed Allocation

블럭 하나에다가 저장되어 있는 위치를 안에다 적어둠

  • 장점
    • 외부 조각이 생기지 않음
    • 직접접근 가능
  • 단점
    • 작은 파일의 경우 공간 남비
    • 너무 큰 파일의 경우 하나의 block으로 인덱스를 저장하기에 부족

Free-Space Management

  • Bit map
    • 각각의 블럭별로 0과 1로 사용중인지 비어있는지 표시
    • 연속적인 n개의 free block을 찾는데 효과적
  • Linked List
    • 모든 비어있는 블럭들을 링크로 연결
    • 연속적인 가용공간을 찾는게 쉽지 않다
  • Grouping
    • linked list 방법의 변형
    • 첫번째 free block이 n개의 Pointer를 가짐
  • Counting
Written on November 28, 2021