2016-06-03 5 views
1

Я учусь сам введение ОС, У меня есть следующие два вопроса:Зачем нужна ОС Fork()?

(1) Так как Fork() системный вызов используется для дублирования текущего процесса для многозадачности, я хотел бы увидеть пример который показывает без разветвления, у нас не будет такой многозадачности? Другими словами, я хотел бы увидеть пример (или внешнюю ссылку), который показывает, насколько важна функция Fork().

(2) Выполняется ли процесс Zombie из-за аварии процесса ребенка?

Большое спасибо

+0

Вилка - это просто способ евнухов создать новый процесс. Большинство операционных систем не имеют эквивалента (кроме эмулированных). Eunuchs довольно странно в том, как он относится к процессам. – user3344003

ответ

1

Там нет необходимости для fork, fork это только Unix способ создания процесса. Старые и разные системы использовали что-то другое, например, spawn (Vax/VMS).

Зомби - это всего лишь следы умерших процессов, это полезно для родителей, чтобы они знали о погибших детей после того, как они были заняты. Помните, что в Unix процесс, который заканчивается, позволяет родителям знать о причине его прекращения. Таким образом, есть необходимость позволить умершему процессу хранить эту информацию где-то, путь Unix - поддерживать запись процесса с именем zombie, поскольку этот процесс сводится к этой небольшой записи, и никакие другие ресурсы не связаны.

+0

Большое вам спасибо. –

+0

Windows также не имеет fork (вне подсистем POSIX/UNIX/подсистем Linux). – ysdx

Смежные вопросы