[CS] 운영체제 - 파일 시스템

이상혁·2023년 9월 26일
0

Computer science

목록 보기
15/15
혼자 공부하는 컴퓨터 구조 + 운영체제를 읽고 공부한 내용입니다.

파일과 디렉토리

파일

파일이란 하드 디스크나 보조기억장치에 저장이된 관련 정보의 집합을 의미한다.
파일에는 이름과 프로그램을 실행하기 위한 정보, 부가 정보가 있는데,
이 부가 정보가 속성 또는 메타데이터이다.

파일 속성 중 파일 유형은 운영체제가 인식하는 파일 종류를 나타낸다.
유형에 따라 실행 양상도 달라진다.
파일의 유형을 알리기 위해서 사용하는 것이 확장자이다.

디렉토리

파일을 관리하기 위해서 디렉토리를 이용한다.
윈도우에서는 파일이라고 한다.

예전에는 1단계 디렉토리로 하나의 폴더 안에 모든 파일이 존재했다.
하지만 파일이 많아질수록 1단계 디렉토리로는 관리하기가 힘들다.
그래서 여러 계층을 가진 트리구조 디렉토리가 생겨났다.

최상위 디렉토리가 있고
안에 자식 디렉토리를 가질 수 있다.
최상위 디렉토리를 루트 디렉토리라고 한다.

이렇게 트리구조 디렉토리가 생겨나면서 경로라는 개념이 생겨났다.
경로는 디렉토리를 이용해 파일 위치, 나아가 파일 이름을 특정 짓는 정보이다.

경로에는 절대 경로상대 경로가 있다.
절대 경로는 루트 디렉토리부터 자신의 파일 위치까지 이르는 고유한 경로이다.
상대 경로는 현재의 위치에서 원하는 파일가지의 경로를 나타낸 것이다.

디렉토리는 내부에 해당 디렉토리에 담겨 있는 대상과 관련된 정보를 담고 있다.
이 정보를 테이블로 구성이 되는데 각 행을 엔트리라고 한다.

파일 시스템

파일 시스템은 파일과 디렉토리를 보조기억장치에 일목요연하게 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램이다.

파티셔닝과 포매팅

파티셔닝은 저장 장치의 논리적인 영역을 구획하는 작업이다.
용량이 큰 보조기억장치를 하나 이상의 논리적인 단위로 구획하는 것이다.
이렇게 파티셔닝 작업을 통해 나누어진 영역 하나하나를 파티션이라고 한다.

포매팅은 파일 시스템을 설정해서 어떤 방식으로 저장하고 관리할 것인지를 결정하고 새로운 데이터를 쓸 준비를 하는 작업을 의마한다.
포매팅을 할 때 파일시스템이 결정이 된다.

그리고 각 피티션마다 각자의 포매팅을 할 수 있다.

파일 할당 방법

운영체제는 파일과 디렉토리를 블록단위로 읽고 쓴다.
파일을 쪼개서 블록에 나누어서 저장하는 것이다.
블록 안에는 번호가 적혀 있고 이 번호는 블록의 위치를 식별하는 주소이다.

보조기억장치에 할당하는 방법에는 두 가지이다.
연속 할당불연속 할당이다.
불연속 할당에는 연결 할당색인 할당이 있다.

연속 할당은 연속적으로 블록에 파일을 할당하는 것이다.
파일의 첫 번째 블록과 블록 단위의 길이만 알면 파일에 접근을 할 수 있다.
구현이 단순하고 접슨하기 쉽다.
하지만 외부 단편화 문제가 발생을 한다.

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

연결 할당 방식은 외부 단편화 문제를 해결할 수 있다.
하지만 첫 번째 블록부터 하나씩 읽어 나가야 하는 점과 하드웨어 고장이나 오류가 발생하면 접근을 할 수 없는 단점이 있다.

색인 할당은 파일 블록을 색인 블록이라는 하나의 블록을 모아 관리하는 방식이다.

색인 할당은 연결 할당과 달리 파일내 임의의 위치로 이동하기가 쉽다.
이런 색인 할당을 사용하는 파일 시스템에서는 색인 블록 주소를 명시한다.

파일 시스템 살펴보기

파일 시스템에는 FAT 파일 시스템유닉스 파일시스템이 있다.
FAT 파일 시스템은 파일 할당 테이블(FAT)을 이용한 파일 시스템이다.
파일 할당 테이블은 각 블럭에 포함된 다음 테이블의 주소를 한데 모아서 테이블 형태로 만든 것이다.

유닉스 파일 시스템은 색인 할당을 기반으로 한다.
유닉스 파일 시스템은 색인 블록을 i-node라고 부른다.
i-node에는 블록 주소들이 있다.

profile
개발 공부 하기 위해 만든 블로그

0개의 댓글