초보 dogfootruler

3. 운영체제 - 비선점스케줄링 - SJF(Shortest Job First) 본문

CertificationRoom;/정보처리기사;

3. 운영체제 - 비선점스케줄링 - SJF(Shortest Job First)

킹갓우부 2019. 1. 19. 18:44

1. 정의

 - 스케줄링 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법




2. 특징

 - 요구 시간이 긴 프로세스가 요구 시간이 짧은 프로세스에게 항상 양보되어 기아 상태가 발생할 수 있다

 - 대기 상태에 있는 프로세스의 요구시간에 대한 정확한 자료를 얻기 어렵다는 문제점이 있다. 

 - 단기 스케줄링 보다는 장기 스케줄링에 유리하다




3. 반환 및 대기시간

 - 반환시간 : 실행완료시간

 - 대기시간 : 시작시간 - 도착시간




4. 시험문제


2018년 3월 4일 , 2017년 5월 7일 정보처리기사 - 운영체제

44. 다음과 같은 Task List에서 SJF방식으로 Scheduling할 경우 Task 2의 종료 시간을 구하면? (, 발생되는 Overhead는 무시한다.)

Task 

도착시간 

실행시간 

Task1 

 0

 6

Task2

 1

 3

Task3

 2

 4


Task1 

Task2 

Task3 

13 


- 원래는 Task2가 먼저와야하지만, 도착시간 0인 Task1을 먼저 처리한다. 그 이후에 짧은 Task를 처리

- Task1을 처리하면 6 그리고 Task2를 처리하면 9 즉, Task2의 종료시간은 9이다



2017년 4월 28일 정보처리기사 - 운영체제

56. SJF(Shortest-Job-First) 스케줄링 방법에 대한 설명으로 가장 거리가 먼 것은?

작업이 끝날 때까지의 실행시간 추정치가 가장 작은 작업을 먼저 실행시킨다.

작업 시간이 큰 경우 오랫동안 대기하여야 한다.

각 프로세스의 프로세스 요구시간을 미리 예측하기 쉽다.

FIFO 기법보다 평균대기시간이 감소된다.

- 1. SJF는 실행시간이 가장 짧은 걸 먼저 수행한다. 

- 2. 작업시간이 긴 경우 짧은 시간으로 진행하는 프로세스를 기다려야 한다.

- 4. FIFO 기법보다는 평균대기 시간이 감소한다.

- 3. 요구시간 예측하기 어렵다.

고로 답은 3번





2017년 8월 26일 정보처리기사 - 운영체제

60. 다음과 같은 프로세스가 차례로 큐에 도착하였을 때, SJF 정책을 사용할 경우 가장 먼저 처리되는 작업?

프로세스 번호 

실행시간 

p1 

p2 

p3 

p4 


 - sjf는 가장 짧은 실행시간을 가진 프로세스를 먼저 처리, p4가 3으로 가장 짧으니 가장 먼저 처리된다.




1년에 1~2문제 나오는 문제이다.

심지어 18년도, 17년도 계산문제는 토시도 틀리지 않고 같은 문제가 나왔다...

이것또한 알아두도록 하자...



출처

 - 정보처리기사 문제

 - 위키백과 - sjf












Comments