개인공부/컴퓨터 구조와 운영체제

[운영체제] 파일 시스템

개바리여리 2025. 11. 28. 13:11

파일 시스템(File System)이란 데이터를 저장하고 관리하기 위해 사용되는 방법 및 구조

 

우선 파티셔닝과 포매팅을 알아야 한다.

 

파티셔닝

- 저장 장치의 논리적인 영역을 구획하는 작업

 

포맷팅

- 파일 시스템을 설정한다. 어떤 방식으로 파일을 관리할지 결정하고 새로운 데이터를 쓸 준비하는 작업이다.

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

 

포매팅 까지 완료되었다면 이제 파일과 디렉터리 생성이 가능해진다.

운영체제는 파일/디렉터리를 블록 단위로 읽고 쓰게 된다.

파일 할당 방법에는 연속할당과 불연속 할당이 존재한다.

 

연속할당

 

보조기억장치 내 연속적인 블록에 파일을 할당한다.

연속된 파일에 접근하기 위해 파일의 첫 번째 블록 주소와 블록 단위의 길이만 알면 된다.

디렉터리 엔트리에 파일이름 , 첫 번재 블록 주소, 블록 단위 길이가 명시된다.

 

하지만 이러한 방법은 외부단편화 때문에 많이 사용되지 않는다.

 

 

불연속 할당 - 연결 할당

 

각 블록의 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 저장한다.

파일을 이루는 데이터 블록을 연결 리스트로 관리한다.

디렉터리 엔트리에 파일이름 , 첫 번재 블록 주소, 블록 단위 길이가 명시된다.

 

하지만 반드시 첫 번째 블록부터 하나씩 읽어야 하므로 임의 접근 속도가 느리다. (파일의 중간부터만 보고싶어도 처음부터 접근)

또한 오류가 발생시 해당 블록 이후 블록은 접근이 어렵다.

 

불연속 할당 - 색인 할당

파일의 모든 블록 주소를 색인 블록이라는 하나의 블록에 모아 관리하는 방식이다.

 

파일 시스템

FAT 파일 시스템

- 연결 할당 방식에 단점을 보완한 파일 시스템 (연결 할당 기반)

각 블록에 포함된 다음 블록 주소를 한데 모아 File Allocation Table (FAT) 로 관리하는 기법

 

 

유닉스 파일 시스템

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

- 파일의 속성 정보와 15개의 블록 주소 저장이 가능하다. 각 색인 블록을 i-node라고 한다.

디렉터리 엔트리는 i-node 번호 : 파일이름 으로 구성된다.

 

1. 블록 주소 중 12개에는 직접 블록 주소를 저장한다. 

 

2. 충분하지 않다면 13번째 주소에 단일 간접 블록 주소를 저장한다.

3. 또 충분하지 않다면 14번째 주소에 이중 간접 블록 주소를 저장한다.

 

 

4. 만약 또 충분하지 않다면 15번째 주소에 삼중 간접 블록 주소를 저장한다.

 

 

출처 : https://www.youtube.com/watch?v=C-IYRzC-GW8