Коли процес з вищим пріоритетом стає доступним для диспетчеризації, ядро перериває його обчислення та примусово запускає
, випереджаючи поточний запущений процес. Процес можна випередити в будь-який час якщо ядро виявить, що процес з вищим пріоритетом тепер доступний для диспетчеризації.
засоби випередження примусове відбирання процесора в одного процесу та виділення його іншому процесу. [Operating Systems (Self Edition 1.1), Sibsankar Haldar] Випередження програми відбувається, коли під час її виконання виникає переривання, і планувальник вибирає деякі інші програми для виконання. [
Простіше кажучи: випереджальна багатозадачність передбачає використання механізму переривання, який призупиняє поточний процес і викликає планувальник, щоб визначити, який процес має виконатися наступним. Таким чином, усі процеси отримають деяку кількість процесорного часу в будь-який момент часу.
Випередження може приймати різні форми. Наприклад, державні та місцеві органи влади можуть бути упереджені від ухвалення або виконання законів, які мають менший захист, ніж закон вищого рівня. І навпаки, державні та місцеві органи влади можуть бути позбавлені права ухвалювати чи виконувати закони, які мають більший захист, ніж закон вищого рівня.
Щодо вашого другого запитання: Процес ніколи не випереджає інший процес, це завжди робить ОС. ОС регулярно викликає програму планувальника, де вона вирішує, який процес буде запущено наступним.
Коли процес з вищим пріоритетом стає доступним для диспетчеризації, ядро перериває свої обчислення та примусово перемикає контекст, випереджаючи поточний запущений процес. Процес може бути виключений у будь-який час, якщо ядро виявить, що процес з вищим пріоритетом тепер доступний для диспетчеризації.
Якщо ви випереджаєте дію, ви запобігати цьому, роблячи щось, що робить це непотрібним або неможливим. Ви можете попередити біль, прийнявши знеболююче при перших тривожних ознаках.