CPU 비선점형 스케쥴링가 무엇일까?

박승우·2024년 8월 5일
0

자 일흔 여섯 번째 키워드인 'CPU 비선점형 스케줄링'을 알아 보았다.

이번 키워드는 이전 키워드인 CPU 스케쥴링과 연관되는 키워드이므로 알아보았다.

CPU 비선점형 스케줄링이 뭐에요?

CPU 비선점형 스케쥴링(non-preemptive scheduling)은 현재 실행 중인 프로세스가 스스로 종료되거나 I/O 요청과 같은 이유로 CPU를 자발적으로 내놓기 전까지는 다른 프로세스로 강제로 CPU를 빼앗기지 않는 스케쥴링 방식을 의미한다.
이 방식은 CPU 자원을 할당받은 프로세스가 완료될 때까지 계속 실행되는 것을 보장한다.

특징

  1. CPU 점유 지속
    한 프로세스가 CPU를 점유하면 스스로 자발적으로 내놓기 전까지는 계속해서 CPU를 사용한다.
    컨텍스트 스위칭(context switching)이 덜 발생하여 오버헤드가 줄어든다.

  2. 간단한 구현
    스케줄러가 프로세스를 한 번 선택하면 그 프로세스가 완료되거나 자발적으로 CPU를 반납할 때까지 다른 작업이 필요 없다.
    알고리즘이 단순하고 이해하기 쉽습니다.

  3. 응답 시간 예측 가능성
    특정 프로세스가 언제 완료될지 예측하기 쉽다.
    중요한 작업이 예기치 않게 중단되는 일이 없어 예측 가능한 응답 시간을 제공한다.

  4. 낮은 우선순위 프로세스 문제
    높은 우선순위의 프로세스가 CPU를 오랜 시간 점유하면 낮은 우선순위의 프로세스가 장시간 대기할 수 있다.
    교착 상태(deadlock) 또는 기아 상태(starvation)가 발생할 수 있다.

  5. 실시간 시스템
    비선점형 스케쥴링은 실시간 시스템에서 적합합니다. 실시간 시스템에서는 특정 작업이 예측 가능한 시간 내에 완료되어야 하기 때문에 비선점형 스케쥴링이 유리할 수 있다.

profile
게임을 좋아하는 사람 입니다!

0개의 댓글