Тенденции и перспективы развития распределенных операционных сред
Тенденции и перспективы развития распределенных операционных сред.
Сетевые и распределенные ОС.
В зависимости от того, какой виртуальный образ создает операционная система для того, чтобы подменить им реальную аппаратуру компьютерной сети, различают сетевые ОС и распределенные ОС.
Сетевая ОС предоставляет пользователю некую виртуальную вычислительную систему, работать с которой гораздо проще, чем с реальной сетевой аппаратурой. В то же время эта виртуальная система не полностью скрывает распределенную природу своего реального прототипа, то есть является виртуальной сетью.
При использовании ресурсов компьютеров сети пользователь сетевой ОС всегда помнит, что он имеет дело с сетевыми ресурсами и что для доступа к ним нужно выполнить некоторые особые операции, например отобразить удаленный разделяемый каталог на вымышленную локальную букву дисковода или поставить перед именем каталога еще и имя компьютера, на котором тот расположен. Пользователи сетевой ОС обычно должны быть в курсе того, где хранятся их файлы, и должны использовать явные команды передачи файлов для перемещения файлов с одной машины на другую.
Работая в среде сетевой ОС, пользователь хотя и может запустить задание на любой машине компьютерной сети, всегда знает, на какой машине выполняется его задание. По умолчанию пользовательское задание выполняется на той машине, на которой пользователь сделал логический вход. Если же он хочет выполнить задание на другой машине, то ему нужно либо выполнить логический вход в эту машину, используя команду типа remote login, либо ввести специальную команду удаленного выполнения, в которой он должен указать информацию, идентифицирующую удаленный компьютер.
Магистральным направлением развития сетевых операционных систем является достижение как можно более высокой степени прозрачности сетевых ресурсов. В идеальном случае сетевая ОС должна представить пользователю сетевые ресурсы в виде ресурсов единой централизованной виртуальной машины. Для такой операционной системы используют специальное название — распределенная ОС, или истинно распределенная ОС.
Распределенная ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин работать как виртуальный унипроцессор. Пользователь распределенной ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.
Распределенная ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающей под управлением распределенной ОС, выполняет часть функций этой глобальной ОС. Распределенная ОС объединяет все компьютеры сети в том смысле, что они работают в тесной кооперации друг с другом для эффективного использования всех ресурсов компьютерной сети.
§ 3.1. Концепции распределенной обработки в сетевых ОС.
Объединение компьютеров в сеть предоставляет возможность программам, работающим на отдельных компьютерах, оперативно взаимодействовать и сообща решать задачи пользователей. Связь между некоторыми программами может быть настолько тесной, что их удобно рассматривать в качестве частей одного приложения, которое называют в этом случае распределенным, или сетевым. Распределенные приложения обладают рядом потенциальных преимуществ по сравнению с локальными. Среди этих преимуществ — более высокая производительность, отказоустойчивость, масштабируемость и приближение к пользователю.
Модели сетевых служб и распределенных приложений.
Значительная часть приложений, работающих в компьютерах сети, являются сетевыми. Действительно, ничто не мешает пользователю запустить на своем компьютере полностью локальное приложение, не использующее имеющиеся сетевые коммуникационные возможности. Достаточно типичным является сетевое приложение, состоящее из двух частей. Например, одна часть приложения работает на компьютере, хранящем базу данных большого объема, а вторая — на компьютере пользователя, который хочет видеть на экране некоторые статистические характеристики данных, хранящихся в базе. Первая часть приложения выполняет поиск в базе записей, отвечающих определенным критериям, а вторая занимается статистической обработкой этих данных, представлением их в графической форме на экране, а также поддерживает диалог с пользователем, принимая от него новые запросы на вычисление тех или иных статистических характеристик. Можно представить себе случаи, когда приложение распределено и между большим числом компьютеров. Распределенным в сетях может быть не только прикладное, но и системное программное обеспечение — компоненты операционных систем. Как и в случае локальных служб, программы, которые выполняют некоторые общие и часто встречающиеся в распределенных системах функции, обычно становятся частями операционных систем и называются сетевыми службами. Целесообразно выделить три основных параметра организации работы приложений в сети. К ним- относятся:
- способ разделения
приложения на части,
- выделение специализированных серверов в сети, на которых выполняются некоторые общие для всех приложений функции;
- способ взаимодействия между частями приложений, работающих на разных компьютерах.
Существуют типовые модели распределенных приложеий. При этом приложения делятся на следующие функциональные части:
1 – средства представления данных на экране, например средства графического пользовательского интерфейса;
2 – логика представления данных на экранеописывает правила и возможные сценарии взаимодействия пользователей с приложением: выбор из систнмы меню, выбор элемента из списка т. п.
3 – прикладная логика – набор правил для принятия решений, вычислительные процедуры и операции;
4 – логика данных – операции с данными, хранящимися в некоторой базе, которые нужно выполнить лля реализации прикладной логики;
5 – внутренние операции базы данных – действия СУБД, вызываемые в ответ на выполнение запросов логики данных, такие как поиск записи по определенным признакам;
6 – файловые операции
– стандартные операции над
файлами и файловой системой,
которые обычно являются
На основе такой модели можно построить несколько схем распределения частей приложения между компьютерами сети. Распределение приложения между большим числом компьютеров может повысить качество его выполнения (скорость, количество одновременно обслуживаемых пользователей и т. д.), но при этомсущественно усложняется организация самого приложения, что может просто не позволить воспользоваться потенциальными преимуществами распределенной обработки. Поэтому на практике приложение обычно разделяют на две или три части и достаточно редко – на большее число частей. В настоящий момент в основном используются двухзвенные и трехзвенные схемы.
Двухзвенные схемы.
Наиболее распространенной является двухзвенная схема, распределяющая приложение между двумя компьютерами. Перечисленные выше типовые функциональные части приложения можно разделить между двумя компьютерами различными способами (рис.3.1.1-3.1.3).
В централизованной схеме, представленной
на рис.3.1.1 компьютер пользователя работает
как терминал, выполняющий лишь функции
представления данных, тогда как
все остальные функции
Рис.3.1.1. Централизованная схема.
Ресурсы компьютера пользователя используются в данной схеме в незначительной степени, загруженными оказываются только графические средства подсистемы ввода вывода ОС, отображающие на экране окна и графику по командам центрального компьютера, а так же сетевые средства ОС,
принимающие из сети команды центрального компьютера и возвращающие данные о нажатии клавиш и координатах мыши. Программа, работающая на компьютере пользователя, называется эмулятором терминала – графическим или текстовым. Главным недостатко централизованной схемы является ее недостаточная масштабируемость и отсутствие отказоустойчивости. Производительность центрального компьютера всегда будет ограничителем количества пользователей, работающих с данным приложением, а отказ центрального компьютера приводит к прекращению работы всех пользователей.
Именно из-за этих недостатков централизованные вычислительные системы, представленные манфреймами, уступили место сетям, состоящих из мини-компьютеров.
В схеме «файловый сервер» (рис.3.1.2) на клиентской машине выполняются все части приложения, кроме файловых операций.
Рис.3.1.2. Схема «файловый сервер».
В сети имеется достаточно
мощный компьютер, имеющий дисковую
подсистему большого объема, который
хранит файлы, доступ к которым необходим
большому числу пользователей. Этот
компьютер играет роль файлового
сервера, представляя собой
Такая схема обладает хорошей масштабируемостью, так как дополнительные пользователи и приложения добавляют лишь незначительную нагрузку на центральный сервер. Однако эта архитектура имеет свои недостатки:
- во многих случаях
резко возрастает сетевая
- компьютер клиента должен
обладать высокой
Другие варианты двухзвенной
модели более равномерно распределяют
функции между клиентской и серверной
частями системы. Наиболее часто
используется схема, в которой на
серверный компьютер
Рис.3.1.3. Смешанная схема.
Клиентский компьютер
при этом выполняет все функции,
специфические для данного
Сам термин клиент-сервер справедлив для любой двухзвенной схемы.
Трехзвенные схемы.
Трехзвенная архитектура
позволяет еще лучше
Примером трехзвенной
архитектуры может служить
Рис.3.1.4. Трехзвенная схема.
Промежуточный сервер называют в этом варианте сервером приложений, так как на нем выполняется прикладная логика обработки данных. Слой логики обработки данных вызывает внутренние операции базы данных, которые реализуются третьим звеном – сервером баз данных.
Примером такой схемы может служить неоднородная архитектура, включающая клиентские компьютеры под управлением Windows 95/98, сервер приложений с монитором тразакций TUXEDO в среде Solaris на компьютере компании Sun Microsystems и сервер баз данных Oracle в среде Windows 2003.
Централизованная реализация
логики приложений решает проблему недостаточной
вычислительной мощности клиентских компьютеров
для сложных приложений, а также
упрощает администрирование и
§ 3.2. Сетевые модели.
В рапределенных системах не существует памяти, непосредственно доступной процессам, работающих на разных компьютерах. Поэтому взаимодествие процессов на разных компьютерах в сети может осуществлятся только путем передачи сообщений через сеть. На основе механизма передачи сообщений работают все сетевые службы. В сообщениях переносятся запросы от клиентов некоторй службы к соответствующим серверам. Сервер возвращает ответ.
В любой сетевой ОС имеется подсистема передачи сообщений, называемая транспортной подсистемой, позволяющая процессам на разных компьютерах взаимодействовать между собой. Транспортная подсистема сетевой ОС имеет сложную структуру, отражающую структуру семиуровневой модели взаимодействия открытых систем (Open System Interconection, OSI).
Сетевая модель OSI.
Процесс сетевой коммуникации разбит на отдельные этапы. На каждом этапе выполняется определенная задача. Протоколы, которые управляют процессом коммуникации, работают на определенном уровне сетевой модели. Все они в совокупности составляют общий стек протоколов.
Стандарт OSI состоит из 7 уровней, каждый из которых представляет определенный этап процесса коммуникации:
Прикладной |
Представления |
Сеансовый |
Транспортный |
Сетевой |
Канальный |
Физический |
Отправляющий компьютер запускает приложение, которое создает данные. Когда данные проходят по каждому уровню сетевой модели, то каждый уровень добавляет в них заголовочную информацию. На принимающем компьютере из кадра извлекается заголовочная информация в каждом соответствующем уровне.
Прикладной уровень.
Обеспечивает взаимодействие между приложением и сетью. Решаются задачи:
- передача файлов,
- доступ к принтеру,
- служба сообщений.
При этом происходит подключение протокола, работающего с данным приложением, например:
- FTP (для передачи файлов между компьютерами) – при передаче файлов.
- Telnet (для чтения и выполнения приложений на удаленном узле, используется для эмуляции терминала и представления доступа приложениям на другом компьютере).
- SMTP (используется для передачи почтовых сообщений).
- При открытии сайта в браузере клиента подключаются протоколы DNS (Domain Name System) и HTTP.
Уровень представления.
Принимает данные прикладного уровня и решает задачи, связанные с формированием пакета:
- сжатие данных,
- шифрование данных,
- трансляция протоколов.
Сеансовый уровень.
Отвечает за установления
сеанса связи между двумя
Запускаются два сервиса:
- Net Bios (соединение компьютеров)
- Win Sock (формирование сокетов).
Благодаря созданию сокетов ОС понимает, какой приходящий поток данных направлять тому или иному приложению. Сокет состоит из трех параметров: транспортного протокола (TCP или UDP), IP адреса клиента и номера порта. Современные ОС поддерживают 65534 порта. Каждое вновь запущенное пользователем приложение открывается под своим номером порта. Первые 1024 номера зарезервированы за основными службами, отвечающими за работу ОС. Например служба DNS подключается по 53 порту, FTP – 20,21 порт, Telnet -22 порт, Web сервер – 80 порт и т. д.
Транспортный уровень.
Решаются задачи формирования пакетов, обеспечение контроля ошибок при передаче и транспортировка данных. Отслеживается целостность и последовательность пакетов данных.
Пакеты или порции, на которые разбиваются данные, называются кадрами. Каждый кадр состоит из заголовка, данных и трейлера (рис.3.1.5).
Существует 4 разных типа кадров Ethernet:
- Ethernet 802.2
- Ethernet 802.3
- Ethernet II
- Ethernet SNAP
На рисунке 3.1.5 представлена структура кадра Ethernet II, где приведены некоторые параметры, хранящиеся в пакете.
Рис. 3.1.5. Структура кадра Ethernet II
В первом блоке (преамбула) содержатся данные, помещаемые из каждого уровня модели OSI. Во втором – данные отправляющего информацию компьютера (например IP адрес, MAK адрес и другая техническая информация). В третьем блоке размещаются данные принимающего информацию компьютера. В четвертом блоке указываются маршрутизируемые протоколы, с помощиь которых идет передача пакета в сеть. Пятый блок – передаваемые данные. Шестой – код CRC – контрольная сумма пакета.
На данном уровне работают два протокола: TCP и UDP
Протокол UDP используется для передачи пакетов небольшого размера. При этом не отслеживается конечная доставка пакета.
Протокол TCP проверяет целосность доставки каждого пакета.
Канальный уровень.
Состоит из двух подуровней:
- MAC – уровень: осуществляет управление доступом к сети на уровне мас-адресов (физический адрес сетевой карты).
- LLC – уровень: осуществляет управление логическими связями (определяет физическую топологию сети).
MAK адрес сетевой карты состоит из шести пар шеснадцатиричных чисел:
первые три пары - фирма – изготовитель сетевой карты, следующие три пары чисел - номер сетевой карты в партии.
Физический уровень.
Преобразует поток двоичных данных в один из трех видов сигнала (в зависимости от вида сетевой карты):
- электрические импульсы
- световые импульсы
- радио – Ethernet.
После этого данные передаются в среду передачи.
Резюме.
Организация взаимодействия между
устройствами в сети является сложной
проблемой, включающей в себя много
аспектов, начиная с согласования
уровня электрических сигналов, формирования
кадров и кончая вопросами аутентификации
приложений. Для ее решения используется
универсальный прием –
Задача каждого уровня модели OSI - предоставление услуг вышележащему уровню, «маскируя» детали реализации этих услуг. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на другом компьютере. Эта логическая, или виртуальная, связь между одинаковыми уровнями показана на рисунке ниже. Однако в действительности связь осуществляется между смежными уровнями одного компьютера — программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов.
Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) — это единица информации, передаваемая между устройствами сети как единое целое. Пакет проходит последовательно через все уровни программного обеспечения. На каждом уровне к пакету добавляется некоторая информация, форматирующая или адресная, которая необходима для успешной передачи данных по сети.
На принимающей стороне пакет проходит через все уровни в обратном порядке. Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до Прикладного уровня, вся адресная информация будет удалена и данные примут свой первоначальный вид.
Таким образом, за исключением самого нижнего уровня сетевой модели, никакой иной уровень не может непосредственно послать информацию соответствующему уровню другого компьютера. Информация на компьютере-отправителе должна пройти через все уровни. Затем она передается по сетевому кабелю на компьютер-получатель и опять проходит сквозь все слои, пока не достигнет того же уровня, с которого она была послана на компьютере-отправителе. Например, если Сетевой уровень передает информацию с компьютера А, она спускается через Канальный и Физический уровни в сетевой кабель, далее по нему попадает в компьютер В, где поднимается через Физический и Канальный уровни и достигает Сетевого уровня.
В клиент-серверной среде
Взаимодействие смежных

- Тенденции и перспективы развития страхования в России
- Тенденции и перспективы развития страхового рынка в России
- Тенденции и перспективы развития третейского судопроизводства в Российской Федерации
- Тенденции и проблемы развития коневодства
- Тенденции и проблемы развития молочного скотоводства
- Тенденции и проблемы развития птицеводства
- Тенденции и проблемы развития свиноводства
- Тенденции и перспективы развития Европейского Союза
- Тенденции и перспективы развития информатики и вычислительной техники
- Тенденции и перспективы развития лизинга в России и за рубежом
- Тенденции и перспективы развития личного страхования
- Тенденции и перспективы развития логистики в России
- Тенденции и перспективы развития машин для основной обработки почвы
- Тенденции и перспективы развития международного сотрудничества Казахстана с другими государствами в области обеспечения экологическо