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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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