Fork vs vfork при создании процессаLinux

Anonymous
Fork vs vfork при создании процесса

Сообщение Anonymous »

Насколько я знаю:
1. При вызове vfork родительский элемент ждет, пока дочерний элемент не будет завершен (но когда дочерний элемент вызывает exec, будет создано новое адресное пространство). ).
2- vfork не использует копирование при записи при создании дочернего процесса. И родительский, и дочерний процесс используют одно и то же адресное пространство.
3-fork использует копирование при записи при создании дочернего процесса.
В книге по операционной системе (Концепция операционной системы, АВРААМ ЗИЛБЕРШАТЦ) я прочитал, что использование vfork в оболочке более эффективно, чем fork. Я не понимаю почему?
Как я знаю, при использовании fork перед любыми изменениями вызывается exec, поэтому никаких изменений у нас нет page, и у нас нет копии страницы (из-за копирования при записи), поэтому fork и vfork должны иметь одинаковую производительность.

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-creation

Вернуться в «Linux»