[혼공컴운] 6주차 - 파일 시스템 (chapter 15)

회색몽구스·2023년 2월 14일
0

chapter 15 파일 시스템

15-1 파일과 디렉터리

파일

하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합을 의미합니다.

모든 파일에는 이름과 파일을 실행하기 위한 정보, 그리고 파일 관련 부가 정보가 있습니다. 이 부가 정보를 속성 또는 메타 데이터라고 부릅니다.

파일 속성 중 파일 유형은 운영체제가 인식하는 파일 종류를 의미하며 가장 흔히 사용하는 방식은 파일 이름 뒤에 붙는 확장자를 이용하는 것입니다.

파일을 다루려면 운영체제에 부탁해야 합니다. 이를 위해 운영체제는 파일 연산을 위한 시스템 호출을 제공합니다.

디렉터리

현재 운영체제는 트리 구조 디렉터리로 많은 파일을 관리하고 있습니다.

최상위 디렉터리는 흔히 루트 디렉터리로 부르고 슬래쉬로 표현합니다.

모든 파일은 루트디렉터리에서 자기 자신까지 이르는 고유한 경로를 가지고 있고, 이러한 경로를 절대 경로라고 부릅니다.

상대 경로는 현재 디렉터리부터 시작하는 경로입니다.

디렉터리에 대한 정보는 보통 테이블 형태로 구성되고 보조기억장치에 저장됩니다.

15-2 파일 시스템

파티셔닝과 포매팅

보조기억장치를 사용하기 위해 파티션을 나누는 작업 (파티셔닝)과 포맷 작업 (포매팅)을 거쳐야 합니다.

파티셔닝은 저장 장치의 논리적인 영역을 구획하는 작업을 의미합니다.

포매팅이란 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정하고, 새로운 데이터를 쓸 준비를 하는 작업을 의미합니다.

파일 할당 작업

운영체제는 파일과 디렉터리를 블록 단위로 읽고 씁니다.

연속 할당 방식은 파일을 그저 연속적으로 저장하는 방식이기에 구현이 단순하다는 장점이 있지만, 외부 단편화를 야기한다는 치명적인 문제가 있습니다.

연결 할당은 각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당하는 방식입니다. 즉, 파일을 이루는 데이터를 연결 리스트로 관리합니다.

파일 내 임의의 위치에 접근하는 속도, 즉 임의 접근 속도가 매우 느립니다.

하드웨어 고장이나 오류로 인해 파일을 이루는 블록에 하나라도 문제가 발생하면 그 블록 이후의 블록에 접근할 수 없습니다.

색인 할당은 파일의 모든 블록 주소를 색인 블록이라는 하나의 블록에 모아 관리하는 방식으로, 색인 할당을 사용하는 파일 시스템에서는 디렉터리 엔트리에 파일 이름과 더불어 색인 블록 주소를 명시합니다.

파일 시스템 살펴보기

FAT 파일 시스템

각 블록에 포함된 다음 블록의 주소들을 한데 모아 테이블 형태로 관리하며 이러한 테이블을 파일 할당 테이블 (FAT: file allocatoin table)이라고 부릅니다.

이렇게 FAT를 이용하는 파일 시스템이 바로 FAT 파일 시스템입니다.

FAT 파일 시스템에서 FAT는 파티션의 앞부분에 만들어집니다. 뒤이어 루트 디렉터리가 저장되는 영역이 있으며, 그 뒤에 서브 디렉터리와 파일들을 위한 영역이 있습니다.

실행하는 도중 FAT가 메모리에 캐시될 수 있으며 연결 할당 방식보다 임의 접근에도 유리해집니다.

유닉스 파일 시스템

색인 할당 기반의 방식으로 이 색인 블록을 i-node라고 부릅니다.

i-node에는 파일 속성 정보와 열다섯 개의 블록 주소가 저장될 수 있습니다.

첫째, 블록 주소 중 열두 개에는 직접 블록 주소를 저장합니다.

둘째, ‘첫째’ 내용으로 충분하지 않다면 열세번째 주소단일 간접 블록 주소를 저장합니다.

셋째, ‘둘째’ 내용으로 충분하지 않다면 열네번째 주소이중 간접 블록 주소를 저장합니다.

넷째, ‘셋째’ 내용으로 충분하지 않다면 열다섯번째 주소삼중 간접 블록 주소를 저장합니다.

profile
끄아아아아 할 수 있다

0개의 댓글