Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

шпоры

.docx
Скачиваний:
20
Добавлен:
09.04.2015
Размер:
469.59 Кб
Скачать

Билет 12-2. Распределенные и сетевые операционные системы

Чтобы понять природу распределенной системы, рассмотрим сначала операционные

системы с точки зрения распределенности. Операционные системы для

распределенных компьютеров можно вчерне разделить на две категории — сильно

связанные и слабо связанные системы. В сильно связанных системах операционная

система в основном старается работать с одним, глобальным представлением

ресурсов, которыми она управляет. Слабо связанные системы могут представляться

несведущему человеку набором операционных систем, каждая из которых

работает на собственном компьютере. Однако эти операционные системы

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

Это деление на сильно и слабо связанные системы связано с классификацией

аппаратного обеспечения, приведенной в предыдущем разделе. Сильно связанные

операционные системы обычно называются распределенными операционными

системами (Distributed Operating System, DOS) и используются для управления

мультипроцессорными и гомогенными мультикомпьютерными системами.

Как и у традиционных однопроцессорных операционных систем, основная цель

распределенной операционной системы состоит в сокрытии тонкостей управления

аппаратным обеспечением, которое одновременно используется множеством

процессов.

Слабо связанные сетевые операционные системы (Network Operating Systems,

NOS) используются для управления гетерогенными мультикомпьютерными системами.

Хотя управление аппаратным обеспечением и является основной задачей

сетевых операционных систем, они отличаются от традиционных. Это отличие

вытекает из того факта, что локальные службы должны быть доступными

для удаленных клиентов.

Билет 18-2. К каким проблемам приводит реализация максимально возможной степени прозрачности?

Хотя прозрачность распределения в общем желательна для всякой распределенной

системы, существуют ситуации, когда попытки полностью скрыть от пользователя

всякую распределенность не слишком разумны. Это относится, например,

к требованию присылать вам свежую электронную газету до 7 утра по местному

времени, особенно если вы находитесь на другом конце света и живете в другом

часовом поясе. Иначе ваша утренняя газета окажется совсем не той утренней газетой,

которую вы ожидаете.

Точно так же в глобальной распределенной системе, которая соединяет процесс

в Сан-Франциско с процессом в Амстердаме, вам не удастся скрыть тот факт,

что мать-пррфода не позволяет пересылать сообщения от одного процесса к другому

быстрее чем за примерно 35 мс. Практика показывает, что при использовании

компьютерных сетей на это реально требуется несколько сотен миллисекунд.

Скорость передачи сигнала ограничивается не столько скоростью света,

сколько скоростью работы промежуточных переключателей.

Кроме того, существует равновесие между высокой степенью прозрачности

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

для Интернета, многократно пытаются установить контакт с сервером,

пока, наконец, не откажутся от этой затеи. Соответственно, попытки замаскировать

сбой на промежуточном сервере, вместо того чтобы попытаться работать через

другой сервер, замедляют всю систему. В данном случае было бы эффективнее

как можно быстрее прекратить эти попытки или по крайней мере позволить

пользователю прервать попытки установления контакта.

Еще один пример: мы нуждаемся в том, чтобы реплики, находящиеся на разных

континентах, были в любой момент гарантированно идентичны. Другими

словами, если одна копия изменилась, изменения должны распространиться на

все системы до того, как они выполнят какую-либо операцию. Понятно, что одиночная

операция обновления может в этом случае занимать до нескольких секунд

и вряд ли возможно проделать ее незаметно для пользователей.

Вывод из этих рассуждений следующий. Достижение прозрачности распределения

— это разумная цель при проектировании и разработке распределенных

систем, но она не должна рассматриваться в отрыве от других характеристик

системы, например производительности.

Билет 1-1. Цели функции и задачи защиты информации в компьютерных сетях.

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

1) предупреждение возникновения условий/благоприятствующих порождению дестабилизирующих факторов;

2) предупреждение непосредственного проявления дестабилизирующих факторов;

3) обнаружение проявившихся дестабилизирующих факторов;

4) предупреждение воздействия на информацию проявившихся и обнаруженных дестабилизирующих факторов;

5) предупреждение воздействия на информацию проявившихся, но необнаруженных дестабилизирующих факторов;

6) обнаружение воздействия дестабилизирующих факторов на защищаемую информацию;

7) локализация обнаруженного воздействия дестабилизирующих факторов на информацию;

8) локализация необнаруженного воздействия дестабилизирующих факторов на информацию;

9) ликвидация последствий локализованного обнаруженного воздействия на информацию;

10) ликвидация последствий локализованного необнаруженного воздействия на информацию.

