📖파일 시스템

컴퓨터에서 파일이나 자료를 쉽게 발견 할 수 있도록, 유지/관리하는 방법

📖파일 시스템 특징

  • 계층적 디렉터리 구조를 가짐
  • 커널 영역에서 동작
  • 파일 CRUD(Create/Read/Update/Delete) 기능을 원할하게 수행하기 위함
  • 디스크 파티션 별로 하나씩 둘 수 있음

📖파일 시스템 역할

  • 파일관리 : 파일 저장/참조/공유
  • 보조 저장소 관리 : 저장 공간 할당
  • 파일 무결성 메커니즘 : 파일이 의도한 정보만 포함하고 있음을 의미
  • 접근 방법 : 저장된 데이터에 접근할 수 있는 방법 제공

📖파일 시스템 구조

  • 메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등 파일의 정보가 저장되는 영역(윈도우 탐색기를 이용하여 검색할때 메타 영역에서 탐색하면서 파일을 찾음)
  • 데이터 영역 : 파일의 데이터가 저장되는 영역

📖파일 시스템에서 파일 접근 방법

접근 방법

파일에 접근하여 데이터를 읽는 것

📎순차 접근(Sequential Access)

입력되는 순서에 따라 접근하는 방법

  • 가장 간단한 방법
  • ReadWrite 연산이 대부분
  • 테이프 모델 기반

📎직접 접근(Direct Access)

해당 위치에 다이렉트로 이동해 접근하는 방법

  • 특별한 순서없이 빠르게 레코드를 Read, Write 가능
  • 어디에 있든 해당 위치로 접근 가능
  • 대규모 데이터베이스에 직접 접근이 아주 유용
  • 디스크 모델 기반

📎 인덱스 접근(Index Access)

인덱스를 먼저 찾고, 그에 대응하는 포인터로 접근하는 방법

]

  • 크기가 큰 파일을 적은 입출력으로 탐색 가능

📖파일 시스템에서의 디렉터리 전체 구조

📎1단계 디렉터리 구조

모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조

  • 가장 간단한 구조
  • 모든 파일이 같은 디렉터리에 위치 → 유지가 쉬움
  • 파일들은 서로 유일한 이름을 가짐(다른 사용자이더라도 같은 이름 사용 불가)

📎2단계 디렉터리 구조

중앙에 Master File Directory가 있고, 그 아래에 사용자 별로 서로 다른 User File Directory로 구성된 2계층 구조

  • 사용자에게 개별적인 디렉터리 만들어줌 ( ∵ 1단계 디렉터리에서 발생하는 파일명 혼란 예방)

📎트리 디렉터리 구조

하나의 Root Directory와 여러 개의 Sub Directory로 구성된 구조

  • 2단계 디렉터리 구조에서 확장된 다단계 트리 구조
  • 하나의 루트 디렉터리 가짐
  • 시스템 내의 모든 파일이 유일한 경로명 가짐
  • 1개의 bit를 활용하여 일반 파일(0)인지 디렉터리 파일(1)인지 구분

📎비순환 그래프 디렉터리 구조

하위 파일/디렉터리를 공동으로 사용할 수 있는 것으로, Cycle을 허용하는 그래프 구조

  • 디스크 공간 절약 가능
  • 하나의 파일이나 디렉터리가 여러 개의 경로를 가질 수 있음
  • 공유된 파일을 삭제할 경우에 Dangling Pointer발생 가능

Dangling Pointer

사용할 수 없는 해제된 주소를 가리키는 것

📎일반 그래프 구조 디렉터리

트리 구조에서 Link를 추가해 Cycle을 허용하는 그래프 구조

  • 파일 접근에 용이