Search
Duplicate
📒

[OS Stduy] 04-x. 파일 시스템

상태
미진행
수업
OS Study
주제
OS
4 more properties
참고

파일과 디렉토리

파일

NOTE
파일이 가지는 정보
보조기억장치에 저장된 관련 정보의 집합
의미 있고 관련있는 정보를 모은 논리적 단위
속성 또는 메타데이터라고 불리는 부가 정보 포함
생성, 삭제, 열기, 닫기, 쓰기 등의 작업을 위해 시스템 호출을 사용해야 한다.

디렉터리

NOTE
트리구조 디렉토리
파일을 일목요연하게 관리하기 위한 개념
테이블 형태로 데이터를 가지며 각 엔트리는 보조기억장치 상의 위치를 알 수 있는 정보등을 포함한다.

파일 시스템

NOTE
파일과 디렉터리를 보조 기억장치에 일목요연하게 저장, 접근할 수 있게 하는 운영체제 내부 프로그램!
저장하고, 접근하는 방법!

파티셔닝 & 포매팅

NOTE
보조기억장치에 파일 시스템을 사용하려면 파티셔닝포매팅을 해야 한다! 파티셔닝 ⇒ 공원 레이아웃을 설계! (경계 설정, 공간 결정) 포매팅 ⇒ 공원의 각 레이아웃을 특정 목적에 맞게 설정! (파일시스템)
파티셔닝
파일 시스템은 파티션마다 만들어짐
파일 시스템을 사용하려면 저장 장치의 논리적인 영역을 구획하는 작업
파티셔닝을 통해 나누어진 논리적인 영역 하나하나를 파티션이라 한다!
포매팅
파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정
새로운 데이터를 쓸 준비를 하는 작업
어떤 종류의 파일 시스템을 사용할지 결정!

FAT 파일 시스템

NOTE
FAT(File Allocation Table, 파일 할당 테이블) 블록에 포함된 다음 블록의 주소들을 모아 테이블 형태로 만든 것!
이런 형태로 정보를 가지고 있다.
다음의 구조에서 /home/minchul/a.sh 읽기
1.
루트 디렉토리 읽기
2.
루트 디렉토리에서 home 읽기
3.
home 디렉토리에서 minchul 읽기
4.
minchul 디렉토리에서 a.sh 읽기

유닉스 파일 시스템

NOTE
i-node (index node) ⇒ 유닉스 파일 시스템에서 색인 블록을 부르는 명칭
i-node의 크기는 유한하다.
파일 속성정보와 15개의 블록 주소를 저장한다.
i-node의 크기가 유한하지만 블록 주소를 다음과 같이 활용할 경우 모든 파일 데이터를 가리킬 수 있다!
공간이 충분하면 직접저장
공간이 조금 애매하면 이중으로..
3중, 4중으로 계속해서 중첩가능!
i-node와 파티션 구조의 예시
유닉스 파일시스템의 경우 루트 디렉토리를 기본으로 가지고 있다!

파일 할당 방법

NOTE
하드 디스크의 포매팅 이후부터 파일 및 디렉터리를 할당 할 수 있다! 이때 운영체제는 파일과 디렉터리를 블록단위로 읽고 쓴다.
블록들에 파일을 할당하는 방법은 연속 할당불연속 할당으로 나뉜다.
현대의 운영체제는 불연속 할당 방식을 주로 사용한다!

연속 할당

NOTE
보조기억장치 내 연속적인 블록에 파일을 할당하는 방식!
2→4, 5→6 이런식으로 연속적으로 넣음
작은 빈 블록이 여러개 생기면서 단편화가 발생함
구현은 단순하지만 외부 단편화가 발생할 수 있다.

불연속 할당

NOTE
보조기억장치 내 연속적이지 않게 블록에 파일을 할당하는 방식!

연결 할당

각 블록 일부에 다음 블록의 주소를 저장해서 가리키는 형태! (연결리스트 생각)
1번째 블록 주소만 알고 있다면, 순차적으로 따라갈 수 있다.
순차적으로 접근해야 하며 중간에 오류 발생 시 그 이후로는 접근할 수 없다.

색인 할당

블록 하나에 모든 주소를 담고있음!
색인 블록 주소만 알면 모든 블록에 임의 접근이 가능하다.