Convoy Effect와 Starvation의 차이

이강용·2024년 7월 28일
0

CS

목록 보기
102/109

Convoy Effect

  • 운영체제의 스케줄링 알고리즘에서 발생하는 현상으로 일반적으로 선입선출(FIFO) 스케줄링에서 많이 나타남

  • 하나의 긴 작업(프로세스)이 CPU를 오래 점유하여 뒤에 대기하는 짧은 작업들이 오래 기다리게 되는 현상

    • 긴 작업이 끝날 때까지 모든 다른 작업들이 대기열에서 기다리며 마치 긴 트럭이 고속도로에서 앞서가고 있어 뒤따르는 모든 차들이 느려지는 것과 같음
  • 주로 비효율적인 스케줄링 알고리즘이 원인

    • 특히, 선입선출(FIFO) 스케줄링에선느 먼저 도착한 작업을 처리하므로 긴 작업이 앞서 있으면 뒤에 있는 짧은 작업들이 오래 대기하게 됨
  • 스세틈 전체의 응답 시간이 증가하고 전체적으로 처리 효율이 떨어짐

Starvation

  • 자원 할당에서 특정 작업이 필요한 자원을 장기간 얻지 못해 진행되지 못하는 현상
    • 이 현상은 우선순위 스케줄링에서 자주 나타남
  • 특정 작업(프로세스)이 계속해서 자원 할당에서 밀려나 필요한 자원을 얻지 못하는 상태를 말함
    • 이는 고우선순위 작업들이 계속해서 자원을 차지하여 저우선순위 작업들이 자원을 얻지 못하는 상황에서 발생
  • 특정 작업이 계속해서 진행되지 못하고 대기 상태에 머물러 있어 결국 해당 작업이 필요한 전체 시스템의 기능이 지연될 수 있음

Convoy Effect와 Starvation의 차이

  • Convoy Effect는 긴 작업이 앞서서 다른 작업들이 대기하는 현상인 반면, Starvation은 특정 작업이 자원을 얻지 못해 장기간 대기 상태에 머무는 현상
    • 두 문제 모두 시스템 성능 저하와 관련 있지만 원인과 해결 방법이 다름
profile
HW + SW = 1

0개의 댓글