코딩일기/자격증

[정보처리기사] 프로세스 스케줄링 | 선점 스케줄링 기법, 비선점 스케줄링 기법 | 2020년 정보처리기사 실기 기출문제

jhy_2023 2024. 9. 6. 14:38
728x90
반응형


프로세스 스케줄링이란?

프로세스 스케줄링은 운영체제에서 CPU를 프로세스들에게 효율적으로 배정하는 기술입니다. 여러 개의 프로세스가 실행 대기 상태에 있을 때, CPU를 어떻게 분배할 것인지를 결정하는 과정이 바로 프로세스 스케줄링입니다. 이 스케줄링 방식을 통해 프로세스 처리 효율성시스템 성능을 극대화할 수 있습니다.

스케줄링 방식은 크게 선점 스케줄링비선점 스케줄링으로 나뉩니다.


반응형

선점 스케줄링 vs. 비선점 스케줄링

  1. 선점 스케줄링 (Preemptive Scheduling)
    선점 스케줄링은 CPU 사용 중인 프로세스를 강제로 중단하고, 다른 프로세스에게 CPU를 배정할 수 있는 방식입니다.
    • 장점: 응답 시간을 줄이고, 긴급한 프로세스를 빠르게 처리할 수 있음.
    • 예시: SRT, RR, MLFQ 등.
  2. 비선점 스케줄링 (Non-preemptive Scheduling)
    비선점 스케줄링은 프로세스가 CPU를 한 번 점유하면 작업이 끝날 때까지 사용하는 방식입니다.
    • 장점: CPU 처리의 예측이 가능하고, 프로세스가 중간에 중단되지 않음.
    • 예시: FCFS, SJF, HRN 등.

728x90
 

주요 프로세스 스케줄링을 선점 스케줄링비선점 스케줄링으로 나누어 설명하겠습니다.

1. 선점 스케줄링 (Preemptive Scheduling)

선점 스케줄링은 현재 실행 중인 프로세스를 중단하고, 다른 프로세스가 CPU를 사용할 수 있도록 하는 방식입니다. 주로 긴급한 작업을 먼저 처리해야 할 때 사용됩니다.

선점 스케줄링 알고리즘:

  • SRT (Shortest Remaining Time)
    • 설명: 실행 중인 프로세스의 남은 실행 시간이 더 긴 경우, 남은 실행 시간이 더 짧은 프로세스가 도착하면 실행 중인 프로세스를 중단하고, 새로운 프로세스를 실행합니다.
    • 장점: 짧은 작업을 먼저 처리하여 응답 시간을 줄일 수 있습니다.
    • 단점: 긴 작업이 자주 중단될 수 있어 비효율적일 수 있습니다.
  • RR (Round Robin)
    • 설명: 모든 프로세스에 동일한 시간 할당량을 주고, 해당 시간 동안만 실행한 후 다음 프로세스로 전환합니다. 주기적으로 모든 프로세스에게 CPU가 돌아가도록 설계된 방식입니다.
    • 장점: 공정하게 자원을 분배하며, 응답 시간이 빠릅니다.
    • 단점: 할당 시간이 너무 짧으면 빈번한 문맥 교환으로 인해 오버헤드가 증가할 수 있습니다.
  • MFQ (Multi-Level Feedback Queue) 다단계 피드백 큐 스케줄링
    • 설명: 프로세스들이 여러 레벨의 우선순위 큐에 배정되며, 각 프로세스가 CPU를 사용할 때마다 우선순위가 변동합니다. 처음엔 높은 우선순위 큐에 있다가, 시간이 지나면 낮은 우선순위 큐로 이동할 수 있습니다.
    • 장점: 시간이 지나도 낮은 우선순위 프로세스가 CPU를 받을 수 있어 기아 문제를 해결합니다.
    • 단점: 설정이 복잡하고, 우선순위 조정이 필요합니다.

2. 비선점 스케줄링 (Non-preemptive Scheduling)

비선점 스케줄링은 프로세스가 CPU를 점유하면 작업이 끝날 때까지 다른 프로세스가 CPU를 가로채지 않는 방식입니다. 즉, 한번 CPU를 할당받으면 중단 없이 끝까지 실행됩니다.

비선점 스케줄링 알고리즘:

  • FCFS (First Come First Served)
    • 설명: 가장 먼저 도착한 프로세스부터 차례대로 CPU를 할당받아 실행됩니다.
    • 장점: 구현이 간단하며, 일괄 처리 시스템에 적합합니다.
    • 단점: 먼저 도착한 긴 작업 때문에 뒤에 도착한 짧은 작업들이 오랜 시간 대기해야 하는 대기 시간 증가 문제를 겪을 수 있습니다.
  • SJF (Shortest Job First)
    • 설명: CPU 사용 시간이 가장 짧은 프로세스부터 우선적으로 실행하는 방식입니다.
    • 장점: 평균 대기 시간이 최소화됩니다.
    • 단점: 실행 시간이 긴 프로세스가 무한정 대기하는 기아 현상이 발생할 수 있습니다.
  • HRN (Highest Response Ratio Next)
    • 설명: 대기 시간과 실행 시간을 고려해 응답 비율이 높은 프로세스를 우선 처리하는 방식입니다.
    • 응답 비율은 (대기 시간 + 실행 시간) / 실행 시간으로 계산됩니다.
      * 실행시간 = 서비스시간
    • 장점: SJF의 기아 문제를 보완하며, 공정한 CPU 분배가 가능합니다.
    • 단점: 구현이 복잡할 수 있습니다.

2020년 정보처리기사 실기 기출문제

문제

스케줄링 방식에서 HRN(Highest Response ratio Next) 우선순위 계산식을 쓰시오.

(대기 시간 + 서비스 시간) / 서비스 시간
* 실행시간 = 서비스시간

해설

HRN(Highest Response-ratio Next) 스케줄링 방식은 대기 시간과 **서비스 시간(실행 시간)**을 기반으로, 응답 비율이 높은 프로세스를 우선 실행하는 방식입니다. 이 알고리즘은 SJF(Shortest Job First)의 단점을 보완하여, 긴 대기 시간을 가진 프로세스도 일정 비율 이상으로 우선순위를 받을 수 있도록 설계되었습니다.

HRN(Highest Response-ratio Next) 스케줄링 알고리즘은 **응답 비율(Response Ratio)**을 계산하여 가장 높은 응답 비율을 가진 프로세스에게 CPU를 할당합니다.

  • 대기 시간: 프로세스가 대기 중인 시간.
  • 서비스 시간(실행 시간): 프로세스가 CPU에서 실제로 실행되는 데 필요한 시간.

우선순위 계산 공식:

​ 이 식을 보면, 대기 시간이 길어질수록 응답 비율이 커져 우선순위가 높아집니다. 이는 긴 시간 동안 대기하던 프로세스가 계속 대기 상태에 머물지 않도록 CPU 자원을 받을 수 있게 해줍니다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형