SECTION 139. 스케줄링

2024. 10. 13. 12:53정보처리기사(실기)/11장 응용 소프트웨어 기초 기술 활용

스케줄링

  1. 스케줄링
    1. 개념: 스케줄링은 운영체제가 시스템 자원을 효율적으로 사용할 수 있도록 프로세스에게 CPU를 할당하는 작업을 의미합니다. 스케줄링의 목적은 프로세스의 성능을 극대화하고 시스템 자원의 활용도를 높이는 것입니다.
    2. 스케줄링 종류:
      • 장기 스케줄링: 시스템에 들어오는 작업을 관리하여 어떤 작업을 메모리에 올릴지 결정하는 스케줄링입니다. 작업을 선택해 메모리로 이동시킵니다.
      • 중기 스케줄링: 메모리에 있는 프로세스를 일시적으로 스왑 아웃하고 다시 스왑 인하는 과정을 관리합니다. 메모리의 효율성을 높이기 위해 사용됩니다.
      • 단기 스케줄링: 준비 상태에 있는 프로세스에게 CPU를 할당하는 스케줄링으로, 실행 가능한 프로세스를 선택해 CPU에 배치합니다.
  2. 스케줄링 목적
    • 공정성: 모든 프로세스가 공평하게 자원을 배정받을 수 있도록 합니다.
    • 처리율 증가: 단위 시간당 처리되는 작업의 수를 증가시킵니다.
    • CPU 이용률 증가: CPU가 최대한 효율적으로 사용되도록 합니다.
    • 우선순위 제도: 우선순위가 높은 프로세스가 더 빨리 자원을 할당받을 수 있도록 합니다.
    • 오버헤드 최소화: 스케줄링으로 인한 시스템 오버헤드를 줄입니다.
    • 응답 시간 최소화: 대화형 시스템에서 사용자의 요청에 대한 응답 시간을 최소화합니다.
    • 반환 시간 최소화: 프로세스가 시작부터 종료까지 걸리는 시간을 최소화합니다.
    • 대기 시간 최소화: 준비 큐에서 기다리는 시간을 최소화합니다.
    • 균형 있는 자원의 사용: 시스템 자원이 균형 있게 사용되도록 합니다.
    • 무한 연기 회피: 특정 프로세스가 영원히 자원을 할당받지 못하는 상황을 방지합니다.
  3. 비선점 (Non-preemptive) 스케줄링
    1. 개념: 비선점 스케줄링은 CPU가 한 번 프로세스에 할당되면 해당 프로세스가 종료되거나 대기 상태로 전환될 때까지 다른 프로세스가 CPU를 차지하지 못하는 방식입니다.
    2. 종류: FCFS (First-Come, First-Served), SJF (Shortest Job First), HRRN (Highest Response Ratio Next) 등
    3. 특징:
      • 특징 설명: 프로세스 간의 문맥 교환이 발생하지 않으며, CPU가 프로세스를 선점하지 않고 프로세스가 자발적으로 반환할 때까지 실행됩니다.
      • 장점: 오버헤드가 적고 구현이 단순합니다.
      • 단점: 긴 작업이 CPU를 오랫동안 점유할 경우 다른 프로세스가 대기해야 하는 문제가 발생할 수 있으며, 응답 시간이 길어질 수 있습니다.
  4. 선점 (Preemptive) 스케줄링
    1. 개념: 선점 스케줄링은 CPU가 프로세스에 할당된 상태에서도 우선순위가 높은 프로세스가 등장하면 현재 프로세스의 실행을 중단하고 CPU를 빼앗는 방식입니다.
    2. 종류: Round Robin, Priority Scheduling, SRT (Shortest Remaining Time) 등
    3. 특징:
      • 특징 설명: 시스템 자원의 효율성을 높이기 위해 필요에 따라 프로세스를 선점하여 우선순위가 높은 작업을 먼저 처리합니다.
      • 장점: 높은 우선순위의 작업을 즉시 처리할 수 있어 응답 시간이 짧아집니다.
      • 단점: 문맥 교환이 빈번하게 발생하여 오버헤드가 증가할 수 있으며, 낮은 우선순위의 프로세스가 무한 연기될 위험이 있습니다.

 

기출 따라잡기

문제 1

프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업으로, 공정성, 처리율 증가, CPU 이용률 증가, 응답 시간 및 반환 시간 최소화를 목적으로 하는 것은 무엇인지 쓰시오.

  • : 스케줄링
  • 해설: 스케줄링은 프로세스가 시스템 자원을 효율적으로 사용할 수 있도록 CPU를 할당하는 작업입니다. 스케줄링의 목적은 공정성과 자원의 효율적 사용 등을 포함합니다.

문제 2

다음 (보기)에서 비선점 스케줄링의 종류를 모두 고르시오.

  • Round Robin
  • 다단계 큐
  • SRT
  • 기한부
  • HRRN
  • SJF
  • FCFS
  • 우선순위
  • 선점 우선순위

: HRRN, SJF, FCFS

  • 해설: 비선점 스케줄링의 종류에는 FCFS, SJF, HRRN 등이 있습니다. 이 방식은 CPU를 한 번 할당받은 프로세스가 스스로 반납하거나 완료될 때까지 CPU를 점유합니다.