19-2. Что такое прозрачность (распределения) и приведите примеры различных видов прозрачности?

Прозрачность. Важная задача распределенных систем состоит в том, чтобы скрыть тот факт, что

процессы и ресурсы физически распределены по множеству компьютеров. Распределенные

сргстемы, которые представляются пользователям и приложениям

в виде единой компьютерной системы, называются прозрачными {transparent).

2-2. Что такое прозрачность (распределения) и приведите примеры различных видов прозрачности?

Прозрачность. Важная задача распределенных систем состоит в том, чтобы скрыть тот факт, что

процессы и ресурсы физически распределены по множеству компьютеров. Распределенные

сргстемы, которые представляются пользователям и приложениям

в виде единой компьютерной системы, называются прозрачными {transparent).

Билет 1,17-2. Cбой и восстановление в распределенной системе.

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

Отказ системы может быть вызван отказом (неверным срабатыванием) каких-то ее компонентов (процессор, память, устройства ввода/вывода, линии связи, или программное обеспечение).Отказ компонента может быть вызван ошибками при конструировании, при производстве или программировании. Он может быть также вызван физическим повреждением, изнашиванием оборудования, некорректными входными данными, ошибками оператора, и многими другими причинами.

Отказы могут быть случайными, периодическими или постоянными.

Случайные отказы (сбои) при повторении операции исчезают.

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

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

Постоянные (устойчивые) отказы не прекращаются до устранения их причины - разрушения диска, выхода из строя микросхемы или ошибки в программе.

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

      1. Восстановление после отказа.

Восстановление может быть прямым (без возврата к прошлому состоянию) и возвратное.

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

При возвратном восстановлении происходит возврат процесса (или системы) из некорректного состояния в некоторое из предшествующих корректных состояний. При этом возникают следующие проблемы.

(1) Потери производительности, вызванные запоминанием состояний, восстановлением запомненного состояния и повторением ранее выполненной работы, могут быть слишком высоки.

(2) Нет гарантии, что сбой снова не повторится после восстановления.

(3) Для некоторых компонентов системы восстановление в предшествующее состояние может быть невозможно (торговый автомат).

Тем не менее этот подход является более универсальным и применяется гораздо чаще первого. Дальнейшее рассмотрение будет ограничено только данным подходом.

Для восстановления состояния в традиционных ЭВМ применяются два метода (и их комбинация), основанные на промежуточной фиксации состояния либо ведении журнала выполняемых операций. Они различаются объемом запоминаемой информацией и временем, требуемым для восстановления.

Обработка сбоев

Сбои более частые, чем в централизованных системах, но обычно локальные.

Обработка сбоев включает:

А) Определение факта сбоя (может быть, невозможно)

Б) Маскирование

В) Восстановление

Билет 2-1. Угрозы в сетях передачи данных. Задачи защиты в сетях передачи данных.

Для сетей передачи данных реальную опасность представляют следующие угрозы:

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

2) Умышленное уничтожение или искажение (фальсификация) проходящих по сети сообщений, а также включение в поток ложных сообщений. Ложные сообщения могут быть восприняты получателем как подлинные.

3) Присвоение злоумышленником своему узлу или ретранслятору чужого идентификатора, что дает возможность получать или отправлять сообщения от чужого имени.

4) Преднамеренный разрыв линии связи, что приводит к полному прекращению доставки всех (или только выбранных злоумышленником) сообщений.

5) Внедрение сетевых вирусов, т. е. передача по сети тела вируса с его последующей активизацией пользователем удаленного или локального узла.

 задачи защиты в сетях передачи данных состоят в следующем.

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

2. Контроль доступа, т. е. защита от несанкционированного использования ресурсов сети.

3. Маскировка данных, циркулирующих в сети.

4. Контроль и восстановление целостности всех находящихся в сети данных.

5. Арбитражное обеспечение, т. е. защита от возможных отказов от фактов отправки, приема или содержания отправленных или принятых данных.

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

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

2. Канальный уровень — увеличение надежности защиты (при необходимости) с помощью шифрования передаваемых по каналу данных. В этом случае шифруются все передаваемые данные, включая служебную информацию.

3. Сетевой уровень — наиболее уязвимый уровень с точки зрения защиты. На нем формируется вся маршрутизирующая информация, отправитель и получатель фигурируют явно, осуществляется управление потоком Кроме того, протоколами сетевого уровня пакеты обрабатываются на всех маршрутизаторах, шлюзах и других промежуточных узлах. Почти все специфические сетевые нарушения осуществляются с использованием протоколов данного уровня (чтение, модификация, уничтожение, дублирование, переориентация отдельных сообщений или потока в целом, маскировка под другой узел и др.).

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

4. Транспортный уровень — осуществляет контроль за функциями сетевого уровня на приемном и передающем узлах (на промежуточных узлах протокол транспортного уровня не функционирует). Механизмы транспортного уровня проверяют целостность отдельных пакетов данных, последовательности пакетов, пройденный маршрут, время отправления и доставки, идентификацию и аутентификацию отправителя и получателя и другие функции. Все активные угрозы становятся видимыми на данном уровне.

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

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

Билет 4,20-2. Какова роль программного обеспечения промежуточного уровня в распределенных системах?

Промежуточное программное обеспечение (middleware) — это класс программного обеспечения, предназначенного для объединения компонентов распределенного клиент-серверного приложения или целых сетевых приложений в единую информационную систему. Промежуточное ПО представляет набор сервисов, обращение к которым позволяет различным приложениям, в общем случае выполняющимся на разных платформах, взаимодействовать между собой . Общие прикладные интерфейсы (API) промежуточного ПО позволяют реализовать взаимодействие между приложениями, не углубляясь в инфраструктуру и детали реализации гетерогенной сети, а последующие изменения в структуре и составе такой сети не потребуют изменений в приложениях (при условии, что эти изменения не затрагивают API middleware).

Термин middleware впервые был использован в 1968 г., но как технология интеграции корпоративных приложений, этот тип программного обеспечения стал использоваться с 80-х годов XX в. для решения проблем совместимости и взаимодействия новых приложений с устаревшими наследованными системами.

Место промежуточного ПО — в условной «середине» между сетевыми приложениями или их компонентами. Этим оно напоминает среднее звено в трехзвенных клиент-серверных архитектурах, за исключением того, что функциональные части middleware распределены между приложениями и/или их компонентами в корпоративной сетевой среде.

Функции middleware

Сервисы middleware представляют приложениям разнобразные функции API, которые, в сравнении с функциями операционных систем и сетевых служб, обеспечивают:

прозрачный доступ к другим сетевым сервисам и приложениям;

независимость от других сетевых сервисов;

высокую надежность и постоянную готовность.

обеспечение безопасности;

обеспечение целостности данных;

балансировка нагрузки;

обнаружение удаленных компонент.

Виды промежуточного ПО

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

Программное обеспечение для межпрограммного взаимодействия (см. также IPC - Inter-Process Communication).

Программное обеспечение доступа к базам данных.

Промежуточный уровень (промежуточная среда, middleware) помогает разработчику создавать открытые, масштабируемые и устойчивые распределённые системы.

Модели промежуточного уровня:

- Распределенная файловая система;

- Удаленный вызов процедур;

- Распределенные объекты.

Билет 3-1. Задачи защиты информации на различных уровнях модели OSI (ВОС).

Международная организации по стандартизации придумала и создала Модель OSI (модель взаимодействия открытых систем). В скобках приведена русская адаптация модели OSI (Open System Interconnection, OSI). Для понимания модели взаимодействия открытых систем, нужно изначально узнать определение открытых систем. 

Система считается открытой, если она построена на основе открытых спецификаций, т.е. общедоступных документов в которых приводится полное описание всей системы. А под системой можно понимать:

  1. 1. soft

  2. 2. компьютерное железо

  3. 3. компьютер

  4. 4. телекоммуникационные сети (компьютерные)

Давайте теперь детально рассмотрим модель OSI (модель взаимодействия открытых систем). Так же модель взаимодействия открытых систем указывает каждому уровню свой набор функции; дает описание различных системных программам и системных средств взаимодействия операционных систем. Т.е. видно, что полное изучение описания модели OSI заняло б у нас много времени. Если сравнивать с книжками, то модель взаимодействия открытых систем посоревнуется с Войной и Миром Толстого.  Из-за разделения на многие уровни система OSI имеет свою специфику. Мы знаем, что в задачи коммутации участвует, по меньшей мере, две стороны - отправитель и получатель. Так вот с моделью OSI мы будем иметь две иерархические структуру уровней, что обязывает обоих лиц соблюдать общие соглашения для каждого уровня в отдельности. 

Общие соглашения, т.е. установленные правила, которые определяют формат сообщений, которыми и обмениваются различные сетевые компоненты одного уровня модели взаимодействия открытых систем - называется протокол взаимодействия. А программные модули, которые создают протоколы взаимодействия уже смежных уровней, рассматриваемой модели, называются интерфейсом взаимодействия. А в интерфейсе находятся различные функции (сервисы), которые он предоставляет своему ближайшему соседнему уровню. 

В конце описания Модели OSI (модель взаимодействия открытых систем) давайте все же познакомимся со всеми существующими семью уровнями:

  1. 1. физический

  2. 2. канальный

  3. 3. сетевой

  4. 4. транспортный

  5. 5. сенсовый

  6. 6. представительный

  7. 7. прикладной

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

Задачи зашиты в сетях передачи данных состоят в следующем:

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

2) Контроль доступа, т. е. защита от несанкционированного использования ресурсов сети.

3) Маскировка данных, циркулирующих в сети.

4) Контроль и восстановление целостности всех находящихся в сети данных.

5) Арбитражное обеспечение, т. е. защита от возможных отказов от фактов отправки, приема или содержания отправленных или принятых данных.

Применительно к различным уровням семиуровневого протокола передачи данных в сети задачи могут быть конкретизированы следующим образом:

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

2) Канальный уровень - увеличение надежности защиты (при необходимости) с помощью шифрования передаваемых по каналу данных.

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

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

4) Транспортный уровень - осуществляет контроль за функциями сетевого уровня на приемном и передающем узлах (на промежуточных узлах протокол транспортного уровня не функционирует). Механизмы транспортного уровня проверяют целостность отдельных пакетов данных, последовательности пакетов, пройденный маршрут, время отправления и доставки, идентификацию и аутентификацию отправителя и получателя и другие функции. Гарантом целостности передаваемых данных является криптозащита как самих данных, так и служебной информации. Анализ трафика предотвращается передачей сообщений, не содержащих информацию, которые, однако, выглядят как реальные сообщения. Регулируя интенсивность этих сообщений в зависимости от объема передаваемой информации, можно постоянно добиваться равномерного трафика. Однако все эти меры не могут предотвратить угрозу уничтожения, переориентации или задержки сообщения. Единственной защитой от таких нарушений может быть параллельная доставка дубликатов сообщения по другим путям.

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

Билет 14-2. Какие методики позволяют добиться масшабируемости

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

Сокрытие времени ожидания связи применяется в случае географического масштабирования. Основная идея проста: постараться по возможности избежать ожидания ответа на запрос от удаленного сервера. Например, если была запрошена служба удаленной машины, альтернативой ожиданию ответа от сервера будет осуществление на запрашивающей стороне других возможных действий. В сущности, это означает разработку запрашивающего приложения в расчете на использование исключительно асинхронной связи. Когда будет получен ответ, приложение прервет свою работу и вызовет специальный обработчик для завершения отправленного ранее запроса. Асинхронная связь часто используется в системах пакетной обработки и параллельных приложениях, в которых во время ожидания одной задачей завершения связи предполагается выполнение других более или менее независимых задач. Для осуществления запроса может быть запущен новый управляющий поток выполнения. Хотя он будет блокирован на время ожидания ответа, другие потоки процесса продолжат свое выполнение. Однако многие приложения не в состоянии эффективно использовать асинхронную связь. В этих случаях наилучшим решением будет сократить необходимый объем взаимодействия, например, переместив часть вычислений, обычно выполняемых на сервере, на клиента, процесс которого запрашивает службу.

Следующая важная технология масштабирования — распределение (distribution). Распределение предполагает разбиение компонентов на мелкие части и последующее разнесение этих частей по системе.

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

Кэширование {caching) представляет собой особую форму репликации, причем различия между ними нередко малозаметны или вообще искусственны. Как и в случае репликации, результатом кэширования является создание копии ресурса, обычно в непосредственной близости от клиента, использующего этот ресурс.

Однако в противоположность репликации кэширование — это действие, предпринимаемое потребителем ресурса, а не его владельцем.

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

Допустимая степень противоречивости зависит от степени загрузки ресурсов. Так, множество пользователей Web считают допустимым работу с кэшированным документом через несколько минут после его помещения в кэш без дополнительной проверки. Однако существует множество случаев, когда необходимо гарантировать строгую непротиворечивость, например, при игре на электронной бирже. Проблема строгой непротиворечивости состоит в том, что изменение в одной из копий должно немедленно распространяться на все остальные. Кроме того, если два изменения происходят одновременно, часто бывает необходимо,чтобы эти изменения вносились в одном и том же порядке во все копии. Для обработки ситуаций такого типа обычно требуется механизм глобальной синхронизации. К сожалению, реализовать масштабирование подобных механизмов крайне трудно, а может быть и невозможно. Это означает, что масштабирование путем репликации может включать в себя отдельные немасштабируемые решения.

Билет 16-2.Опишите точно, что такое масштабируемая система

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