Contents
UNIX, WINDOWS
디스크 관리
디스크 스케줄링
운영 체제가 프로세스들이 디스크를 읽거나 쓰려는 요청을 받았을 때 그 우선 순위를 정하고 관리하는 기법
디스크 | I/O 시간 유형 | 설명 |
탐색 시간 | 헤드가 지정된 트랙에 도달하는 시간 | |
회전 지연 시간 | 원하는 섹터까지의 이동 시간 | |
전송 시간 | 데이터 전송 소요 시간 |
이동형 디스크와 고정형 디스크의 자료 접근 시간
- 자기 디스크는 헤드 유형에 따라 이동형 디스크와 고정형 디스크로 구분됨
- 최근 이동형 디스크는 거의 사용하지 않음
- 고성능 디스크인 반도체 저장장치(SSD)나 고정형 디스크(HDD)를 외장형 디스크로 사용하는 추세
구분 | 이동형 디스크 | 고정형 디스크 |
개념도 | ||
특징 | 각 디스크 표면마다 하나의 Read/Write 헤드를 갖고 있으며, Access arm을 움직여 원하는 위치 찾음(floppy disk) | 각 디스크 표면 트랙마다 지정된 Read/Write 헤드를 가지고 있음(Hard disk) |
자료접근시간 | 탐색시간 + 회전지연시간 + 전송시간 (탐색시간 >> 회전지연시간 > 전송시간) |
회전지연시간 + 전송시간 (회전지연시간 > 전송시간) |
디스크 스케줄링 목표
- 디스크 검색 시 낭비 시간 최소화
- 특정 프로세스 입출력 요청 우선 순위 배정
- 디스크 대역을 실행 중인 각 프로세스에 할당
- 정해진 기한까지 요청 보장
스케줄링 최적화 유형 |
설명 | 기법 |
Seek Time 최적화 |
- 디스크 접근시간, 접근경로 최적화 - 이동형 디스크에 적합 |
- SSTF - SCAN 등 |
Latency 최적화 |
- 섹터까지의 이동시간, 이동 경로 최적화 - 고정형 디스크에 적합 |
- SLTF - Sector Queueing 등 |
이동디스크 스케줄링 알고리즘
01 FCFS (First Come First Served)
요청 큐에 들어온 순서대로 처리
|
02 SSTF(Shortest Seek Time First)
현재 헤드 위치에서 가장 가까운 트랙 요청 먼저 처리
|
03 SCAN (엘리베이터 알고리즘)
진행 방향에서 가장 가까운 트랙 요청 우선 서비스
|
04 C-SCAN(Circular SCAN)
항상 바깥쪽에서 안쪽 한 방향으로 SCAN 방식으로 접근
|
05 N-step SCAN
SCAN 방식과 유사하나 서비스가 진행되는 도중에 도착하는 요구들에 대해서는 다음번 방향 전환 후에 처리 |
06 Look
SCAN과 유사하나 처리할 블록 없으면 끝까지 가지 않고 처리
|
07 C-Look
C-SCAN과 유사하나 처리할 블록 없으면 끝까지 가지 않고 처리
|
08 에센바흐(Eschenbach) 기법
- 부하가 매우 큰 항공예약 시스템 위해 개발
- 탐색시간, 회전지연시간 최소화
- 헤드는 C-SCAN 처럼 이동
- 예외적으로 모든 실린더는 그 실린더 요청과 상관 없이 전체 트랙이 한 바퀴 회전할 동안의 서비스 받음
구분 | SCAN | LOOK |
공통점 | - SSTF 스케줄링의 경우 현재 헤드 위치에서 가장 가까운 트랙 요청을 먼저 처리하기 때문에 현재 헤드 위치에서 멀리 떨어진 요청의 경우 기아상태 발생 가능 - 기아상태 방지 위해 현재 헤드 위치 중심의 탐색 기준에 방향성 추가하여 멀리 떨어진 요청도 한 사이클 내에는 처리 될 수 있도록 단점 보완 필요 |
|
개념 | SSTF와 동일 기준에서 진행 중인 방향에 대한 처리 우선하고, 한쪽 끝에 도달하면 반대 방향으로 처리하는 알고리즘 | SSTF와 동일 기준에서 진행 중인 방향 쪽에 더 이상의 요청이 있는지 현재 디스크 대기 큐를 검사하여, 요청이 없으면 그 자리에서 방향 변경하여 다른 한 쪽으로 움직이는 알고리즘 |
특성 | - 진행 방향 끝까지 이동 - 한 방향으로 가장 짧은 거리 |
- 진행 방향 끝까지 이동하지 않을 수 있음 - SCAN 단점 보완하여 진행 방향 대상 부재 시 방향 전환 |
단점 | - 진행 방향에 추가 요청 없어도 끝까지 진행하는 낭비 요인 발생 - 디스크 작업에 있어 요청 밀도가 높은 부분 처리 시 요청 트랙에 대한 대기 시간 불균 등 문제 발생 |
- 헤드 진행 방향으로 요청 발생 시에는 빠른 서비스 가능하나, 헤드가 지나가 버린 쪽 요청은 다시 되돌아 올 때 서비스 받음 |
보완 알고리즘 | C-SCAN | C-LOOK |
- 헤드가 바깥쪽에서 안쪽으로 진행할 때만 요청 서비스 처리 - 대기시간 균등화 및 응답시간 편차 감소 |
- 헤드 진행 방향으로 더 이상의 요청이 없을 시 원래 시작 방향으로 되돌아가 서비스 |
고정형 디스크 스케줄링 알고리즘
01 SLTF(Shortest Latency Time First)
|
02 SPTF(Shrotest Positioning Time First)
|
03 SATF (Shortest Access Time First)
|
디스크 스케줄링 알고리즘 선택 시 고려사항
- 디스크 서비스 요구사항 : Throughput, Response Time 등
- 디스크 공간할당 방법 : 연속 할당, 연결 할당, 인덱스 할당 등
파일시스템
운영 체제에서 보조기억장치와 그 안에 저장되는 파일을 관리하는 시스템의 통칭. 운영 체제에서 파일이나 자료를 쉽게 발견 및 접근 가능하도록 보관 또는 조직하는 체계이며 보조기억장치에 저장된 각 파일과 그 구조를 의미
종류 | 특징 |
UNIX 파일시스템 | Boot, Super, Data block 및 i-node List로 구성 |
Linux 파일시스템 | EXT2, EXT3, EXT4 등 |
WINDOWS 파일시스템 | FAT32, NTFS, ReFS 등 |
UNIX 파일 시스템
- Unix 운영 체제가 파티션이나 디스트 파일들을 사용하는 자료구조
- 데이터 저장 공간을 파일에 할당하고 이를 다시 회수하는 역할 수행
- 부트블록, 슈퍼블록, i-node 목록, 데이터블록으로 구성됨
- 루트 디렉토리, 서브 디렉토리, 파일이 계층 구조를 가짐
구조 | 구성요소 | 상세 설명 |
계층적 구조 | Boot Block | 시스템 운영 체제를 부트하거나 초기화와 관련되는 Boot Strap 코드 저장 |
Super Block | 파일시스템 상태에 대한 종합적인 정보를 보관하는 영역(타입, 크기, 상태, metadata 구조에 대한 포인터 등) | |
Bitmap Block | i-node와 data block 할당 현황 표시 | |
i-node | 파일과 디렉토리에 관한 속성 정보 및 파일명을 제외한 파일 정보 | |
Data Block | 파일과 디렉토리의 실제 데이터를 보관하는 영역 |
유형 | 내용 | 종류 |
일반 파일 | 실행 가능한 프로그램 파일, 원시 프로그램 파일, 문서 파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용 수록 | - Text File - Binary File |
디렉토리 파일 | 디렉토리에 포함되어 있는 여러 가지 파일들과 디렉토리에 관한 정보 저장하는 논리적 영역 | - / (루트 디렉토리) - /bin (실행 파일) - /dev (장치 파일) |
특수 파일 | 주변장치 또는 pipe, socket 같은 프로세스 간 상호통신, 표준 입출력 시스템 호출 | - 문자 특수파일 - 블록 특수파일 |
i-node (index node) |
각 파일에 대한 정보 기억하는 구조체 | - 일반 파일 i-node - 특수 파일 i-node |
일반 파일
- Unix 파일시스템 특수 구조를 갖지 않고 사용자가 정의한 그대로의 파일
항목 | 형태 | 설명 |
텍스트 파일 | ASCII | - ASCI 문자들로 구성된 파일 - 단말 장치나 프린트로 출력 가능 |
이진 파일 | Binary | - 실행 가능한 파일이나 데이터 파일 - 단말장치, 프린터로 출력 불가능한 파일 |
디렉토리 파일
- 디렉토리에 포함되어 있는 파일과 디렉토리 정보 저장 영역
항목 | 핵심 개념 | 설명 |
/ | Root | - 루트 디렉토리, UNIX 최상위 디렉토리 |
/bin | 실행 | - 실행 가능한 UNIX 고유 명령어 폴더 |
/dev | 입출력 | - 장치 파일이 담긴 디렉토리 - 프린터, 키보드 등 입출력장치 연결 정보 |
/etc | 관리 | - 시스템에서 사용하는 관리 파일 저장 - 시스템 설정 파일, 프로그램, 유틸리티 |
/usr | 공유 | - 시스템 사용 시 고정된 공유 파일 저장 - 실제 작업을 위한 응용 패키지 설치 디렉토리 |
/tmp | 임시 | - 임시 파일 생성 위해 사용되는 디렉토리 |
특수파일
- 디스크, 프린터, 테이프 장치 등 입출력장치의 접근 및 관리 채널 정보가 저장된 파일
- 문자 특수파일 : 테이프장치, 단말기
- 블록 특수파일 : 플로피 디스크 장치
i-node
- 각 파일에 대한 정보를 기억하는 약 120byte 고정 크기의 구조체
- Unix에서의 i-node는 파일과 디렉토리 정보를 통해 할당, 적용, 생성, 링크, 삭제 수행
역할 | 설명 |
할당 및 적용 | - UNIX에서 디스크는 일정한 크기 블록으로 나뉘며 파일이 디스크 공간에 할당될 때 정해진 블록으로 할당 - i-node는 파일 구성 블록에 대한 물리적 위치 포함하고 직접 어드레싱 및 간접 어드레싱으로 위치 기록 |
파일 생성 | - 새로운 파일이 만들어 지면, 해당하는 i-node가 i-list안에 생성 |
파일 링크 | |
- 이미 존재하는 파일 링크시킬 경우, 디렉토리에 해당 파일에 대한 새로운 이름이 등록 - i number는 본래 있던 파일 i number 복사 - 복사되는 파일 i-node에서 파일 링크 수가 하나 증가 |
|
파일 삭제 | - 파일에 대한 i-node 파일 링크 수 하나 감소 - 디렉토리 entry에는 해당 파일 i number가 zero로 변경 |
- i-node 포함 내용
- 소유자 정보 : 사용자 ID, 그룹 Id
- 접근 정보 : Access Modes, Data Block Address (13개의 array)
- 파일 정보 : 크기, 생성 시간, 최근 사용 시간, 최근 변경 시간
- 파일 링크 수, 유형 (Ordinary 파일, Special 파일, Directory 파일)
구성 항목 | 핵심 개념 | 설명 |
i-node | 구성 정보 | - 한 파일이나 디렉터리 모든 정보 포함 - 64byte로 구성되는 테이블 |
i-node table |
하위 노드 정보 | - 파일 시스템에서 파일이나 디렉터리들 전체 i-node 정보 가지고 있는 테이블 - i-list 정보 저장 |
i number | 등록 정보 | - i-node가 i-list에 등록되는 entry number addressing |
addressing | 실제 데이터 정보 | - 블록 위치 정보를 13개 필드로 관리 - Direct data block 10개 (0-9) : 96KB data - Single indirect data block 1개 (10) : 16MB - Double indirect data block 1개 (11) : 32GB - Triple indirect data block 1개 (12) : 70TB |
분류 | 종류 | 상세 설명 |
직접데이터 블록 | - 12개 포인터 배열 가지며 블록이 8,192byte인 경우 96KB 크기의 파일 생성 가능 | |
간접 데이터 블록 |
Single Indirect Block |
- index block - 실제 데이터 블록을 가리키는 포인터들로 구성 |
Double Indirect Block |
- index block이 2개 레이어로 구성 - 1st index block : 2nd index block 가리키는 포인터 - 2nd index block : 실제 데이터 블록 가리키는 포인터 |
|
Triple Indirect Block |
- index block 3개 레이어로 구성 - 1st, 2nd index block : 다른 index block 가리키는 포인터 - 3rd index block : 실제 데이터 블록 가리키는 포인터 |
Linux 파일시스템
구분 | 설명 |
EXT2 (Extends File System 2) |
- 비교적 속도가 빠르고 안정적인 UFS(Unix File System) 기반으로 필요한 기능 요약해서 단순함 - Boot Sector 및 복수 Block Group으로 구성 (블록 크기 : 1 ~ 4KB) - 블록 : 파일시스템에서 데이터 저장하는 단위이며 메모리에서 I/O 작업을 한 번 거칠 때 읽거나 쓰는 단위 |
EXT3 (Extended File System 3) |
- 기존 EXT2는 Cache에 저장되어 있는 데이터들을 디스크로 저장하는 도중 만약 시스템이 문제가 발생하면 파일시스템 손상 가능 - EXT3 파일시스템은 이러한 단점 보완하기 위해 저널링(Journaling) 기능 추가 - EXT2 파일시스템과 호환 가능 - 저널링(Journaling) : 데이터를 디스크에 쓰기 전 로그에 데이터를 남겨 시스템의 비정상적인 셧다운에도 로그 사용하여 fsck(파일시스템 체크 명령어)보다 빠르고 안정적인 복구 기능 제공 |
WINDOWS 파일시스템
구분 | 설명 |
NTFS | - 파일, 디렉토리 및 메타 정보까지 파일 형태로 관리 - VBR 영역 : 부트섹터 - MFT 영역 : 파일과 디렉토리 관리 위한 영역 - DATA 영역 : 파일 실제 내용이 저장되는 공간 |
ReFS | - NTFS에서 발전된 ReFS 파일 구조에 적용 - 서버, NAS 등 대용량 스토리지 위한 데이터 구조 |
320x100
'정보처리기사 > 필기' 카테고리의 다른 글
[정보처리기사] Part04-03-1. 운영체제 기초 활용 (7) (0) | 2023.02.15 |
---|---|
[정보처리기사] Part04-03-1. 운영체제 기초 활용 (5) (5) | 2023.02.13 |
[정보처리기사] Part04-03-1. 운영체제 기초 활용 (4) (12) | 2023.01.27 |
[정보처리기사] Part04-03-1. 운영체제 기초 활용 (3) (12) | 2023.01.26 |
[정보처리기사] Part04-03-1. 운영체제 기초 활용 (2) (14) | 2023.01.25 |
댓글