O Torvalds Linus

Сайт о *nix системах и всем что с ними связано

В списках очереди на выполнение собраны все процессы, имеющие состояние task running. Linux стоит перед следующим выбором:

Процессы в состояниях task_stopped, exit_zombie и exit_dead не объединяются в специальные списки. Нет никакой необходимости группировать эти процессы, поскольку остановленные, зомбированные”и мертвые”процессы доступны только через их идентификаторы или связные списки потомков конкретного родителя.

Процессы в состояниях task_interruptible или task_uninterruptible подразделяются на много классов, каждый из которых соответствует определенному событию.

Процессы, создаваемые программой, находятся в отношениях ”родитель – потомок”. Когда процесс создает несколько потомков, между ними возникают отношения “братства”. Несколько полей в дескрипторе процесса отражают эти взаимоотношения. Они перечислены для некоторого процесса Р. Процессы 0 и 1 создаются ядром. Как мы увидим далее в этой главе, процесс 1 (называемый init) является предком всех остальных процессов.

Процесс РО последовательно создал процессы PI, Р2 и РЗ. Процесс может быть лидером в группе или в сеансе, он может быть лидером в группе потоков, а также он может отслеживать выполнение других процессов. Поля дескриптора процесса, которые определяют отношения между процессом Р и остальными процессами.

Read the rest of this entry »