프로세스 스케줄링

Woo Yong·2023년 2월 23일
0

정보처리기사 필기

목록 보기
8/11

프로세스 스케줄링

  • 프로세스 스케줄링은 프로세스의 생성 및 실행에 필요한 시스템의 잔원을 해당 프로세스에 할당하는 작업이다.
  • 다중 프로그래밍 운영체제에서 자원의 성능을 향상시키고 효율적인 프로세서의 관리를 위해 작업 순서를 결정한다.
  • 프로세스 스케줄링 목적

    • 공평성 유지
    • 처리율 증가
    • 응답 시간 및 반환시간 최소화
    • 운영체제의 오버헤드 최소화
    • 무한연기 회피(교착상태)
    • CPU이용률 증가

프로세스 스케줄링 기법

  • 비선점(Non-Preemptive) 스케줄링 : 이미 할당된 CPU를 다른 프로세스가 강제로 뺏어 사용할 수 없는 스케줄링 기법.
    • 할당된 프로세스가 완료될때까지 CPU를 사용한다.
    • 모든 프로세스에 대한 요구를 공정하게 처리할 수 있다.
    • 응답시간 예측이 가능하고, 일괄처리 방식에 적합
    • 중요한 작업의 처리가 늦어질 수 있다.
    • 비선점 스케줄링 종류에는 FCFS = FIFO, SJF, 우선순위, HRN, 기한부 등의 알고리즘이 있다.

  • 선점(Preemptive) 스케줄링 : 하나의 프로세스가 실행하고 있을때 우선순위가 높은 다른 프로세스가 강제로 뺏어 사용할 수 있는 스케줄링 기법.
    • 높은 우선순위 프로세스 처리가 빠르다.
    • 빠른 응답시간을 요구하는 대화식 시분할 시스템에 사용된다.
    • 많은 오버헤드 초래
    • 선점 스케줄링 종류에는 Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등의 알고리즘이 있다.

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

  • FCFS는 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법

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

  • SJF는 준비상태 큐에서 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

✅ HRN (Hightest Response-ratio Next)

  • HRN은 실행시간이 긴 SJF의 기법을 보완하여, 대기시간과 서비스 시간을 이용한 방법
  • 우선순위 공식

  • 우선순위 공식 = (대기시간 + 서비스시간) / 서비스시간

  • 우선순위를 계산하여 높은 것부터 낮은 순으로 우선순위가 부여된다.

✅ RR (Round Robin)

  • RR주어진 시간 할당량안에 작업을 마치지 않으면 준비 상태큐의 가장 뒤로 배치된다.
  • 시간 할당량이 작아지면 프로세스 문맥 교환이 자주 일어난다.
  • 시간 할당량이 커지면 FCFS 와 같은 효과를 얻을 수 있다.

✅ SRT (Shortest Remaining Time)

  • SRT는 작업이 끝나기까지의 남아있는 실행 시간 추정치가장 작은 작업을 먼저 실행시키는 방법이다.
  • FIFO 기법보다 평균 대기 시간이 감소한다
  • 작업 시간이 큰 경우 오랫동안 대기하여야한다.
profile
Back-End Developer

0개의 댓글