Тенденции и перспективы развития распределенных операционных сред

Автор работы: Пользователь скрыл имя, 18 Февраля 2013 в 19:03, реферат

Описание

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

Работа состоит из  1 файл

Тенденции и перспективы развития распределенных операционных сред.docx

— 53.21 Кб (Скачать документ)

Тенденции и перспективы развития распределенных операционных сред.

 

Сетевые и распределенные ОС.

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

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

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

Работая в среде сетевой ОС, пользователь хотя и может запустить задание на любой машине компьютерной сети, всегда знает, на какой машине выполняется его задание. По умолчанию пользовательское задание выполняется на той машине, на которой пользователь сделал логический вход. Если же он хочет выполнить задание на другой машине, то ему нужно либо выполнить логический вход в эту машину, используя команду типа 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. Схема «файловый  сервер».

В сети имеется достаточно мощный компьютер, имеющий дисковую подсистему большого объема, который  хранит файлы, доступ к которым необходим  большому числу пользователей. Этот компьютер играет роль файлового  сервера, представляя собой центализованное хранилище данных, находящихся в разделяемом доступе. Распределенное приложение в этой схеме мало отличается от полностью локального приложения. Единственным отличием является обращение к удаленным файлам вместо локальных. Файловый сервер представляет собой компонент наиболее популярной сетевой службы – сетевой файловой системы, которая лежит в основе многих распределенных приложений и некоторых других сетевых служб. Первые сетевые ОС (Net Ware компании Novell, IBM PC LAN Program, Microsoft MS-Net) обычно поддерживали две сетевые службы – файловую службу и службу печати, оставляя реализацию остальных функций разработчикам рапределенных приложений.

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

- во многих случаях  резко возрастает сетевая нагрузка, что приводит к увеличению  времени реакции приложения;

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

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

Рис.3.1.3. Смешанная схема.

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

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

 

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

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

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

Рис.3.1.4. Трехзвенная схема.

 

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

Примером такой схемы  может служить неоднородная архитектура, включающая клиентские компьютеры под  управлением Windows 95/98, сервер приложений с монитором тразакций TUXEDO в среде Solaris на компьютере компании Sun Microsystems и сервер баз данных Oracle в среде Windows 2003.

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

 

 

§ 3.2. Сетевые модели.

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

В любой сетевой ОС имеется  подсистема передачи сообщений, называемая транспортной подсистемой, позволяющая  процессам на разных компьютерах  взаимодействовать между собой. Транспортная подсистема сетевой ОС имеет сложную структуру, отражающую структуру семиуровневой модели взаимодействия открытых систем (Open System Interconection, OSI).

Сетевая модель OSI.

Информация о работе Тенденции и перспективы развития распределенных операционных сред