Skip to main content

SSAFY CS 스터디: 이취컴 Chapter 3-6 정리

Chapter 03 운영체제 - 6 파일 시스템

p.223~238


파일 시스템: 보조기억장치 정보를 파일 및 디렉터리 형태로 저장하고 관리할 수 있게 하는 OS 내부 프로그램

파일과 디렉터리

파일

파일명, 파일 실행을 위한 정보, 부가 정보로 구성

부가 정보
  • 속성: 형식, 위치, 크기
  • 메타데이터
파일 디스크립터

프로세스가 시스템 콜을 통해 할당받은 파일을 구분하고자 저수준에서 식별하는 정보.
프로세스가 새 파일을 열거나 생성시 해당 파일에 대한 파일 디스크립터를 프로세스에 할당한다.

open()은 파일 디스크립터를 반환하고, write()close()는 파일 디스크립터를 인자로 받는다.

※윈도우에선 파일 핸들이라고 한다.

파일만 식별하지 않아요

입출력장치, IPC용 파이프, 소켓도 파일 디스크립터로 식별한다.
보통 0~2는 stdin, stdout, stderr로 예약되어 있기에, 식별 값은 3부터 시작한다.

디렉터리

윈도우에서 폴더라고 부르며, 트리 구조로 관리된다.

  • 최상위 디렉터리와 서브 디렉터리로 구성
  • 경로: 디렉터리와 구분자를 통해 파일 위치를 특정하는 정보

※윈도우의 최상위 디렉터리는 C:\

디렉터리도 파일이다

디렉터리는 '디렉터리에 속한 요소의 정보를 담은 파일'이다.

해당 정보는 테이블로 관리되며, 테이블의 행을 디렉터리 엔트리라고 한다.
👉️ [ 파일명, 파일 위치 정보 ] 필수 포함, 선택적으로는 생성시간, 수정시간, 크기 등..

파일 할당

OS는 파일과 디렉터리를 블록 단위로 읽고 쓴다. (보통 4096 바이트)

연결 할당 (Linked Allocation)

각 블록에 다음 블록의 주소를 저장하여 가리키는 형태로 할당하는 방식
디렉터리 엔트리에 파일명, 첫번째 블록 주소, 블록 길이가 들어있다.

색인 할당 (Indexed Allocation)

파일을 이루는 모든 블록의 주소를 색인 블록에 저장하는 방식
디렉터리 엔트리에 파일명, 색인 블록 주소가 들어있다.


파일 시스템

--