- •Вопросы к зачету по курсу «Сетевое программное обеспечение(2007 г.)
- •1. Функции и характеристики сетевых операционных систем (ос).
- •2. Уровни поддержки распределенных вычислений сетевыми операционными системами.
- •3. Вычисления в архитектуре клиент-сервер. Способ разделения приложений на части.
- •4. Классы приложений клиент/сервер.
- •5. Передачи сообщений в распределенных системах.
- •6. Синхронизация процессов при передачи сообщений.
- •7. Буферизация при передачи сообщений.
- •8. Способы адресации при передаче сообщений.
- •9. Надежные и ненадежные примитивы передачи сообщений.
- •10. Конвейеры (программные каналы).
- •11. Концепция удаленного вызова процедур.
- •12. Вопросы согласование времени в сетевых системах.
- •13. Алгоритмы синхронизации часов в сетевых системах.
- •14. Именование в сетевых системах.
- •15. Взаимное исключение в сетевых системах.
- •16. Алгоритмы взаимного исключения в сетевых системах. Алгоритмы взаимного исключения
- •Распределенная взаимоблокировка. Виды распределенных взаимоблокировок.
- •18. Распределенная взаимоблокировка. Методы предотвращения взаимоблокировок.
- •19. Репликация данных. Согласование реплик. Варианты внесения изменений в реплицированные данные.
- •20. Кластерная обработка. Методы кластеризации.
- •21. Миграция процессов. Механизмы переноса процессов.
- •22. Организация доступ к удаленным данным. Доступ к данным, основанный на документах.
- •23. Доступ, основанный на файловой системе. Модели переноса.
- •24. Принципы построения сетевых файловых систем.
- •30. Системные вызовы и выполнение кода ядра unix.
- •31. Процессная модель ос unix. Управление процессами. Состояния процесса..
- •32. Архитектура ос Linux. Управление процессами.
2. Уровни поддержки распределенных вычислений сетевыми операционными системами.
-
Простая сетевая архитектура (в этом случае сетПО поддерживает сеть независимых компьютеров и обеспечивает работоспособность таких распределенных приложений как эл. Почта, передача файлов и т.д.)
-
Сетевая ОС – в этом случае узлы в сети состоят из прикладных машин и серверов. Каждая станция имеет собственную ОС, а на сервере установлена сетОС. Вся работа в сети присходит с помощью обращения к серверу. Обеспечивается централизованная обработка данных.
Распределенная ОС – в этом случае сеть компьютеров использует общую ОС. С т.з. пользователя система выглядит, как централизованная.
3. Вычисления в архитектуре клиент-сервер. Способ разделения приложений на части.
Вычисления в архитектуре клиент-сервер (к-с):
Клиент – машина, которая запрашивает информацию по сети. Основная цель – простота использования для пользователя.
Сервер – обеспечивает для клиента множество совместно используемых сервисов.
Способ разделения к-с приложения на части.
Предлагается 6-ти уровневая модель:
-
Средство представления данных на экране (GUI)
-
Логика представления данных (описывает правила и сценарии взаимодействия пользователя с приложением)
-
Логика приложений (вычислительные процедуры и операции)
-
Логика данных (операции с данными, которые надо реализовать для реализации логики приложений)
-
Внутренние операции БД (СУБД)
-
Файловые операции.
4. Классы приложений клиент/сервер.
Классы приложений к-с:
4 класса:
-
Обработка на одном узле (сервере)
-
Обработка на сервере (для mainframe) – логика представления (интерфейс) организована на клиенте (только!)
-
Обработка при сотрудничестве. В этом случае клиент реализует логику представления и логику приложения клиентской части.
-
Обработка у клиента (вся обработка на машине клиента)
5. Передачи сообщений в распределенных системах.
6. Синхронизация процессов при передачи сообщений.
Единственным по-настоящему важным отличием распределенных систем от централизованных является межпроцессная взаимосвязь. В централизованных системах связь между процессами, как правило, предполагает наличие разделяемой памяти. Типичный пример - проблема "поставщик-потребитель", в этом случае один процесс пишет в разделяемый буфер, а другой - читает из него. Даже наиболее простая форма синхронизации - семафор - требует, чтобы хотя бы одно слово (переменная самого семафора) было разделяемым. В распределенных системах нет какой бы то ни было разделяемой памяти, таким образом вся природа межпроцессных коммуникаций должна быть продумана заново.
Основой этого взаимодействия может служить только передача по сети сообщений. В самом простом случае системные средства обеспечения связи могут быть сведены к двум основным системным вызовам (примитивам), один - для посылки сообщения, другой - для получения сообщения. В дальнейшем на их базе могут быть построены более мощные средства сетевых коммуникаций, такие как распределенная файловая система или вызов удаленных процедур, которые, в свою очередь, также могут служить основой для построения других сетевых сервисов.
Несмотря на концептуальную простоту этих системных вызовов - ПОСЛАТЬ и ПОЛУЧИТЬ - существуют различные варианты их реализации, от правильного выбора которых зависит эффективность работы сети. В частности, эффективность коммуникаций в сети зависит от способа задания адреса, от того, является ли системный вызов блокирующим или неблокирующим, какие выбраны способы буферизации сообщений и насколько надежным является протокол обмена сообщениями.