Post

Chapter.15 - 파일 시스템

모든 이미지의 저작권은 [혼자 공부하는 컴퓨터 구조 + 운영체제] 도서의 저자 강민철님에게 있습니다.

파일과 디렉터리

* 파일

파일은 관련 있는 정보를 모은 논리적 단위이다.

파일은 이름, 실행하기 위한 정보, 파일 관련 부가 정보로 구성되어 있다.

파일 관련 부가 정보를 속성 혹은 메타데이터라고 부른다.

파일의 속성 중에는 유형이 있는데 파일 유형마다 실행 유형이 다르며 운영체제는 확장자를 이용해 파일 유형을 확인한다.

15-1.png

* 디렉터리

디렉터리는 파일을 관리하기 위한 정보를 담고있는 특별한 파일이다.

디렉터리가 담고있는 정보는 테이블 형태로 구성되어 있으며 테이블의 각 행을 디렉터리 엔트리라고 한다.

디렉터리는 트리 구조로 되어있으며 최상위 디렉터리를 루트 디렉터리라고 하며 슬래시(/)로 표현한다.

절대 경로는 루트 디렉터리부터 시작하는 경로이고 상대 경로는 현재 디렉터리부터 시작하는 경로이다.

15-2.png

파일 시스템

파일과 디렉터리를 관리하는 운영체제 내부 프로그램

파일 시스템에는 다양한 종류가 있으며 하나의 컴퓨터에서 여러 파일 시스템을 사용할 수 있다.

  • 파티셔닝 : 보조기억장치를 논리적인 단위로 영역을 나누는 작업

  • 파티션 : 파티셔닝 작업을 통해 나누어진 하나의 영역

  • 포매팅 : 어떤 종류의 파일 시스템을 사용할지 결정하는 작업

포매팅이 완료되어야 파일과 디렉터리를 생성할 수 있다.

파티션마다 다른 파일 시스템을 설정할 수도 있다.

파일 할당 방법

운영체제는 파일과 디렉터리를 블록 단위로 읽고 쓴다. (블록은 하나 이상의 섹터를 묶은 것)

* 연속 할당

파일이 저장 장치 내에서 연속적인 공간을 차지하도록 블록을 할당하는 방법

디렉터리 엔트리에 첫 번째 블록 주소, 길이 에 대한 정보가 담긴다.

외부 단편화 문제가 발생할 수 있다.

15-3.png

* 연결 할당

데이터 블록의 일부에 다음 데이터 블록의 주소를 저장하여 블록이 블록을 가리키는 형태로 할당하는 방식

쉽게 말해서, 파일을 이루는 데이터 블록을 연결 리스트로 관리하는 방법

디렉터리 엔트리에 첫 번째 블록 주소, 길이 에 대한 정보가 담긴다.

단점

  1. 반드시 첫 번째 블록부터 읽어야해서 비효율적이다.
  2. 하나의 데이터 블록에 오류가 발생하면 이후 블록에 접근할 수 없다.

15-4.png

* 색인 할당

파일을 이루는 모든 데이터 블록의 주소를 색인 블록이 관리하는 방식

디렉터리 엔트리에 파일 이름과 더불어 색인 블록의 주소에 대한 정보가 담긴다.

15-5.png

대표적인 파일 시스템

* FAT 파일 시스템

연결 할당의 단점을 보완한 파일 시스템

데이터 블록의 주소와 다음 블록의 주소를 테이블 형태로 관리하는 파일 시스템

15-6.png

이러한 테이블을 파일 할당 테이블 (File Allocation Table) 이라고 한다.

테이블이 따로 있어서 임의 접근도 할 수 있다.

FAT 파일 시스템을 사용하는 파티션의 경우 아래 그림과 같이 구성된다.

15-7.png

* 유닉스 파일 시스템

색인 할당 기반의 파일 시스템

색인 블록을 i-node 라고 하며 i-node 마다 번호가 부여되어 있다.

디렉터리 엔트리에 i-node 번호와 파일 이름에 대한 정보가 담긴다.

15-8.png

모든 파일마다 i-node 가 있으며 파일 속성 정보와 15개의 블록 주소가 저장될 수 있다.

15개 중 12개의 블록 주소에는 데이터 블록의 주소가 저장된다.

13번째 블록 주소에는 단일 간접 블록

14번째 블록 주소에는 이중 간접 블록

15번째 블록 주소에는 삼중 간접 블록 이 저장된다.

15-9.png

This post is licensed under CC BY 4.0 by the author.