일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Vision
- Spring
- CSV
- kubeadm
- kubectl
- Python
- Trino
- Packet
- ip
- jvm
- MAC address
- EC2
- JavaScript
- zookeeper
- helm
- Kafka
- CVAT
- aws s3
- grafana
- java
- kubernetes
- log
- tcp
- Network
- OS
- PostgreSQL
- AWS
- airflow
- docker
- Operating System
- Today
- Total
JUST WRITE
Disk Scheduling 본문
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다.
Disk Scheduling
Hard Disk에서 원하는 file에 접근하기 시간은 아래 3가지이다.
- Seek Time
- Rotational Delay
- Transfer Time
이 중에서 Seek Time이 차지하는 비중이 제일 크다.
Multi-Programing 환경에서 Process에서 file에 접근하려는 요청이 동시에 들어올 수 있다.
Disk Queue에서 이러한 요청들을 저장해두고 처리한다.
Disk Queue에 들어온 요청들을 효율적으로 처리하기 위한 방안을 살펴보려 한다.
First-Come First-Served Scheduling
FCFS Scheduling
FSFS는 Disk Queue에 들어온 순서대로 요청을 처리해주는 Scheduling이다.
가장 간단하고 공평한 방법이다.
Shortest-Seek-Time-First
SSTF Scheduling
SSTF는 Disk Queue에 있는 요청 중 가장 짧은 탐색 시간을 먼저 선택하는 Scheduling이다.
Head의 현재 위치 기준으로 움직이는 거리가 가장 짧은 요청을 처리한다.
SSTF의 단점은 Starvation이다.
Disk Queue에 지속적으로 새로운 Process의 요청들이 들어온다.
Head와 멀리 떨어진 요청은 계속 처리가 안될수도 있다.
Scan
Scan은 Head를 지속적으로 앞뒤로 검사하는 Scheduling이다.
Process들이 요청들이 찾으려는 Hard Disk의 cylinder의 위치는 골고루 위치해 있다.
다양한 Scan Scheduling 방식이 있다.
Elevator Algorithm이라고도 한다.
C-Scan
Circular Scan으로 한 방향으로만 계속 움직이는 Scheduling이다.
예를 들어 앞쪽방향으로 Scan하며 요청을 처리 후 맨뒤로 이동할때는 요청 처리하지 않고 빠르게 이동만 한다.
맨뒤로 이동 후 앞쪽으로 Scan하며 요청을 처리한다.
Look
Look은 Disk Quque에 있는 요청들의 최소, 최대 cylinder 위치까지만 Scan하는 Scheduling이다.
탐색할 필요 없는 범위를 없애서 효율성을 높인 Scehduling이다.
C-Look
Circular Look으로 C-Scan과 Look Scheduling을 조합한 방식이다.
Disk Queue에 있는 요청들의 최소, 최대 cylinder 위치까지 C-Scan 방식으로 Scan한다.
최소, 최대 cylinder 위치까지 한방향으로만 Scan한다.
'OS' 카테고리의 다른 글
File Allocation (0) | 2022.01.28 |
---|---|
Allocation of Frames (0) | 2022.01.27 |
Page Replacement (0) | 2022.01.26 |
Virtual Memory (0) | 2022.01.25 |
Segmentation (0) | 2022.01.21 |