124페이지 문제 18번 SRT 스케줄링에서 평균반환값과 평균대기시간 구하는 문제에 대하여 해설부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
SRT 스케줄링은 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법 입니다.
p1 프로세스의 도착시간이 0이니 처음에 시작하자마자 기존 프로세스가 없기 때문에 p1 프로세스가 실행이 됩니다.
p2 프로세스의 도착시간이 1이니 p1프로세스가 1동안 실행이 될때 p2가 도착을 하여 서로 서로 실행 시간을 비교합니다.
p1은 원래 실행시간이 6이였는데 1만큼 실행을 했기 때문에 남은시간은 5가 되고
p2는 실행시간이 4이기 때문에 실행시간이 더 짧은 p2가 실행이 됩니다.
이때 p1은 대기하고 있을것 입니다
p3 프로세스의 도착시간이 2이니 p2프로세스가 1동안 실행이 될때 p3가 도착을 하여 서로 실행시간을 비교합니다.
p2은 원래 실행시간이 4이였는데 1만큼 실행을 했기 때문에 남은시간은 3이 되고
p3는 실행시간이 2이기 때문에 실행시간이 더 짧은 p3가 실행이 됩니다.
이때 p2은 대기하고 있을것 입니다
p4 프로세스의 도착시간이 3이니 p3프로세스가 1동안 실행이 될때 p4가 도착을 하여 서로 실행시간을 비교합니다.
p3은 원래 실행시간이 2였는데 1만큼 실행을 했기 때문에 남은시간은 1이 되고
p4는 실행시간이 2이기 때문에 실행시간이 더 짧은 p3가 실행이 됩니다.
이때 p4은 대기하고 있을것 입니다
p3의 실행시간 2만큼 실행이 끝나면
p1은 남은시간이 5이고, p2는 3이고, p4는 2입니다.
이때 남은시간이 제일 짧은 p4가 2만큼 실행이 됩니다
p4가 2만큼 실행이 모두 끝나고나면
p1은 남은시간이 5이고, p2는 3입니다.
이때 남은시간이 제일짧은 p2가 3만큼 실행이 됩니다.
p2가 3만큼 실행이 모두 끝나고나면
p1의 남은시간 5만큼 실행을 하고 끝날것입니다.
이때 평균대기시간은 아래 그림처럼 p1 - 8, p2 - 4, p3 - 0, p4 - 1 이기 때문에 (8+4+0+1)/4 = 3.25 입니다
평균반환시간은 아래 그림처럼
p1은 0에 시작하여 14가 되는 시점에 완료를 했으니 14가 될것이고
p2은 1에 시작하여 9가 되는 시점에 완료를 했으니 8이 될것이고
p3은 2에 시작하여 4가 되는 시점에 완료를 했으니 2가 될것이고
p4은 3에 시작하여 6가 되는 시점에 완료를 했으니 3이 될것입니다.
해서 (14+8+2+3)/4 = 6.75 가 나옵니다
열심히 연습하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :)
-
관리자2024-04-16 14:04:41
안녕하세요 길벗수험서 운영팀입니다.
SRT 스케줄링은 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법 입니다.
p1 프로세스의 도착시간이 0이니 처음에 시작하자마자 기존 프로세스가 없기 때문에 p1 프로세스가 실행이 됩니다.
p2 프로세스의 도착시간이 1이니 p1프로세스가 1동안 실행이 될때 p2가 도착을 하여 서로 서로 실행 시간을 비교합니다.
p1은 원래 실행시간이 6이였는데 1만큼 실행을 했기 때문에 남은시간은 5가 되고
p2는 실행시간이 4이기 때문에 실행시간이 더 짧은 p2가 실행이 됩니다.
이때 p1은 대기하고 있을것 입니다
p3 프로세스의 도착시간이 2이니 p2프로세스가 1동안 실행이 될때 p3가 도착을 하여 서로 실행시간을 비교합니다.
p2은 원래 실행시간이 4이였는데 1만큼 실행을 했기 때문에 남은시간은 3이 되고
p3는 실행시간이 2이기 때문에 실행시간이 더 짧은 p3가 실행이 됩니다.
이때 p2은 대기하고 있을것 입니다
p4 프로세스의 도착시간이 3이니 p3프로세스가 1동안 실행이 될때 p4가 도착을 하여 서로 실행시간을 비교합니다.
p3은 원래 실행시간이 2였는데 1만큼 실행을 했기 때문에 남은시간은 1이 되고
p4는 실행시간이 2이기 때문에 실행시간이 더 짧은 p3가 실행이 됩니다.
이때 p4은 대기하고 있을것 입니다
p3의 실행시간 2만큼 실행이 끝나면
p1은 남은시간이 5이고, p2는 3이고, p4는 2입니다.
이때 남은시간이 제일 짧은 p4가 2만큼 실행이 됩니다
p4가 2만큼 실행이 모두 끝나고나면
p1은 남은시간이 5이고, p2는 3입니다.
이때 남은시간이 제일짧은 p2가 3만큼 실행이 됩니다.
p2가 3만큼 실행이 모두 끝나고나면
p1의 남은시간 5만큼 실행을 하고 끝날것입니다.
이때 평균대기시간은 아래 그림처럼 p1 - 8, p2 - 4, p3 - 0, p4 - 1 이기 때문에 (8+4+0+1)/4 = 3.25 입니다
평균반환시간은 아래 그림처럼
p1은 0에 시작하여 14가 되는 시점에 완료를 했으니 14가 될것이고
p2은 1에 시작하여 9가 되는 시점에 완료를 했으니 8이 될것이고
p3은 2에 시작하여 4가 되는 시점에 완료를 했으니 2가 될것이고
p4은 3에 시작하여 6가 되는 시점에 완료를 했으니 3이 될것입니다.
해서 (14+8+2+3)/4 = 6.75 가 나옵니다
열심히 연습하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :)