А почему у CPU не делают инструкцию «записать состояние по такому-то адресу» (и обратную ей). Проц сериализует туда свои регистры и т.п. и умеет восстанавливаться.
Я когда-то кодил под protected mode 386, там был какой-то TSS или TTS (не помню) для сохранения стейта одной задачи при переключении на другую, может это что я хочу? Оно при этом считалось тормозным и каждый разработчик ОС свой велосипед делал для сохранения стейта.