Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_Drobin_doc.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.87 Mб
Скачать
  1. Технология клиент-сервер как основа построения микроядерных операционных систем. Поддержка технологии клиент-сервер со стороны операционной системы.

Для добавления новых функций и изменения существующих используется технология «сервер – клиент».

Модель клиент-сервер предполагает наличие программного компонента - потребителя какого-либо сервиса - клиента, и программного компонента - поставщика этого сервиса - сервера.

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

Один и тот же программный компонент может быть клиентом по отношению к одному виду услуг, и сервером для другого вида услуг

Это не столько технология, сколько удобное концептуальное средство ясного представления программных функций того или иного программного элемента или и той или иной ситуации

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

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

  1. Распределенные вычислительные сети. Механизм обмена сообщений. Гарантированная доставка сообщений.

Три основных параметра организации работы в сети

  • Способ разделения приложения на части, выполняющиеся на разных компьютерах

  • Определение специализированных серверов в сети, на которых выполняются некоторые общие для всех приложений функции

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

Двухзвенные схемы

Централизованная схема.

Клиент – эмуляция терминала сервера

Сервер – логика приложения и обращения к базе данных + операции БД + Файловые операции

Достоинства – простота, тонкие клиенты

Недостатки – недостаточная масштабируемость и отсутствие отказоустойчивости

Файловый сервер

Клиент – интерфейс пользователя + логика приложения и обращения к БД + Операции БД

Сервер – файловые операции

Достоинства – хорошая масштабируемость

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

Сбалансированная схема

Клиент – интерфейс пользователя + логика приложения и обращения к БД

Сервер – операции базы данных + файловые операции

СУБД одно из наиболее часто применяемых в сетях распределенных приложений.

Трехзвенные схемы

Клиент – интерфейс пользователя

Сервер приложений – логика приложения о обращения к БД (платформы и инструменты,

мониторы транзакций)

Сервер баз данных – операции БД + файловые операции

Преимущества – упрощается администрирование, решается проблема недостаточной мощности клиентской части

Middleware

  • Средства асинхронной обработки сообщений (message-oriented middleware, МОМ)

  • Средства удаленного вызова процедур (Remote Procedure Call, RPC)

  • Брокеры запроса объектов (Object Request Broker, ORB)

Механизм передачи сообщений в распределенных системах

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

Два способа:

  • Централизованные системы. С помощью совместного использования одних и тех же данных (разделяемая память)

  • Распределенные системы. Путем передачи друг другу данных в виде сообщений

Сообщение - блок информации, отформатированный процессом-отправителем таким образом, чтобы он был понятен процессу-получателю.

Сообщение состоит из заголовка (фиксированной длины) и набора данных определенного типа (переменной длины)

Заголовок

  • Адрес – набор символов, уникально определяющих отправляющий и получающий процессы. Адресное поле состоит из двух частей: адрес процесса-отправителя и адрес процесса-получателя.

  • Последовательный номер – идентификатор сообщения. Используется для идентификации потерянных сообщений и дубликатов сообщений в случае отказов в

сети.

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

В любой сетевой ОС имеется система передачи сообщений (транспортная подсистема) – набор средств для организации взаимодействия процессов по сети.

Она экранирует детали сложных сетевых протоколов от программиста.

Это происходит через OSI.

Буферизация

Неготовность принимающего процесса

Размещение сообщения в буфер (на одно сообщение)

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

Способы адресации

Один из вариантов: использование аппаратных адресов сетевых адаптеров. Но он возможен только при одном процессе.

Адрес = компьютер + процесс (machine_id, local_id)

Идентификатор компьютера – IP-адрес (наиболее часто)

Идентификатор процесса – числовой идентификатор, имеющий в пределах узла machine_id уникальное значение.

Нотация URL (Internet) (Universal Resource Locator, универсальный указатель ресурса) где используются символьные имена.

Требуется оперативное отображение символьных имен на числовые идентификаторы (так как так они распознаются сетевым оборудованием)

Две схемы замены символьных адресов на числовые

Широковещание. Удобно в локальных сетях, где сетевые технологии нижнего уровня (Ethernet, Token Ring, FDDI) поддерживают широковещательные адреса в пределах всей сети.

Централизованная служба имен. Специальные серверы образуют распределенную службу имен.

Гарантия доставки

Надежные и ненадежные примитивы

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

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

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

В хорошей подсистеме обмена сообщениями должны поддерживаться как ненадежные примитивы, так и надежные. Например большие объемы информации передаются надежными сообщениями, а маленькие ненадежными, но быстрее.

Они поддерживаются различными протоколами. Для IP-сети надежная передача протокол IP, ненадежная, но быстрая UDP.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]