운영체제 - 파일 시스템

델리만쥬 디퓨저·2024년 9월 3일

운영체제

목록 보기
13/13

파일과 파일 시스템

  • 파일(File)
    - 논리적인 저장 단위로, 관련된 정보 자료들의 집합에 이름을 붙인 것
    - 컴퓨터 시스템의 편리한 사용을 위해 정보 저장의 일관된 논리적 관점을 제공
  • 파일 속성(File attribute)
    - 파일을 관리하기 위한 각종 정보이며, 파일 자체의 내용은 아님
    - 파일 이름, 유형, 저장된 위치, 파일 사이즈, 접근 권한, 소유자 등 파일에 대한 전반적인 정보
  • 파일 시스템(File System)
    - 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공
    - 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉터리 구조이고, 파일 및 파일의 메타데이터, 디렉터리 정보 등을 관리
  • 파티션(Partition)
    - 연속된 저장 공간을 하나 이상의 연속되고 독립적인 영역으로 나누어 사용할 수 있도록 정의한 규약
    - 하나의 물리적 디스크 안에 여러 파티션을 두는 게 일반적이지만, 여러 물리적 디스크를 하위 파티션으로 구성하기도 함

접근 방식(Access Methods)

순차 접근(Sequential Access)

  • 가장 단순한 방법으로 파일의 정보가 레코드 순서대로 처리됨
  • 카세트테이프를 사용하는 방식과 동일
  • 현재 위치에서 읽거나 쓰면 offset이 자동으로 증가하고, 뒤로 돌아가기 위해선 되감기가 필요

직접 접근(Random Access)

  • 파일의 레코드를 임의의 순서로 접근할 수 있음
  • LP 판을 사용하는 방식과 동일
  • 읽기나 쓰기의 순서에 제약이 없으며, 현재 위치를 유지할 수 있다면 이를 통해 순차 접근 기능도 구현 가능

색인 접근(Index Access)

  • 파일의 레코드를 찾기 위해 색인을 먼저 찾고 대응되는 포인터를 얻음
  • 이를 통해 파일에 직접 접근하여 원하는 데이터를 얻을 수 있음
  • 따라서 크기가 큰 파일에서 유용

디렉터리(Directory)

  • 파일의 메타데이터 중 일부를 보관하고 있는 일종의 특별한 파일
  • 해당 디렉터리에 속한 파일 이름과 속성들을 포함하고 있고, 다음과 같은 기능들을 제공
    - 파일 찾기(Search)
    - 파일 생성(Create)
    - 파일 삭제(Delete)
    - 디렉터리 나열(List)
    - 파일 재명명(Rename)
    - 파일 시스템 순회(Traverse)

디렉터리는 파일을 빠르게 탐색해야 하며, 적절한 이름 및 파일들을 적절하게 분류 및 그룹화로 사용자들이 사용하기 편리해야 한다. 이를 위해 디렉터리의 논리적 구조를 정의하는 여러 방법이 있음

1단계 디렉터리(Single-Level Directory)

  • 모든 파일들이 디렉터리 밑에 존재하는 형태
  • 파일들은 서로 유일한 이름을 가지고 서로 다른 사용자라도 같은 이름을 사용할 수 없음
  • 파일 이름 충돌 및 파일 검색의 비효율성 존재

2단계 디렉터리(Two-Level Directory)

  • 각 사용자별로 별도의 디렉터리를 갖는 형태

    - UFD : 자신만의 사용자 파일 디렉터리
    - MFD : 사용자의 이름과 계정 번호로 색인되어 있는 디렉터리, 각 엔트리는 사용자의 UFD를 가리킨다.
    - 서로 다른 사용자가 같은 이름의 파일을 가질 수 있고 효율적인 탐색이 가능
    - Sub-directory 생성 및 사용자간 파일 공유가 불가능

트리 구조 디렉터리(Tree-Structed Directory)

  • Tree 형태의 계층적 디렉터리 사용 가능
  • 사용자가 하부 directory 생성 및 관리 가능
    - System call이 제공되어야 함
    - 하나의 루트 디렉터리를 가지며 모든 파일은 고유한 경로(절대/상대 경로)를 가지며, 이를 통해 효율적인 탐색이 가능하고, 그룹화 가능
  • 대부분의 OS가 사용

일반 그래프 디렉터리(General Graph Directory)

  • 순환을 허용하는 그래프 구조
  • 하위 디렉터리 간의 링크를 허용하지 않고, 디렉터리에서 파일로의 링크만 허용
  • garbage collection을 통해 전체 파일 시스템을 순회하며 접근 가능한 부분만을 식별하고, 사용되지 않는 데이터를 제거

참고
https://rebro.kr/181
https://beatmejy.tistory.com/30

profile
< 너만의 듀얼을 해!!! )

0개의 댓글