В небольшой самописной rtos для МК выделяю HAL и пытаюсь запускать её поверх pthread. Для отладки, даже не самой rtos а кода в ней работающего.
Исходная идея была такая. При создании задачи в rtos происходит инициализация стека, в этом месте ставим hal вызов. В нем создается thread и его id записывается на стек. Планировщик вместо сохранения/восстановления контекста берет id и делает suspend/resume. Исходно все thread должны быть созданы в остановленном состоянии.
Но вот начал реализовывать, а suspend/resume то и нет. Похоже только как-то через сигналы можно это сделать, да?
Как создавать thread в остановленном состоянии? делать обертку над start_routine?