Практические рекомендации и методы улучшения функционирования серверов Linux 30.1. Введение

Пример с серверной программой, который рассматривался на протяжении всей этой книги, был разработан таким образом, чтобы читатель мог понять фундаментальные принципы проектирования сетевого программного обеспечения, пользуясь четкой и наглядной иллюстрацией рассматриваемых концепций. Поэтому в коде этого сервера не реализованы многие функции, необходимые для производственного программного обеспечения. женские рубашки с галстуком Новые знакомства 1LovePlanet - знакомства loveplanet. Rostov-game.

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

30.2. Функционирование в фоновом режиме

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

Большинство серверов функционирует в фоновом режиме, поскольку они должны работать неопределенно долгое время. Серверный процесс выполняется с момента запуска операционной системы и работает в фоновом режиме, ожидая поступления запросов. В системе Linux серверные процессы создаются во время запуска системы. В ходе загрузки операционной системы начальный процесс системы (init) выполняет ряд команд из каталога запуска демонов (/etc/red). Сценарии, находящиеся в каталоге запуска, создают серверные процессы в определенном порядке, чтобы такие системные службы, как служба дистанционного доступа к файловой системе, запускались до того, как прикладные службы попытаются их использовать.

Хотя при описании методов, рассматриваемых в этой главе, в основном упоминается система Linux, они в равной мере относятся и к другим версиям UNIX.

Похожие статьи Меню Опрос Фото Популярное