기출문제/정보처리기사

2019년 2회 정보처리기사 기출문제 55번

엉클지니 2025. 5. 1. 23:53

55. 스케쥴링 기법 중 SJF 기법과 SRT 기법에 관한 설명으로 가장 옳지 않은 것은?

    SJF는 비선점(nonpreemptive) 기법이다.

    SJF는 작업이 끝나기까지의 실행시간 추정치가 가장 작은 작업을 먼저 실행시킨다.

    SRT는 실행 시간을 추적해야 하므로 오버헤드가 증가한다.

     SRT에서는 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없다.

 

 

 

 

 아래에 **SJF(Shortest Job First)**와 SRT(Shortest Remaining Time) 스케줄링 기법의 비교표와 함께 자세한 해설을 제공해 드립니다.


✅ SJF vs SRT 스케줄링 기법 비교표

항목 SJF (Shortest Job First) SRT (Shortest Remaining Time)

기법 종류 비선점형 (Non-preemptive) 선점형 (Preemptive)
기준 전체 실행 시간(Burst Time) 중 가장 짧은 것 남은 실행 시간(Remaining Time)이 가장 짧은 것
선점 가능 여부 ❌ 선점 불가 ✅ 선점 가능 (남은 시간 더 짧은 프로세스가 도착 시)
처리 방식 도착 순서와 무관하게 가장 짧은 작업을 먼저 현재 실행 중인 작업보다 더 짧은 작업이 도착하면 교체
필요한 정보 작업의 전체 실행 시간 현재 작업의 남은 실행 시간 + 새로운 작업의 도착 모니터링
오버헤드 낮음 높음 (선점 여부 판단과 문맥 교환 발생)
처리 시간 예측 필요 있음 (실제 실행 시간은 도착 전에는 모름) 있음 (지속적 모니터링 및 비교 필요)
공정성(Fairness) 낮음 (짧은 작업이 길게 기다리는 작업보다 우선) 낮음 (긴 작업은 자주 밀림)
응답 시간(Response Time) 느림 (긴 작업은 오래 대기) 빠름 (짧은 작업은 빠르게 처리됨)

✅ 개별 해설

🔹 ① SJF는 비선점(nonpreemptive) 기법이다.

  • 맞는 설명입니다.
  • 한 번 CPU를 할당받은 프로세스는 작업을 마칠 때까지 CPU를 계속 사용합니다.
  • 다른 프로세스가 도착하더라도 기존 작업을 방해할 수 없습니다.

🔹 ② SJF는 작업이 끝나기까지의 실행시간 추정치가 가장 작은 작업을 먼저 실행시킨다.

  • 맞는 설명입니다.
  • SJF는 CPU 버스트 타임(Burst Time, 즉 실행 예상 시간)이 가장 짧은 프로세스를 먼저 실행합니다.
  • 실제 실행 시간을 정확히 알 수는 없기 때문에 예측값을 기반으로 처리합니다.

🔹 ③ SRT는 실행 시간을 추적해야 하므로 오버헤드가 증가한다.

  • 맞는 설명입니다.
  • 현재 실행 중인 프로세스의 남은 실행 시간과 새로 도착한 프로세스의 실행 시간을 항상 비교해야 합니다.
  • 선점 발생 시 **문맥 교환(Context Switch)**이 일어나므로 시스템 자원이 추가로 소모됩니다.

🔹 ❹ SRT에서는 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없다.

  • 틀린 설명입니다. → 정답
  • SRT는 선점형 기법이므로, 남은 실행 시간이 더 짧은 프로세스가 도착하면 현재 실행 중인 프로세스는 CPU를 빼앗깁니다.
  • 즉, 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있습니다.