파일 시스템(File System)

sojukang·2022년 8월 14일
0
post-custom-banner

파일 시스템

무엇인가?

파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체 관리를 하는 시스템. 파일 시스템에서 파일 관리자는 사용자의 요청에 따라 파일을 저장하거나 파일의 내용을 읽어온다.

File descriptor

사용자가 특정 파일에 접근하기 위해 파일 관리자로부터 얻은 파일에 접근할 수 있는 권한.

파일 분류

실행 파일

운영체제가 메모리로 가져와 CPU를 이용하여 작업하는 파일이다. 사용자의 요청으로 프로세스가 된 파일이다.

데이터 파일

실행 파일이 작업하는 데 필요한 데이터를 모아놓은 파일이다.

파일 구조

순차 파일 구조(Sequential file structure)

파일 내용이 하나의 긴 줄로 늘어산 형태로 저장되어 순차 접근만 가능하다.

인덱스 파일 구조(Index file structure)

순차 파일 구조에 인덱스 테이블을 추가하여 순차 접근과 직접 접근이 가능한 구조이다. 인덱스 구성에는 일반적으로 B Tree를 이용한다.

직접 파일 구조(Direct file structure)

저장하려는 데이터의 특정 값에 어떤 관계를 정의하여 물리적인 주소로 바로 변환하는 구조이다. 주로 해시 함수를 사용한다.

디렉터리(Directory)

무엇인가?

관련 있는 파일을 하나로 모아놓은 곳으로, 하나의 디렉터리에는 여러 개의 파일과 자식 디렉터리가 존재한다.

디스크 파일 할당 방식

연속 할당

무엇인가?

파일을 구성하는 데이터를 디스크상에 연속으로 배열하는 방식이다.

불연속 할당

무엇인가?

비어 있는 블록에 데이터를 분산하여 저장하고 이에 관한 정보를 파일 시스템이 관리하는 방식이다. 연결 리스트를 이용한 연결 할당과 인덱스를 이용한 인덱스 할당이 있다.

연결 할당(Linked allocation)

파일에 속한 데이터를 연결 리스트로 관리한다. 테이블 형태로 관리되기 때문에 파티션이 사용할 수 있는 디스크 용량이 테이블의 주소 크기로 제한된다.

불연속 할당(Non-contiguous allocation)

연결 할당의 최대 할당 크기 제한 문제를 해결하기 위해 인덱스로 할당한다. 파일 제어 테이블의 블록 포인터가 데이터의 인덱스를 담고 있는 인덱스 블록을 연결한다.

디스크 빈 공간 관리

빈 공간 리스트

무엇인가?

디스크의 내부 단편화를 줄이고 빈 공간을 효율적으로 관리하기 위해 파일 시스템은 빈 블록의 정보만 모아놓은 빈 공간 리스트를 유지한다.

어떻게 쓰나?

디스크에 빈 블록이 생기면 빈 공간 리스트에 추가되고, 빈 공간 리스트를 보고 새 블록을 할당할 때 리스트에 먼저 들어온 블록부터 할당한다.

참고

조성호, 쉽게 배우는 운영체제

profile
기계공학과 개발어린이
post-custom-banner

0개의 댓글