logo
otvety1

37 Демоны Linux.

Дисциплина «Операционные системы, среды и оболочки»

Среди всех процессов можно выделить несколько особых типов процессов.

Системные процессыявляются частью ядра и всегда находятся в оперативной памяти. Такие процессы не имеют соответствующих им программ в виде исполняемых файлов и запускаются особым образом при инициализации ядра системы.

Демоны отличаются от обычных процессов только тем, что они работают в неинтерактивном режиме. Если с обычным процессом всегда ассоциирован какой-то терминал или псевдотерминал, через который осуществляется взаимодействие процесса с пользователем, то демон такого терминала не имеет. Для управления демонами приходится использовать другие программы.

Само название «демоны» возникло благодаря тому, что многие процессы этого типа большую часть времени проводят в ожидании какого-то события. Когда это событие наступает, демон активизируется, выполняет свою работу и снова засыпает в ожидании события. Следует отметить, что многие демоны, такие как, например, Web-сервер или сервер баз данных, могут отбирать на себя практически все процессорное время и другие ресурсы системы. Такие демоны гораздо больше работают, чем спят.

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

Одним из главных, если можно так выразиться, демонов в системе является демон init. Как уже говорилось,initявляется прародителем всех процессов в системе и имеет идентификатор 1. Выполнив задачи, поставленные в ему в файлеinittab, демонinitне завершает свою работу – он постоянно находится в памяти и отслеживает выполнение других процессов.

Прикладные процессы– это все остальные процессы, выполняющиеся в системе. Как правило, эти процессы порождаются в рамках сеанса работы пользователя. В каждом таком сеансе работы вначале запускается оболочка (командный интерпретатор)shell. Этот экземпляр оболочки называетсяloginshellи завершение соответствующего процесса приводит к отключению пользователя от системы.