선점 스케줄링(preemptive scheduling)은 시분할 시스템에서 타임 슬라이스가 소진되었거나, 인터럽트나 시스템 호출 종료 시에 더 높은 우선 순위 프로세스가 발생 되었음을 알았을 때, 현 실행 프로세스로부터 강제로 CPU를 회수하는 것을 말한다.
현대의 대부분의 시스템들은 선점 커널(preemptive kernel)을 가지고 있으며 이는 커널 모드일 때에도 태스크들이 선점될 수 있도록 설계되어 있다. 이러한 시스템의 예로는 솔라리스 2.0/SunOS 5.0,[1] 윈도우 NT, 리눅스 커널 (2.6.x 이상), AIX, 그리고 일부 BSD 시스템(NetBSD, 버전 5 이상)이 있다.
선점 다중 작업'은 작업의 선점을 허용하는 멀티태스킹 운영 체제 방식이다. 프로세스나 작업에서 시스템 자원이 필요 없을 때 명시적으로 양보하도록 프로그램을 작성하는 협동 다중 작업 방식과 구별된다.
프로세스가 선점 다중 작업 시스템에서 실행할 수 있는 시간대를 타임 슬라이스(time slice) 또는 퀀텀(quantum)이라고 한다.
이 글은 운영체제에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |