> Мне кажется, "если хочешь избавиться от переключений контекста,
> выкинь этот контекст!".
> Т.е. всё исполнять в едином пространстве,Очень светлая мысль. Именно так люди и делают
во всяких там Ерлангах и Го. Высокопроизводительные
сервера не надо писать на C и системных потоках,
которые нынче 1:1 практически везде.
> а защиту
> осуществлять более глубоким контролем вызовов.
А защита обеспечивается безопасностью языка программирования.
Другой вариант -- удешевить стоимость переключения контекста.
Вот интересная на мой взгляд статья.
http://www.osp.ru/os/2007/05/4259887/
Ну и последнее -- конечно остаются средства асинхронного I/O
типа kqueue или epoll. Здесь все нужно делать руками,
и это порой нелегко.