CS

[CS / OS] 파일시스템

따봉치치 2023. 10. 10. 14:46

1. 파일 & 파일 시스템

  • 파일
    • 논리적인 저장 단위
    • 켬퓨터 시스템의 편리한 사용을 위해 정보 저장의 일관된 논리적 관점 제공
    • 레코드 혹은 블록 단위로 비휘발성 보조기억장치에 저장
  • 파일 시스템
    • 구조
      • 메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간 정보, 삭제 유무 등 파일의 정보
      • 데이터 영역 : 파일 데이터
    • 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법 제공
    • 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉터리 구조
    • 파일 및 파일의 메타데이터, 디렉터리 정보 등 관리

2. Access Methods

  • 순차 접근(Sequential Access)
    • 가장 단순한 방법으로 파일의 정보가 레코드 순서대로 처리
  • 직접 접근(Random Access)
    • 파일의 레코드를 임의의 순서로 접근 가능
  • 색인 접근(Index Access)
    • 파일에서 레코드를 찾기 위해 먼저 index를 찾고 대응되는 포인터를 찾아 파일에 직접 접근 가능
    • 크기가 큰 파일에서 유용

 

3. 디렉터리

파일의 메타데이터 중 일부를 보관하고 있는 일종의 특별한 파일

해당 디렉터리에 속한 파일 이름과 속성들을 포함함

  • 디렉터리 기능
    • 파일 찾기
    • 파일 생성
    • 파일 삭제
    • 디렉터리 나열
    • 파일 재명명
    • 파일 시스템 순회 

1. 1단계 디렉터리

  • 모든 파일들이 디렉터리 밑에 존재하는 형태
  • 파일들은 서로 유일한 이름을 가짐
  • 파일이 많아지거나 다수의 사용자가 사용하는 시스템에서는 심각한 제약을 가짐

 

2. 2단계 디렉터리

중앙에 MFD(Master File Directory)가 존재하고, 그 아래에 각 사용자 별로 서로 다른 UFD(User File Directory)가 존재

각 유저가 서로 다른 UFD를 검색할 수 없어 업무 협력 또는 파일 공유가 어려움

특정 파일을 저장할 때 User Name + File Name 형식이여서 파일 이름이 길어짐

3. 트리 구조 디렉터리

  • 하나의 Root 아래로 여러개의 Sub Directory가 구성됨
  • 모든 파일은 고유한 경로를 가져 효율적인 탐색이 가능하고 그룹화가 가능함
  • bit 가 0이면 일반 파일, 1이면 디렉터리로 구분함

4. 비순환 그래프 디렉터리

  • 디렉터리들이 서브 디렉터리들과 파일을 공유 할 수 있음
  • cycle이 허용되지 않음
  • 파일을 무작정 삭제하면 Dangling Pointer 문제가 발생할 수 있으므로 참조 계수를 사용해 관리함

5. 일반 그래프 디렉터리

  • 트리 구조에 Link를 추가하여 cycle을 허용하는 그래프 구조
  • 단, cycle이 허용되면 무한 루프에 빠질 수 있으므로 주의해야 함