선점 스케줄링

선점 스케줄링(preemptive scheduling)은 시분할 시스템에서 타임 슬라이스소진되었거나, 인터럽트시스템 호출 종료 시에 더 높은 우선 순위 프로세스가 발생 되었음을 알았을 때, 현 실행 프로세스로부터 강제로 CPU를 회수하는 것을 말한다.

사용자 모드와 커널 모드

[편집]

현대의 대부분의 시스템들은 선점 커널(preemptive kernel)을 가지고 있으며 이는 커널 모드일 때에도 태스크들이 선점될 수 있도록 설계되어 있다. 이러한 시스템의 예로는 솔라리스 2.0/SunOS 5.0,[1] 윈도우 NT, 리눅스 커널 (2.6.x 이상), AIX, 그리고 일부 BSD 시스템(NetBSD, 버전 5 이상)이 있다.

선점 다중 작업

[편집]

선점 다중 작업'은 작업의 선점을 허용하는 멀티태스킹 운영 체제 방식이다. 프로세스나 작업에서 시스템 자원이 필요 없을 때 명시적으로 양보하도록 프로그램을 작성하는 협동 다중 작업 방식과 구별된다.

타임 슬라이스

[편집]

프로세스가 선점 다중 작업 시스템에서 실행할 수 있는 시간대를 타임 슬라이스(time slice) 또는 퀀텀(quantum)이라고 한다.

같이 보기

[편집]

각주

[편집]
  1. S.Khanna; M.Sebree; J.Zolnovsky. “Realtime scheduling in SunOS 5.0”. 《Proceedings of the USENIX Winter Conference, 1992》: 375–390.