[08.09.11] Лекция №2 (Конспекты - Сетевое ПО)

2017-12-28СтудИзба

Описание файла

Файл "[08.09.11] Лекция №2" внутри архива находится в следующих папках: Конспекты - Сетевое ПО, 2 - [08.09.11] Лекция №2. Документ из архива "Конспекты - Сетевое ПО", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "сетевое программное обеспечение" в общих файлах.

Онлайн просмотр документа "[08.09.11] Лекция №2"

Текст из документа "[08.09.11] Лекция №2"

Лекция №2 [08.09.11]

Архитектура приложений "клиент-сервер"

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

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

Шестиуровневая модель распределения:

1) самый верхний. Средства представления на стороне клиента (данных на мониторе, GUI);

2) логика представления. Сценарий взаимодействия для реализации средств представления (меню, списки);

3) логика приложения. Вычислительные процедуры, операции;

4) логика данных. Операции с данными, которые хранятся в некоторой базе;

5) внутренние операции БД. Операции СУБД;

6) файловые операции. Средства на уровне локальных ОС.

На основе этой модели можно построить несколько схем распределения частей приложения между узлами сети. Классы приложений клиент-сервер:

1) обработка на одном узле. Рабочая станция выполняет имитацию терминала;

2) обработка на сервере. Каждый клиент отвечает за обеспечение GUI, а вся обработка осуществляется на сервере. Такой вариант характерен для ранних конфигураций Клиент-Сервер. Называется тонким клиентом;

3) обработка у клиента. Практически вся обработка реализуется на клиенте, а сервер используется только для хранения данных (БД и СУБД). Называется толстым клиентом. Ещё и жирным называют. Этот вариант более распространён;

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

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

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

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

Логическая организация архитектуры Клиент-Сервер:

Механизм межпроцессного взаимодействия в сети

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

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

В заголовке содержится следующая информация:

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

- идентификатор сообщения. Некоторый последовательный номер сообщения.

Данные – некоторая структурированная информация:

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

- поле длины данных (данные могут быть переменной длины);

- собственно данные.

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

Вопросы, решаемые при передаче сообщений и влияющие на её эффективность:

1) способ задания адреса получателя;

2) количество получателей;

3) требуется ли гарантированная доставка сообщений (нужно ли подтверждение получения);

4) как отправитель, получатель и система передачи сообщений должны реагировать на отказы узлов или каналов во время взаимодействия;

5) нужна ли буферизация сообщений и как себя вести при переполнении буфера;

6) может ли приёмник менять порядок обработки сообщений.

От того, как протокол передачи сообщений отвечает на эти вопросы, зависит семантика протокола передачи.

Синхронизация процессов при передаче сообещний

Коммуникационные примитивы делятся на блокирующие (синхронные) и неблокирующие (асинхронные).

При использовании блокирующего примитива send процесс, выдавший запрос на его выполнение, приостанавливается до выдачи сообщения о том, что приёмник получил сообщение, а вызов блокирующего примитива receive приостанавливает выполнение процесса-получателя до получения сообщения. Вот так вот:

При использовании неблокирующих примитивов, управление возвращается процессу немедленно. Для того, чтобы получить информацию о том, что процесс P1 получил сообщение, процесс P2 должен использовать примитив test, чтобы определить. Вот так:

Можно ещё использовать механизм прерываний.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее