Кооперативную многозадачность никто не отменял. Мысль. Если разделить стек вызовов и стек данных для функций, то это упростит переключение задач.
Цитата:
Процессы, получается, не нужны?
Процессы нужны для для изоляции программ друг от друга. Если одна упадёт она не похоронит всю систему. Плюс для ИБ что-бы одни задачи не могли без разрешения изменять память другого процесса. И не могла считать приватные ключи, пароли и тп.
Цитата:
Так можно развить идею к тому, что ядро это просто интерпретатор некоторого байткода.
Майкрософт экспериментировала с этим для C#.