파일 시스템

김하영·2023년 6월 16일
0

운영체제

목록 보기
12/13

파일시스템이란?

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

특징

  • 커널 영역에서 동작
  • 파일 CRUD 기능 원활히 수행하기 위한 목적을 가짐
  • 계층적 디렉토리 구조를 가짐
  • 디스크 파티션 별로 하나씩 둘 수 있음

역할

  • 파일 관리
  • 보조 저장소 관리
  • 파일 무결성 메커니즘
  • 접근 방법 제공

개발 목적

  • 하드 디스크와 메인 메모리 속도차를 줄이기 위함
  • 파일 관리
  • 하드 디스크 용량 효율적 이용

구조

  • 메타 영역 : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간 정보, 삭제 유무 등의 파일 정보
  • 데이터 영역 : 파일의 데이터

접근 방법

1. 순차 접근(sequential access)

  • 가장 간단한 접근방법, 대부분 연산은 read, write
  • 현재 위치를 가리키는 포인터에서 시스템 콜이 발생하면, 포인터를 앞으로 보내면서 read와 write를 진행한다.
  • 뒤로 돌아갈 때는 지정한 offset만큼 되감기 한다(테이프 모델 기반).

2. 직접 접근(direct access)

  • 특벌한 순서없이, 빠르게 레코드를 read, write 가능
  • 현재 위치를 가리키는 cp 변수만 유지하면, 직접 접근 파일을 가지고 순차 파일 기능을 쉽게 구현 가능
  • 무작위 파일 블록에 대한 임의 접근 허용 -> 순서 제약 X
  • 대규모 정보를 접근할때 유용 -> 데이터베이스에 사용

3. 기타 접근

  • 직접 접근 파일에 기반하여 색인 구축
  • 크기가 큰 파일을 입출력 탐색할 수 있게 도와주는 방법

디렉터리와 디스크 구조

1단계 디렉터리

  • 가장 간단한 구조
  • 파일들은 서로 유일한 이름을 가짐
  • 서로 다른 사용자라도 같은 이름 사용 불가

2단계 디렉터리

  • 사용자에게 개별적인 디렉터리 만들어줌
  • UFD : 자신만의 사용자 파일 디렉터리
  • MFD : 사용자의 이름과 계정번호로 색인되어 있는 디렉터리

트리 구조 디렉터리

  • 2단계 구조가 확장된 다단계 트리 구조
  • 한 비트를 활용하여, 일반파일(0)인지 디렉터리 파일(1)인지 구별

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

  • 사이클이 없는 그래프는 디렉터리들이 서브디렉터리와 파일들을 공유할 수 있도록 허용
  • 순환이 발생하지 않도록 하위 디렉터리가 아닌 파일에 대한 링크만 허용하거나, 가비지 컬랙션을 이용해 전체 파일 시스템을 순회하고 접근 가능한 모든 것을 표시
  • 링크가 있으면 우회하여 순환을 피할 수 있음!

참고 자료

https://gyoogle.dev/blog/computer-science/operating-system/File%20System.html

https://noep.github.io/2016/02/23/10th-filesystem/

profile
백엔드 개발자로 일하고 싶어요 제발

0개의 댓글