Архитектура Unix

       

. Алгоритм выполнения процесса init



Рисунок 7.31. Алгоритм выполнения процесса init



алгоритм init /* процесс init, в системе именуемый "процесс 1" */ входная информация: отсутствует выходная информация: отсутствует { fd = open("/etc/inittab",O_RDONLY); while (line_read(fd,buffer)) { /* читать каждую строку файлу */ if (invoked state != buffer state) continue; /* остаться в цикле while */ /* найден идентификатор соответствующего состояния */ if (fork() == 0) { execl("процесс указан в буфере"); exit(); } /* процесс init не дожидается завершения потомка */ /* возврат в цикл while */ } while ((id = wait((int*) 0)) != -1) { /* проверка существования потомка; * если потомок прекратил существование, рассматри- * вается возможность его перезапуска */ /* в противном случае, основной процесс просто про- * должает работу */ } }










Содержание раздела