본문 바로가기
👨‍🏫일문일답

프로세스 스케쥴링 방식

by 캔 2024. 1. 29.

비선점형 방식

CPU 점유 시 다른 프로세스가 현재 실행 중 프로세스를 중단 시킬 수 없음

  • FIFO(First In First Out)
    • 도착한 시간대로 실행
    • 가장 간단, 공평
    • 평균 반환 시간이 긺
  • SJF(Short Job First)
    • 작업이 끝나기까지 실행 시간 추정치가 가장 작은 작업 먼저
    • 평균 대기 시간 짧음
    • 실행 시간 긴 작업 많을 경우 무한 대기 상태가 발생할 수 있음
  • HRN(Highest Response-ratio Next)
    • FIFO와 SJF의 단점 보완
    • 우선순위 공식((대기시간 + 서비스시간)/서비스 시간)으로 계산하여 그 수치가 값부터 낮은 순으로 우선순위가 부여됨

선점형 방식

하나의 프로세스가 CPU 점유 시 다른 프로세스가 현재 사용 중인 프로세스를 중단시킴

  • RR(Round Robin)
    • 시간 할당량안에 작업을 마치지 않으면 준비 대기 리스트의 가장 뒤로 배치되는 방식
    • 동일한 시간 할당량을 사용하는 시분할 처리 시스템에 효과적으로 적용됨
    • 시간 할당량이 크면 FIFO와 동일
    • 적절한 응답시간을 보장해주는 대화식 사용자에게 효과적
  • SRT(Shortest Remaining Time)
    • 작업이 끝나기까지 남아 있는 실행 시간의 추정치가 가장 작은 프로세스를 먼저 실행하는 방식
    • 서비스를 받은 시간을 기록해야 하기 때눔에 오버헤드 증가
    • 평균 대기 시간과 대기 시간의 분산도 큼
  • MFQ(Multi-level Feedback Queue)
    • 짧은 작업이나 입출력 위주의 작업에 우선순위 부여
    • 큐가 여러 개이며 우선순위가 있음
    • 각 큐마다 시간 할당량이 존재하며 낮은 큐일수록 시간 할당량이 커짐

혼합형

  • MLQ(Multi-level Queue)
    • 우선순위가 가장 높은 큐에서는 비선점형으로 사용되고 우선순위가 낮은 큐에서는 선점형으로 사용
    • 상위 큐가 우선순위가 가장 높은큐로 신속산 처리를 필요로 하는 시스템 프로세스가 입력됨
    • 중위는 대화형 프로세스, 하위는 일괄처리 프로세스가 입력됨
    • 대기 리스트 간 프로세스 이동은 되지 않음

'👨‍🏫일문일답' 카테고리의 다른 글

AJAX 사용 시 CSRF 토큰 쿠키 httpOnly 옵션 사용 여부?  (0) 2024.03.17
무중단 배포(zero-downtime deployment)  (1) 2024.03.04
프로세스 스케쥴링  (0) 2024.01.29
트랩  (0) 2024.01.29
컨텍스트 스위칭  (0) 2024.01.29