Что ж, ядро Linux не знает о пользовательских потоках (pthread делает в пользовательском пространстве, более того, ядро на самом деле не заботится о них, за исключением того, что ему просто нужно знать, что планировать).
Указатель инструкцийизменяется в ядре во время того, что называется переключением контекста.Во время этого переключения ядро по существу спрашивает планировщик, что дальше?планировщик передаст ему структуру task_struct, которая содержит всю информацию о потоке, а обработчик прерываний для переключения контекста продолжит работу и соответствующим образом установит значения в ЦП (таблицы страниц, указатель инструкций и т. д.) и, когда этот кодэто делается, процессор просто начинает оттуда запускаться.