1. 선점형 (Preemptive)
ㅇ 선점형 운영체제는,
- 프로세스 자신이 아니라, 운영체제 커널의 프로세스 스케쥴러에 의해, 일방적으로 조정되는 방식
. 운영체제 커널이 시스템 자원 특히 CPU를 완전히 선점(先占)한 상태에서,
. 각 프로세스의 CPU 사용을 제어
- 통상, 10 ms 정도의 시간 단위로 프로세스 별로 돌아가면서 CPU를 할당해서 수행
- 例) Linux, Unix, macOS, Windows NT/2000/XP 등 거의 모든 현대적 운영체제
ㅇ 선점형 멀티타스킹에서는,
- 프로세스가 언제 실행을 중지 또는 계속할 것인가를, 전적으로 커널 스케줄러가 결정함
ㅇ 운영체제 커널이, 여러 프로세스를 동시에 운영하는 여러 방법 중 하나
※ 여기서, 선점(Preemption)이란?
- 영어로 선취권,우선사용권 등을 뜻하는 용어로,
- 프로세스가 비자발적으로 실행/중지될 수 있는 것을 말함
2. 비 선점형 (Non Preemptive)
ㅇ 한편, 비 선점형은,
- 운영체제가 주체가 되는 것이 아니라, 각 응용 프로그램의 프로세스들이 저마다,
- CPU를 알아서 사용하고, 다 사용하고 나면 운영체제에 돌려주는 방식을 말함
ㅇ 따라서, 만일 한 응용 프로세스에 문제가 생기면,
- 운영체제에 CPU를 못 돌려주게 되고, 전체 시스템이 불안해질 수 있음
. 例) Windows 3.1/95/98 등 윈도우즈 구형 운영체제