01 스케줄링의 개요

1. 식당 관리자의 스케줄링

CPU 스케줄러는 CPU 와 시스템 자원을 어떻게 배정할지 결정하는 일을 한다.

2. 스케줄링의 단계

스케줄링의 단계

스케줄링의 단계

3. 스케줄링의 목적

특정 프로세스가 시스템 자원을 독점하거나 파괴하는 것을 막기 위해 중요도에 따라 우선순위를 배정해야 한다. 또한 시스템 자원을 효율적으로 배분하여 전체적인 시스템의 성능도 높여야 한다.

02 스케줄링 시 고려 사항

프로세스의 분류에 따라 우선순위가 다를 수 있다. 스케줄링 시 이러한 프로세스의 중요도를 파악하여 적절한 스케줄링을 수행해야 한다.

1. 선점형 스케줄링과 비선점형 스케줄링

선점형 스케줄링 방식의 스케줄러에 비선점형 프로세스가 있을 경우 중요도를 매우 낮게 설정하여 선점형 프로세스에 영향을 덜 미치도록 한다.

2. 프로세스 우선순위

프로세스의 우선순위가 없을 경우 모든 프로세스는 준비 상태에 한 줄로 서서 순차적으로 실행된다. 대부분의 CPU 스케줄러는 우선순위를 사용한다. 우선순위가 있다는 것은 프로세스의 중요도가 다르다는 의미이다. CPU 스케줄러는 각 프로세스에 우선순위를 부여하는데 커널 프로세스의 우선순위가 일반 프로세스보다 높다.

우선순위가 높다는 것은 더 빨리 자주 실행된다는 의미이다. 준비 상태의 커널 프로세스와 일반 프로세스가 하나씩 있다면 커널 프로세스의 우선순위가 더 높기 때문에 커널 프로세스가 먼저 실행되며 작업이 끝날 때까지 계속 CPU 를 사용한다.