2023.08.20 - [컴퓨터 공학/운영체제] - [혼공컴운] chapter.14 가상 메모리
15-1 파일과 디렉터리
- 파일(file)
: 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합.
- 속성(attribute): 파일에 관련한 부가 정보. 메타데이터(metadata)라고도 함.
- 파일 연산을 위한 시스템 호출
- 파일 생성
- 파일 삭제
- 파일 열기
- 파일 닫기
- 파일 읽기
- 파일 쓰기
- 파일 연산을 위한 시스템 호출
- 디렉터리(directory)
* 폴더(folder): 윈도우 운영체제에서의 디렉터리.
- 1단계 디렉터리(single-level directory)
: 모든 파일이 하나의 디렉터리 아래에 있는 구조. - 트리 구조 디렉터리(tree-structured directory)
: 여러 계층을 가진 디렉터리 구조.
* 최상위 디렉터리는 루트 디렉터리(root directory)라고 부르고 슬래시(/) 로 표현.
- 1단계 디렉터리(single-level directory)
- 경로(path)
- 절대 경로(absolute path): 루트 디렉터리에서 자기 자신까지 이르는 고유한 경로.
- 상대 경로(relative path): 현재 디렉터리 부터 시작하는 경로.
* 대부분의 운영체제에서 마침표(.)를 현재 디렉터리, 마침표 두 개(..)를 현재 디렉터리의 상위 디렉터리로 나타냄.
ex) 위 디렉터리 루트 예시에서 경로
- a.sh의 절대 경로: /home/minchul/a.sh
- 현재 디렉터리 경로가 /home 일때 b.c의 상대 경로: minchul/b.c
- 디렉터리 엔트리
: 디렉터리에 포함된 대상의 이름들과 그 대상이 보조기억장치 내에 저장된 위치를 유추할 수 있는 정보 등 이 담겨있음.
* 각각의 행(엔트리)마다 담긴 정보는 파일 시스템 마다 차이가 있음.
15-2 파일 시스템
- 파티셔닝(partitioning): 저장 장치의 논리적인 영역을 구획하는 작업.
- 파티션(partition): 파티셔닝 작업을 통해 나눠진 구역들. - 포매팅(formatting): 파일 시스템을 설정하여 데이터를 어떤식으로 쓸지 결정하는 작업.
* 포매팅을 할 때 파일 시스템의 종류가 정해짐. - 파일 할당 방법
* 운영체제는 파일과 디렉터리를 블록 단위로 읽고 씀.- 연속 할당(contiguous allocation): 보조기억장치 내 연속적인 블록에 파일을 할당하는 방식.
* 파일을 연속적으로 할당하기 때문에 파일이 삭제된 후 빈 블록들의 크기가 충분히 크지 않을 경우가 생겨 외부 단편화를 발생시키는 단점이 있다. - 연결 할당(linked allocation): 각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 저장하여 파일을 할당하는 방식.
* 외부 단편화 문제를 해결하지만 임의 접근(random access) 속도가 매우 느리고, 하드웨어 고장 및 오류 발생 시 이후 블록 접근이 불가한 문제가 있음. - 색인 할당(indexed allocation): 모든 블록 주소를 색인 블록(index block)에 모아 관리하는 방식.
* 색인 할당을 사용하는 파일 시스템은 디렉터리 엔트리에 색인 블록 주소 또한 명시함.
- 연속 할당(contiguous allocation): 보조기억장치 내 연속적인 블록에 파일을 할당하는 방식.
- 파일 시스템 종류
- FAT 파일 시스템
: 각 블록에 포함된 다음 블록의 주소를 한 곳에 모아 테이블 형태로 관리하는 시스템.
*파일 할당 테이블(FAT: file allocation table): 각 블록의 다음 주소가 저장된 테이블.
< FAT 파일 시스템 파티션 영역 역할 >
- FAT 영역: FAT가 존재하는 영역.
- 루트 디렉터리 영역: 루트 디렉터리만을 위한 영역.
- 데이터 영역: 루트 디렉터리를 제외한 다른 영역들의 디렉터리 테이블이 있는 영역. - 유닉스 파일 시스템
: 색인 할당 기반의 파일 시스템으로 색인 블록을 i-node 라고 부르는 파일 시스템.- i-node
- 파일 속성 정보와 열다섯 개의 블록 주소가 저장됨.
- 파일마다 i-node가 있고, i-node마다 번호가 부여됨.
< 한정된 i-node의 크기로 데이터 블록을 가리키는 방식 >
1. 블록 주소 중 열두 개에는 직접 블록 주소를 저장
2. 1 과정 이후 저장할 블록 주소가 남았을 시 13번째 주소에 단일 간접 블록 주소 저장
* 단일 간접 블록 주소(single indirect block): 파일 데이터를 저장한 블록 주소가 저장된 블록
3. 2 과정 이후 저장할 블록 주소가 남았을 시 14번째 주소에 이중 간접 블록 주소 저장
* 이중 간접 블록 주소(double indirect block): 데이터 블록 주소를 저장하는 블록 주소가 저장된 블록
4. 3 과정 이후 저장할 블록 주소가 남았을 시 15번째 주소에 삼중 간접 블록 주소 저장
* 삼중 간접 블록 주소(triple indirect block): 이중 간섭 블록 주소가 저장된 블록
- i-node
- FAT 파일 시스템
* 오류 지적은 환영입니다.^^*
'컴퓨터 공학 > 운영체제' 카테고리의 다른 글
[혼공컴운] chapter.14~15 확인문제 (1) | 2023.08.21 |
---|---|
[혼공컴운] chapter.14 가상 메모리 (0) | 2023.08.20 |
[혼공컴운] chapter.12~13 확인문제 (1) | 2023.08.13 |
[혼공컴운] chapter.13 교착 상태 (0) | 2023.08.13 |
[혼공컴운] chapter.12 프로세스 동기화 (1) | 2023.08.13 |