История изменений
Исправление hateyoufeel, (текущая версия) :
Да, пожалуй, ты прав. При этом в NT нет fork(), и нормально на ядерных тредах он не запиливается.
В NT нет fork() для процессов NT. Для линуксовых есть. Ради WSL1 запилили такую штуку как picoprocess, которые очень похожи на юниксовые процессы – т.е. не подгружают при старте вагон рантайма от NT, и их форкать достаточно легко.
Вообще, туда много вкусного запилили, что мимо люнекса пролетело со свистом, потому что люнексоеды не могут. Те же picoprocess можно сделать полностью изолированными, со своим обработчиком сисколлов, без возможности связи со внешним миром, за исключением заранее выделенных каналов. Для безопасности очень крутая штука – можно критичные участки кода выделить в отдельный процесс, который будет абсолютно слеп и глух за исключением единственного канала IPC с родителем. В Linux такое можно через seccomp, но там есть некоторые нюансы.
Исходная версия hateyoufeel, :
Да, пожалуй, ты прав. При этом в NT нет fork(), и нормально на ядерных тредах он не запиливается.
В NT нет fork() для процессов NT. Для линуксовых есть. Ради WSL1 запилили такую штуку как picoprocess, которые очень похожи на юниксовые процессы – т.е. не подгружают при старте вагон рантайма от NT, и их форкать достаточно легко.
Вообще, туда много вкусного запилили, что мимо люнекса пролетело со свистом, потому что люнексоеды не могут. Те же picoprocess можно сделать полностью изолированными, без возможности связи со внешним миром, за исключением заранее выделенных каналов. Для безопасности очень крутая штука – можно критичные участки кода выделить в отдельный процесс, который будет абсолютно слеп и глух за исключением единственного канала IPC с родителем. В Linux такое можно через seccomp, но там есть некоторые нюансы.