솜은 코튼
[OS] 디스크 스케줄링 본문
디스크 스케줄링
.
디스크의 데이터 전송 시간 중에서는 탐색 시간이 가장 느리다.
디스크 스케줄링은 트랙의 이동을 최소화하여 이 탐색 시간을 줄이는 데 목적이 있다.
디스크 스케줄링 기법에 대해 알아보자.
1. FCFS 디스크 스케줄링
.
First Come, First Service. 이름 그대로 요청이 들어온 트랙 순서대로 서비스한다.
아래 그림을 보면 요청된 트랙 번호 순서대로 매우 큰 폭으로 움직인다.
2. SSTF 디스크 스케줄링
.
Shortest Seek Time First. 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 서비스한다.
만약 두 트랙의 거리가 같다면 먼저 요청받은 트랙을 서비스한다.
효율성은 좋지만 헤드가 중간에 위치하면 가장 안쪽이나 바깥쪽에 있는
트랙을 서비스 받을 확률이 낮아져 아사 현상을 일으킬 수 있다.
3. SCAN 디스크 스케줄링
.
헤드가 한 방향으로만 움직이면서 서비스하며,
연속적으로 동일한 트랙이 발생하면 헤드가 제자리에 머물게 되어 바깥쪽 트랙이 아사 현상이 발생한다.
아래 그림을 보면 0번은 큐에 없지만 0번까지 거쳤다 돌아온다.
4. C-SCAN 디스크 스케줄링
.
SCAN 디스크 스케줄링은 바깥쪽 트랙(0, 24)을 한 번씩 방문할 동안
중간의 트랙은 두 번씩 방문하여 바깥쪽 트랙이 불이익을 받는다.
이 문제를 해결하기 위해 반대 방향으로 돌아올 때는 서비스하지 않고 이동만 한다.
그러나 작업 없이 헤드를 이동하는 것은 비효율적이다.
또한 동일한 트랙 요청이 연속적으로 발생하면 마찬가지로 아사 현상이 발생한다.
5. LOOK, C-LOOK 디스크 스케줄링
.
LOOK은 SCAN을 C-LOOK은 C-SCAN을 변형한 것이다.
SCAN과 C-SCAN은 작업하지 않아도 되는 양 끝의 트랙까지 방문한다.
LOOK과 C-LOOK은 큐 안에 있는 트랙만을 방문하며 양 끝의 트랙을 방문할 필요가 없으면 수행을 마친다.
* 해당 글은 '쉽게 배우는 운영체제'와 '운영체제' 책을 참고하여 작성하였습니다. 출처: 쉽게 배우는 운영체제 (조성호), 운영체제 10판 (Abraham Silberschatz)
'OS' 카테고리의 다른 글
[OS] 교착 상태 해결 방법 (교착 상태 예방) (0) | 2023.05.27 |
---|---|
[OS] 교착 상태 (자원 할당 그래프, 식사하는 철학자 문제) (0) | 2023.05.27 |
[OS] 스케줄링 알고리즘 (0) | 2023.05.25 |
[OS] 페이지 테이블의 구조 (계층적 페이징, 해시 페이지 테이블) (1) | 2023.05.25 |
[OS] 프로세스 (프로세스 상태도) (0) | 2023.05.23 |