Вопрос, надеюсь, что для вас простейший, потому что сам пока не очень понимаю в системном программировании на уровне семафоров и взаимодействия между процессами.
Суть: Есть виртуальный диспетчер задач ОС реального времени, который запущен в любой системе, и де-факто является просто надстройкой над обычной ОС. В нем можно создавать, процессы, удалять, тормозить их и переключать. Главный вопрос, как реализовать переключение между старым и новым процессом. Только не в контексте «как это сделано в шедулере QNX, VxWorks, etc...», а как бы это просто по-хитрей, да попроще сделать в этом курсаче, задание которого - разработать виртуальный диспетчер задач.
http://vosstanie-group.narod.ru/kr2.doc
Вот ссылка на файл. В нем описание задания курсового проекта, но суть не в этом, курсач делать не нужно. Там описание с картинками как устроен по заданию виртуальный диспетчер задач («очередь дескрипторов готовых процессов», «семафоры», «таймеры»). На последней странице этого документа содержится более корректная формулировка моего вопроса на счет «переключения процессов».
Собственно вся соль в вопросе указанном в конце документа «как это сделать в линуксе».
Заранее спасибо. Очень прошу отозваться и помочь. Пиво гарантирую, очень нужно найти ответ на вопрос.