В кооперативной системе планирования - ничего. Задача обычно должна вызывать некоторую функцию ОС (либо явную yield
, либо что-то еще, что может неявно дать результат, например, функцию получения сообщения).
В упреждающей системе планирования они предваряются (очевидно) ОС, состояние сохраняется, а следующая задача восстанавливается и запускается.
Например, Linux имеет кванты 100 мс (из памяти), которые он дает к каждой теме. Поток может освободить sh свои кванты на ранней стадии (и если он делает это, он часто хорошо обрабатывается), но, если он использует все свои кванты, он принудительно приостанавливается ОС.