Исчерпание ресурсов

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

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

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

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

  1. Составьте схему зависимостей между службами на вашем предприятии.
  2. Составьте схему зависимостей между отдельными серверами на вашем предприятии.
  3. Можно ли использовать в файловой системе на компьютере А службу NFS для доступа к файлам на компьютере В и одновременно с этим использовать службу NFS в файловой системе на компьютере В для доступа к файлам на компьютере А? Объясните ваш ответ.
  4. Может ли возникнуть тупиковая ситуация из-за циклических зависимостей между тремя серверами на одном компьютере? Объясните ваш ответ.
  5. Проведите эксперименты с серверами на вашем предприятии, чтобы определить, какое число одновременных соединений они разрешают.
  6. Исследуйте конфигурацию вашей локальной операционной системы. Будет ли в этой системе в первую очередь исчерпано число блоков управления передачей, буферов или сокетов?
  7. Если вам предложат на выбор решить проблему обычной тупиковой ситуации или активного тупика, то какую из них вы выберете? Почему? Каковы будут ваши действия?
  8. Можно ли в клиентской программе, работающей по протоколу TCP, различить между собой отказ, возникший в результате переполнения на сервере очереди запросов, и отказ, возникший в результате останова сети?
  9. В одной из версий NFS программное обеспечение, которое выполняло монтирование удаленной файловой системы, часто блокировалось; это было связано с тем, что клиентское программное обеспечение NSF должно было ожидать ответа удаленной системы. Для предотвращения тупиковой ситуации программист использовал программу ping (которая предусматривает передачу сообщения эхо-повтора ICMP) для определения того, доступен ли удаленный компьютер, прежде чем предпринять попытку смонтировать файловую систему. При каких обстоятельствах все равно может возникнуть тупиковая ситуация?
  10. Студенты при изучений курса по работе с сетями разработали устройство для контроля за работой сети, позволяющее анализировать трафик в сети. Двое йз них решили использовать систему X Window для отображения полученных результатов на цветном экране. Другая группа студентов до этого могла отдельно эксплуатировать свой вариант программы, но как только оба студента запустили свои программы, в сети возникла перегрузка. Объясните причину.
Похожие статьи Меню Опрос Фото Популярное