비선점 스케쥴링의 특징 중에서 중요한 작업(짧은 작업)이 중요하지 않은 작업(긴 작업)을 기다리는 경우가 발생한다고 나와있는데
그렇다면 우선순위의 기준은 작업을 수행하는데 소요되는 시간인가요?
또한 비선점 스케쥴링의 종류에 SJF(Shortest job first)가 있는데 이는 짧은 작업이 먼저 수행된다라는 뜻인데 그렇다면 긴 작업을 기다리는 경우가
애초에 발생하지 않는거 아닌가요..?
안녕하세요 길벗수험서 운영팀입니다.
아니오 두 경우는 분리해서 이해하셔야 합니다.
1. 중요한 작업이 중요하지 않은 작업을 기다리는 경우가 발생할 수 있다.
2. 짧은 작업이 긴 작업을 기다리는 경우가 발생할 수 있다.
SJF라고 해서 긴 작업을 기다리는 경우가 발생하지 않지는 않습니다.
프로세스가 도착한 시기에 따라 달라지기 때문입니다.
9시에 1시간짜리 프로세스가 도착하여 수행중이고, 9시 30분에 10분짜리 프로세스가 도착한다면 여기에 SJF 알고리즘이 적용될 여지가 없죠.
해당 알고리즘이 적용되는 경우는 CPU가 이미 사용중이고, 대기중인 프로세스가 다수인 경우 대기중인 프로세스의 우선순위를 정하기 위해 사용됩니다. (물론 '완전히' 동일한 시간에 프로세스가 도착했다는 경우도 있습니다.)
행복한 하루되세요 :)
-
관리자2020-05-20 11:20:47
안녕하세요 길벗수험서 운영팀입니다.
아니오 두 경우는 분리해서 이해하셔야 합니다.
1. 중요한 작업이 중요하지 않은 작업을 기다리는 경우가 발생할 수 있다.
2. 짧은 작업이 긴 작업을 기다리는 경우가 발생할 수 있다.
SJF라고 해서 긴 작업을 기다리는 경우가 발생하지 않지는 않습니다.
프로세스가 도착한 시기에 따라 달라지기 때문입니다.
9시에 1시간짜리 프로세스가 도착하여 수행중이고, 9시 30분에 10분짜리 프로세스가 도착한다면 여기에 SJF 알고리즘이 적용될 여지가 없죠.
해당 알고리즘이 적용되는 경우는 CPU가 이미 사용중이고, 대기중인 프로세스가 다수인 경우 대기중인 프로세스의 우선순위를 정하기 위해 사용됩니다. (물론 '완전히' 동일한 시간에 프로세스가 도착했다는 경우도 있습니다.)
행복한 하루되세요 :)