본문/내용
1. 선점 스케줄링 개요
선점 스케줄링은 운영체제에서 프로세스의 실행 순서를 결정하는 스케줄링 정책 중 하나로, 실행 중인 프로세스가 일정 시간 동안 CPU를 점유하다가 다른 우선순위가 더 높은 또는 대기중인 프로세스가 발생하면 현재 실행 중인 프로세스를 강제로 일시 정지시키고 새로운 프로세스에게 CPU를 할당하는 방식을 의미한다. 이러한 방식은 사용자와 시스템 모두에게 빠른 응답성을 제공하며, 특히 상호작용이 빈번한 데스크탑 환경이나 서버 환경에 적합하다. 선점 스케줄링은 선점 가능(supports preemption)과 선점 불가(non-supports preemption)로 구분되며, 대부분의 현대 운영체제는 선점 스케줄링 방식을 채택하고 있다.
선점 스케줄링의 가장 대표적인 예는 우선순위 기반의 스케줄러로, 우선순위가 높은 프로세스가 언제든지 실행 도중에 강제로 CPU를 차지할 수 있다는 점이 특징이다. 이는 실시간 시스템이나 대기 시간 최소화가 중요한 경우 특히 유리하다. 예를 들어, 2020년 기준으로 데스크탑 운영체제인 윈도우 10은 선점형 커널을 사용하며, 평균 응답 시간이 기존의 비선점형 시스템보다 30% 이상 향상되는 성능을 보여주었다. 또…