Процессы-демоны
Категория: Процессы-демоны | Автор: admin | 2-07-2010, 09:43

Операционная система UNIX — это гибкая и универсальная многозадачная среда, но ее функциональные возможности заключены не только в ядре. В системе имеется богатый набор демонов, отвечающих за ее жизнедеятельность. Системные администраторы могут также инсталлировать дополнительные демоны, полученные из Internet, предоставленные производителями или написанные пользователями.

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

Слово "демон" (daemon) впервые употребил в компьютерной практике Мик Бейли (Mick Bailey), англичанин, который в начале 60-х гг. работал программистом в Массачусетском технологическом институте. Для объяснения смысла и правильного написания слова "daemon" Мик цитировал Окфордский словарь английского языка.

Слова "daemon" и "demon" имеют общий корень, но первое — более древнее, сохранившее первоначальное значение. Слово "daemon" дословно означает "гений, дух-покровитель человека". В этом смысле демоны являются не воплощениями добра или зла, а независимыми существами со своими собственными намерениями и желаниями.

Из системы CTSS, в работе над которой Бейли принимал участие, этот термин перешел в Multics, а затем и в UNIX, где демоны стали настолько популярными, что для управления ими понадобился "супердемон" (inetd).

В этой главе дан краткий обзор наиболее распространенных демонов. Не все перечисленные здесь демоны поставляются со всеми версиями UNIX, и не каждый демон, входящий в состав той или иной версии UNIX, здесь упомянут. Прочитав о том, что делают все эти демоны, вы не только станете еще более квалифицированным специалистом по ОС UNIX, но и перестанете бояться вопросов пользователей о том, что делает, например, демон xntpd.

До того как был написан демон inetd, все демоны запускались во время начальной загрузки и работали непрерывно (точнее, блокировались в ожидании работы). Со временем в систему вводились все новые и новые демоны. Их появилось столько, что начали возникать проблемы с производительностью. В ответ специалисты университета Беркли разработали inetd — демон, отвечающий за запуск других демонов по мере необходимости. Супердемон inetd стал таким популярным, что теперь его включают во все основные версии UNIX, а большинство новых демонов работает под его контролем.

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

В начале этой главы мы познакомим читателей с парой очень важных системных демонов (init и cron), а затем перейдем к рассмотрению демона inetd. Потом мы вкратце опишем большинство демонов, с которыми системному администратору, скорее всего, придется столкнуться при работе в четырех наших тестовых системах.


Просмотров: 2609 | | Комментариев: 0
  Основные демоны
Категория: Процессы-демоны | Автор: admin | 2-07-2010, 09:45

Демон init — это первый процесс, который запускается после начальной загрузки системы, и во многих отношениях это самый важный демон. Он всегда имеет идентификатор процесса 1 и является предком всех пользовательских и почти всех системных процессов.

Во время начальной загрузки демон init либо переводит систему в однопользовательский режим, либо порождает интерпретатор команд для чтения стартовых сценариев. Когда система загружается в однопользовательском режиме, демон init начинает читать стартовые сценарии после того, как однопользовательский интерпретатор команд завершается нажатием клавиш <Ctrl-D>.

После обработки файлов запуска демон init обращается к файлу конфигурации (/etc/ttytab, /etc/ttys или /etc/inittab, в зависимости от системы) и получает оттуда список портов, через которые следует ожидать входа в систему. Демон init активизирует эти порты и порождает для каждого из них процесс getty. Если порт открыть нельзя, демон init периодически выдает на системную консоль сообщения, пока порт не будет открыт или удален из списка активных портов.

 

В старых системах управление терминальными портами было основной задачей администраторов. Сегодня терминалы являются реликтами былой эпохи. Пользователи регистрируются в системах по сети при помощи таких демонов, как rlogind, telnetd и sshd.

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

Останов системы осуществляется путем передачи демону init соответствующего сигнала (обычно это SIGTERM), который заставляет его перевести систему в однопользовательский режим. Это последняя операция в большинстве сценариев останова. Демон init играет настолько существенную роль в работе системы, что в случае его зависания инициируется автоматическая перезагрузка системы.


Просмотров: 3397 | Подробнее... | Комментариев: 0
  Демон cron: планирование команд
Категория: Процессы-демоны | Автор: admin | 2-07-2010, 09:47

Демон cron отвечает за выполнение команд по установленному графику. Он обрабатывает файлы с расписанием задач (crontab-файлы), созданные как пользователями, так и администраторами.

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


Просмотров: 2522 | Подробнее... | Комментариев: 0
  Демон inetd: управление демонами
Категория: Процессы-демоны | Автор: admin | 2-07-2010, 09:54

Демон inetd управляет другими демонами. Он запускает демоны-клиенты, когда для них есть работа, а после выполнения задачи позволяет им тихо завершиться.

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

Работа некоторых демонов (например, тех, что связаны с NIS и NFS) основана на протоколе RPC, который был разработан и реализован компанией Sun в качестве механизма совместного использования информации в распределенной сетевой среде. Назначениями портов для RPC-демонов управляет демон portmap (иногда называется rpcbind).

Многие демоны могут использоваться либо традиционным способом (т.е. они запускаются однократно и работают до выключения системы), либо под контролем демона inetd.


Просмотров: 4965 | Подробнее... | Комментариев: 0
  Системные демоны
Категория: Процессы-демоны | Автор: admin | 2-07-2010, 09:59

Ряд системных задач, например управление виртуальной памятью и синхронизация дисковых кэш-буферов, находится в ведении демонов, а не ядра. Системный администратор не может вмешиваться в работу этих демонов.

 

Демон замещения страниц

 

Реализация данного демона и его функционирование зависят от конкретной системы. Он называется pageout в Solaris, vhand в HP-UX, kpiod в Red Hat и pagedaemon во FreeBSD.

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


Просмотров: 3155 | Подробнее... | Комментариев: 0


 
Логин
Пароль
 

 
Locations of visitors to this page