정보처리기사

스케줄링

끈끈 2023. 7. 21. 14:07

 

스케줄링(Scheduling)

  • 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
  • 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 됨
  • 장기, 중기, 단기 스케줄링이 있음
  • CPU나 자원을 효율적으로 사용하기 위한 정책임
  • 비선점(Non-Preemptive) 스케줄링 : 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법 → FCFS, SJF, 우선순위, HRN, 기한부 등
  • 선점(Preemptive) 스케줄링 : 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법 → RR, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등

 

프로세스(Process)

  • 실행중인 프로그램
  • 프로시저가 활동중인 것
  • 비동기적 행위를 일으키는 주체
  • PCB의 존재로서 명시되는 것

 


 

SJF(Shortest Job First, 단기 작업 우선)


  • 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
  • 가장 적은 평균 대기 시간을 제공하는 최적 알고리즘
  • 실행 시간이 긴 프로세스는 실행 시간이 짧은 프로세스에게 할당 순위가 밀려 무한 연기 상태가 발생될 수 있음

 

 

RR(Round Robin)


  • 시분할 시스템을 위해 고안된 방식
  • 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치됨
  • 할당되는 시간이 작을 경우 문맥 교환 및 오버헤드가 자주 발생되어 요청된 작업을 신속히 처리할 수 없음

 

 

SRT(Shortest Remaining Time)


  • 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법
  • 시분할 시스템에 유용함
  • 준비상태 큐에 있는 각 프로세스의 실행 시간을 추적하여 보유하고 있어야 하므로 오버헤드가 증가함

 

 

FCFS(First Come First Service, 선입 선출) = FIFO(First In First Out)


  • 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
  • 가장 간단한 알고리즘

 


HRN(Highest Response-ratio Next)


  • 대기 시간과 서비스(실행) 시간을 이용하는 기법
  • 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것
  • 우선순위 계산식 = (대기 시간 + 서비스 시간) / 서비스 시간

 

 

'정보처리기사' 카테고리의 다른 글

애플리케이션 테스트  (3) 2023.07.21
보안 위협과 보안 솔루션  (0) 2023.07.21
네트워크 관련 신기술  (0) 2023.07.21
형상 관리 도구  (0) 2023.07.21
UML 다이어그램  (0) 2023.07.21