디스크 스케줄링 종류
- FCFS (First Come First Service) : 요청 순서대로 처리 하는 스케줄링 기법
- SSTF (Shortest Seek Time First) : 헤드와 가까운 요청을 먼저 처리하는 기법
- SCAN : 한쪽 방향으로 요청을 처리하다가 가장 끝 주소를 찍고 반대 방향으로 요청을 처리하는 스케줄링 기법
→ 엘리베이터 방식 - C-SCAN : 한쪽 방향으로만 요청을 처리하고 가장 끝 주소를 찍은 뒤, 반대 방향은 처리하지 않고 끝까지 간 뒤 다시 한쪽 방향으로만 처리하는 스케줄링 기법
- Ex)
- SCAN : 처음 주소 0, 마지막 주소 200, 0에서 200방향일 경우 마지막 요청 주소가 189번일지라도 200번까지 갔다가 0번으로 진행
- C-SCAN : 처음 주소 0, 마지막 주소 200, 0에서 200 방향일 경우 0 → 200까지 갔다가 0번으로 다시 돌아간 뒤, 다시 200번 방향으로 요청을 처리
- LOOK : SCAN 방식을 개선한 방식으로, 가장 끝 주소가 아닌 가장 마지막 요청의 주소까지만 갔다가 다시 반대편 방향으로 처리하는 스케줄링 기법
- Ex) 처음 주소 0, 마지막 주소 200, 가장 낮은 요청 주소 30, 가장 높은 요청 주소 189, 0에서 200방향일 경우 189번까지 처리한 뒤(200번 주소까지 가지 않음) 30번까지 처리
- C-LOOK : C-SCAN을 개선한 방식으로, 진행 방향의 가장 끝 주소를 찍은 뒤 반대편의 마지막 요청 주소까지 이동(요청 처리 X)하고 다시 한쪽 방향으로만 처리
- N-Step SCAN : SCAN 처럼 요청을 처리하다가 새로운 요청이 들어올 경우 무시하고, 반대로 돌아올 때 처리하는 스케줄링 기법
FCFS를 제외한 나머지 스케줄링 기법은 요청 주소들이 정렬이 되어있어야만 함
디스크 스케줄링 - FCFS (First Come First Service)
Q. 디스크 대기 큐에 다음과 같은 순서(왼쪽부터 먼저 도착한 순서임)로 트랙의 액세스 요청이 대기 중이다.
모든 트랙을 서비스하기 위하여 FCFS 스케줄링 기법이 사용되었을 때, 총 이동거리는 얼마인가?
(단, 현재 헤드의 위치는 50트랙이다.)
대기 큐 : 10, 40, 55, 35
A. 105
| Queue | 10 | 40 | 55 | 35 |
| 해드 위치 | 50 | 10 | 40 | 55 |
| 이동 거리 | 40 | 30 | 15 | 20 |
Q. 디스크 입/출력 요청 대기 큐에 다음과 같은 순서로 기억되어 있다.
현재 헤드가 53에 있을 때, 이들 모두를 처리하기 위한 총 이동 거리는 얼마인가?
(단, FCFS 방식을 사용한다.)
대기 큐 : 98, 183, 37, 122, 14, 124, 65, 67
A. 640
| Queue | 98 | 183 | 37 | 122 | 14 | 124 | 65 | 67 |
| 헤드 위치 | 53 | 98 | 183 | 37 | 122 | 14 | 124 | 65 |
| 이동 거리 | 45 | 85 | 146 | 85 | 108 | 110 | 59 | 2 |
디스크 스케줄링 - SSTF (Shortest Seek Time First)
Q. 초기 헤드 위치가 50이며 트랙 0 방향으로 이동 중이다,
디스크 대기 큐에 다음과 같은 순서의 액세스 요청이 대기 중일 때, SSTF 스케줄링을 사용하여 모든 처리를 완료하고자 한다.
가장 먼저 처리되는 트랙을 쓰시오.
(단, 가장 안쪽 트랙 0, 가장 바깥쪽 트랙 200)
대기 큐 : 100, 180, 40, 120, 0, 130, 55, 80, 51, 200
A. 51
- 풀이
- 큐 정렬 : 0, 40, 51, 55, 80, 100, 120, 130, 180, 200
- 헤드 위치 : 50
- 가장 가까운 요청 : 51
Q. 디스크 큐에 다음과 같이 I/O 요청이 들어왔다.
최소탐색시간 우선 (SSTF) 스케줄링 적용 시 발생하는 총 헤드 이동 거리를 구하시오.
(단, 추가 I/O 요청은 없다고 가정한다. 디스크 헤드는 0부터 150까지 이동 가능하며, 현재 위치는 50이다.)
대기 큐 : 80, 20, 100, 30, 70, 130, 40
A. 140
| Queue | 80 | 20 | 100 | 30 | 70 | 130 | 40 |
| 정렬 | 20 | 30 | 40 | 70 | 80 | 100 | 130 |
| 헤드 위치 | 50 | 40 | 30 | 20 | 70 | 80 | 100 |
| 처리 요청 | 40 | 30 | 20 | 70 | 80 | 100 | 130 |
| 이동 거리 | 10 | 10 | 10 | 50 | 10 | 20 | 30 |
Q. 현재 헤드의 위치가 50에 있고, 트랙 0번 방향으로 이동하며, 요청 대기 열에는 아래와 같은 순서로 들어 있다고 가정할 때 SSTF 스케줄링 알고리즘에 의한 헤드의 총 이동 거리를 구하시오.
대기큐 : 100, 180, 40, 120, 0, 130, 70, 80, 150, 200
A. 370
| Queue | 100 | 180 | 40 | 120 | 0 | 130 | 70 | 80 | 150 | 200 |
| 정렬 | 0 | 40 | 70 | 80 | 100 | 120 | 130 | 150 | 180 | 200 |
| 헤드 위치 | 50 | 40 | 70 | 80 | 100 | 120 | 130 | 150 | 180 | 200 |
| 처리 요청 | 40 | 70 | 80 | 100 | 120 | 130 | 150 | 180 | 200 | 0 |
| 이동 거리 | 10 | 30 | 10 | 20 | 20 | 10 | 20 | 30 | 20 | 200 |
Q. 사용자가 요청한 디스크 I/O 내용이 다음과 같은 순서로 큐에 들어있을 때 SSTF 스케줄링을 사용한 경우의 처리 순서를 쓰시오.
(단, 현재 헤드 위치는 53이고, 제일 안쪽이 1번, 바깥쪽이 200번 트랙이다.)
대기 큐 : 98, 183, 37, 122, 14, 124, 65, 67
A. 53, 65, 67, 37, 14, 98, 122, 124, 183
| Queue | 98 | 183 | 37 | 122 | 14 | 124 | 65 | 67 |
| 정렬 | 14 | 37 | 65 | 67 | 98 | 122 | 124 | 183 |
| 헤드 위치 | 53 | 65 | 67 | 37 | 14 | 98 | 122 | 124 |
| 처리 요청 | 65 | 67 | 37 | 14 | 98 | 122 | 124 | 183 |
디스크 스케줄링 - SCAN
Q. 디스크 스케줄링에서 SCAN 기법을 사용할 경우, 다음과 같은 작업 대기 큐의 작업들을 수행하기 위한 총 트랙 이동 거리는?
(단, 초기 헤드의 위치는 30이고, 현재 0번 트랙으로 이동 중이다.)
대기 큐 : 7, 46, 15, 38, 3
A. 76
- 풀이
- SCAN은 가장 끝 주소까지 가기 때문에 30 → 0으로 이동한 뒤 다시 반대 방향으로 이동함
| Queue | 7 | 46 | 15 | 38 | 3 | |
| 정렬 | 3 | 7 | 15 | 38 | 46 | |
| 헤드 위치 | 30 | 15 | 7 | 3 | 0 | 38 |
| 처리 요청 | 15 | 7 | 3 | 0 | 38 | 46 |
| 이동 거리 | 15 | 8 | 4 | 3 | 38 | 8 |
Q. 디스크 스케줄링 기법 중 SCAN을 사용하여 다음 작업대기 큐의 작업을 모두 처리하고자 할 경우, 가장 최후에 처리되는 트랙은?
(단, 현재 디스크 헤드는 50 트랙에서 40 트랙으로 이동해왔다고 가정한다.)
대기 큐 : 7, 55, 15, 38, 3
A. 55
| Queue | 7 | 55 | 15 | 38 | 3 | |
| 정렬 | 3 | 7 | 15 | 38 | 55 | |
| 헤드 위치 | 40 | 38 | 15 | 7 | 3 | 0 |
| 처리 요청 | 38 | 15 | 7 | 3 | 0 | 55 |
Q. 디스크에서 헤드가 70트랙을 처리하고 60트랙으로 이동해왔다.
디스크 스케줄링 기법으로 SCAN 방식을 사용할 때 다음 디스크 대기큐에서 가장 먼저 처리되는 트랙은?
대기큐 : 20, 50, 95, 100
A. 50
디스크 스케줄링 - C-SCAN
Q. 트랙 번호가 0부터 199인 200개의 트랙을 가진 디스크가 있다.
디스크 스케줄링 기법 중 C-SCAN을 사용하여 다음과 같은 작업 대기 큐(디스크 큐)의 작업을 처리하고자 하는 경우, 처리되는 트랙의 순서를 바르게 나열하시오.
(단, 현재 디스크 헤드는 트랙 35에서 트랙 47로 이동해왔다고 가정한다.)
대기 큐 : 139, 22, 175, 86, 13, 158
A. (35 - 47 생략 가능) - 86 - 139 - 158 - 175 - 199 - 0 - 13 - 22
- 풀이
- C-SCAN은 한쪽 방향(199까지)으로만 요청을 처리하고 반대쪽으로는 아무런 처리를 하지 않고 가장 끝 주소(0)로 이동
- 35 → 47로 이동한 것은 문제에서 제시했기 때문에 적든 안 적든 상관 없다고 함
| Queue | 139 | 22 | 175 | 86 | 13 | 158 | ||
| 정렬 | 13 | 22 | 86 | 139 | 158 | 175 | ||
| 헤드 위치 | 47 | 86 | 139 | 158 | 175 | 199 | 0 | 13 |
| 처리 요청 | 86 | 139 | 158 | 175 | 199 | 0 | 13 | 22 |
Q. 현재 헤드의 위치가 50에 있고, 요청 대기열의 순서가 다음과 같을 경우, C-SCAN 스케줄링 알고리즘에 의한 헤드의 총 이동 거리는 얼마인가?
(단, 현재 헤더의 이동 방향은 안쪽이며, 안쪽의 위치는 0으로 가정한다.)
대기 큐 : 100, 180, 40, 120, 0, 130, 70, 80, 150, 200
A. 380
| Queue | 100 | 180 | 40 | 120 | 0 | 130 | 70 | 80 | 150 | 200 |
| 정렬 | 0 | 40 | 70 | 80 | 100 | 120 | 130 | 150 | 180 | 200 |
| 헤드 위치 | 50 | 40 | 0 | 200 | 180 | 150 | 130 | 120 | 100 | 80 |
| 처리 요청 방향 : ← |
40 | 0 | 200 | 180 | 150 | 130 | 120 | 100 | 80 | 70 |
| 이동 거리 | 10 | 40 | 200 | 20 | 30 | 20 | 10 | 20 | 20 | 10 |
Q. 표의 내용은 0 ~ 199번의 200개 트랙으로 이루어진 디스크 시스템에서 큐에 저장된 일련의 입출력 요청들과 어떤 디스크 스케줄링 방식에 의해 처리된 서비스 순서이다.
이 디스크 스케줄링 방식을 쓰시오.
(단, 표의 숫자는 입출력할 디스크 블록들이 위치한 트랙 번호를 의미하며, 현재 디스크 헤드의 위치는 50번이라고 가정한다.)
요청 큐 : 99, 182, 35, 121, 12, 125, 64, 66
서비스 순서 : 64, 66, 99, 121, 125, 182, 0, 12, 35
A. C-SCAN
- 풀이
- 헤드 위치 : 40
- 처리 방향 : →
ㄴ 처리 순서(서비스 순서)가 64, 66, 99이기 때문 - 182까지 처리한 뒤 0번으로 이동하는 중에 12와 35를 처리하지 않음
- SCAN 방식이였다면 182 다음 35 - 12 - 0의 순서로 처리하기 때문에 C-SCAN 또는 C-LOOK으로 좁혀짐
- 하지만, 큐에 0은 없었기 때문에 C-SCAN 방식
| 정렬 | 12 | 35 | 64 | 66 | 99 | 121 | 125 | 182 |
디스크 스케줄링 - LOOK
Q. 디스크 스케줄링 방법 중 LOOK 방식을 사용할 때 현재 헤드가 60에서 50으로 이동해 왔다고 가정할 경우 다음과 같은 디스크 큐에서 가장 먼저 처리되는 것은?
대기 큐 : 70, 80, 100, 90
A. 100
| Queue | 70 | 80 | 100 | 90 |
| 정렬 | 70 | 80 | 90 | 100 |
| 헤드 위치 | 50 (처리할 것이 더 없음) |
70 | 80 | 90 |
| 처리 요청 | 70 | 80 | 90 | 100 |
Q. 다음과 같은 트랙이 요청되어 큐에 도착하였다.
모든 트랙을 서비스하기 위하여 LOOK 스케줄링 기법이 사용되었을 때 모두 몇 트랙의 헤드 이동이 생기는가?
(단, 현재 헤드의 위치는 50트랙이고, 헤드는 트랙 0방향으로 움직이고 있다.)
대기 큐 : 10, 40, 55, 35
A. 85
| Queue | 10 | 40 | 55 | 35 |
| 정렬 | 10 | 35 | 40 | 55 |
| 헤드 위치 | 50 | 40 | 35 | 10 |
| 처리 요청 | 40 | 35 | 10 | 55 |
| 이동 거리 | 10 | 5 | 25 | 45 |
디스크 스케줄링 - C-LOOK
Q. 디스크의 서비스 요청 대기 큐에 도착한 요청이 다음과 같을 때 C-LOOK 스케줄링 알고리즘에 의한 헤드의 총 이동거리는 얼마인가?
(단, 현재 헤드의 위치는 50에 있고, 헤드의 이동 방향은 0에서 199 방향이다.)
대기 큐 : 65, 112, 40, 16, 90, 170, 165, 35, 180
A. 318
| Queue | 65 | 112 | 40 | 16 | 90 | 170 | 165 | 35 | 180 |
| 정렬 | 16 | 35 | 40 | 65 | 90 | 112 | 165 | 170 | 180 |
| 헤드 위치 | 50 | 65 | 90 | 112 | 165 | 170 | 180 | 16 | 35 |
| 처리 요청 | 65 | 90 | 112 | 165 | 170 | 180 | 16 | 35 | 40 |
| 이동 거리 | 15 | 25 | 22 | 53 | 5 | 10 | 164 | 19 | 5 |
디스크 스케줄링 - N-step SCAN
Q. SCAN의 무한 대기 발생 가능성을 제거한 것으로 SCAN보다 응답 시간의 편차가 적고, SCAN과 같이 진행 방향상의 요청을 서비스하지만, 진행 중에 새로이 추가된 요청은 서비스하지 않고 다음 진행 시에 서비스하는 디스크 스케줄링 기법을 쓰시오.
A. N-step SCAN
'License' 카테고리의 다른 글
| [정처기 실기 - 계산식] 크론 표현식 / 퍼미션 / LOC 기법 (1) | 2025.06.10 |
|---|---|
| [정처기 실기 - 계산식] 프로세스 스케줄링 [ FCFS / SJF / HRN / SRT / RR ] (1) | 2025.06.04 |
| [정처기 실기 - 계산식] 주기억 장치 계산식 / 페이지 교체 알고리즘 (0) | 2025.06.03 |
| [정처기 실기 - 계산식] IP 클래스 / 서브넷마스크 / 서브넷 계산 (0) | 2025.06.02 |
| [매경테스트] 재무 오답정리 (1) | 2024.11.29 |