В. Столлингс - Операционные системы (1114679), страница 126
Текст из файла (страница 126)
Кластеры 13.5. %'шлома 2000 С1ив1ег Берег 13.6. БЮЫ С1иа1ег 13.7. Кластеры Веоии1Е и Епшх 13.8. Резюме, ключевые термины и контрольные вопросы 13.9. Рекомендуемая литература 13.10. Задачи возрастанием доступности недорогих, но достаточно мощных персональных компьютеров и серверов усиливается тенденция к использованию распреде./ ленной обработки данных (Й1а1г1ЬШед даава ргосеэйпд — ВОР), при которой эцессоры, данные и другие составляющие систем обработки данных могут ть рассредоточены по всей организации. Системы ПОР включают разделение нкций компьютеров и могут также включать распределенную организацию ~ данных, управления устройствами и управление сетевым взаимодействием.
Во многих организациях широко используются персональные компьютеры, .диненные с сервером. Персональные компьютеры используются для поддержразличных пользовательских приложений, таких, как текстовые процессоры, ,ктронные таблицы или презентационная графика. Сервер хранит базы данх корпорации вместе со сложными системами управления базами данных и эграммиым обеспечением информационных систем. При этом необходимо ,спечить соединения как среди персональных компьютеров, так и между кажм персональным компьютером и сервером.
Для этого могут использоваться ~личные подходы — от рассмотрения персонального компьютера как простого ~минала до высокой степени интегрированности между приложениями персозьного компьютера и базой данных сервера. Это направление опирается на развитие возможностей операционных систем организации распределенных вычислений. Имеется ряд уровней поддержки :пределенных вычислений операционными системами. Сетевая архитектура.
Это программное обеспечение, которое поддерживает сеть независимых компьютеров и обеспечивает работоспособность таких распределенных приложений, как электронная почта„передача Файлов или доступ через удаленные терминалы. Компьютеры при этом, с точки зрения пользователя и приложений, остаются отдельными сущностями, взаимодействующими с другими компьютерами путем явного обращения к ним. Каждый компьютер имеет собственную операционную систему, что не исключает возможности использовать различные операционные системы и типы компьютеров при условии, что все машины в сети поддерживают одну и ту же сетевую архитектуру. Наиболее широко известным и используемым примером архитектуры может служить комплект протоколов ТСР/1Р. Сетевая операционная система.
Это конфигурация, состоящая из сети прикладных машин, обычно однопользовательских рабочих станций, и одного или нескольких серверов. Серверы обеспечивают сервис и приложения на Уровне сети, например хранение файлов или управление принтером. Каждый компьютер имеет собственную операционную систему; сетевая операционная система представляет собой просто дополнение к локальной операционной системе, позволяющее пользовательской машине взаимодействовать с серверами.
Пользователь осведомлен о наличии в сети независимых компьютеров и при необходимости работы с ними должен явно к ним обращаться. Как правило, для поддержки таких сетевых приложений используется обычная сетевая архитектура. Распределенная операционная система. Сеть компьютеров совместно использует общую операционную систему. С точки зрения пользователя„это выглядит как обычная централизованная операционная система. Распределенная операционная система обеспечивает прозрачный для пользователя доступ к ресурсам различных машин; для обеспечения основных сетевых функций эти системы могут использовать сетевую архитектуру, но обычно с целью повышения эффективности сокращенный набор сетевых функций встраивается в саму распределенную операционную систему.
Сетевые архитектуры хорошо разработаны и поддерживаются всеми произво дителями. Несмотря на то что сетевые операционные системы появились относи тельно недавно, в этой области имеется ряд коммерческих продуктов. Распреде ленные операционные системы представляют собой область интенсивного изучения и развития, и хотя имеются попытки создания коммерческих распределенных сис тем, полнофункциональные распределенные системы все еще находятся на стадии экспериментов.
В этой и следующей главе представлен обзор возможностей распределенных вычислений. Мы начнем с рассмотрения некоторых ключевых концепций рас пределенного программного обеспечения, включая архитектуру клиент/сервер, передачу сообщений и удаленный вызов процедур. После этого мы обратимся к архитектуре кластеров. В главе 14, "Управление распределенными процессами", рассматривается ряд ключевых аспектов распределенных операционных систем. Пожалуй, наиболее значительной тенденцией в развитии информационных систем за последние годы стал рост клиент-серверных систем, быстро вытесняющих как централизованные вычислительные системы с использованием мейнфреймов, так и другие подходы к распределенной обработке данных.
Этот раздел начинается с описания природы вычислений клиент/сервер, после чего мы рассмотрим различные пути организации клиент-серверных функций, а также вопросы согласованности кэшей, возникающие при использовании Файловых серверов. И, наконец, в этом разделе будет введено понятие связующего программного обеспечения (тпиЫ1еюаге). ЧтО таКОЕ аРХИтЕКтУРа КЛИЕНТ/СЕРВЕР Как и прочие новинки в области компьютеров, клиент-серверные вычисления имеют собственную терминологию.
В табл. 13.1 перечислены некоторые термины, обычно употребляемые при описании продуктов и приложений, в которых используется архитектура клиент~сервер. Таблица 13.1. Терминология архитектуры клиент/сервер Иитерфейс прикладиого программирования (Арр1!саМов Ргоатапппша' 1в1егГасе — АР1) Набор Функций и вызовов процедур, который обеспечивает взаимодействие между клиентами и серверами. Кзкент ~С1зепЦ Машина, обычно персональный компьютер или рабочая станция, запрашивающая информацию по сети. Как правило, это запрос к базе данных, но могут выполнятъся и запросы к сервер для получения другой инФормации. Часть 6.
Распределенные системы Глава 13. Распределенные вычисления, архитектура... Окончание табл. 13.1 4.*". ~а~ььЪ Рзбочм станция (клиент) Рис. 13.1. Архитектура клиект1гереер '%астъ:6. Распределенные системы аязующее программное обеспечение (пшкПеюаге) Множество драйверов, АР1 н другое программное обеспеченне, которое улучшает сяязь между приложением-клиентом н сервером. ~ляпнонная база данных (Ке)аь1опа1 Ра(аЬаае) Ваза данных, организация информации в которой использует таблицы н соответствующие операции для поиска данных.
»рнер (Яегчег) Кпмпыатер (абычно мощная рабочая станция, мини-компьютер нлн мейнфрейм), хранящий ннфармацню, с которой работают сетевые клиенты. аык структурированных запросов (Я1гпс$пгей снегу 1.апянаае — ЯЯ1.) Язык, разработанный в 1ВМ н стандартизованный АМЯ1 для адресации, создания, обновления нли выполнении запросов к реляционным базам данных. На рис. 13.1 сделана попытка изобразить суть концепции клиент/сервер. ак можно предположить из самого термина, среда клиент1сервер заполнена лиентами и серверами. В роли клиентов, как правило, выступают однопальзо1тельские персональные компьютеры или рабочие станции, обеспечивающие ружестненный интерфейс для конечного пользователя (обычно эта удобный зафический интерфейс, включающий использование окон и мыши).
Основная ель клиента — обеспечить простоту использования и возможность работы со лакомым инструментарием (например, электронными таблицами). Каждый сервер в среде клиент/сервер обеспечивает для клиентов мна:ества совместно используемых сервисов. Наиболее распространенный в на~оящее время тип сервера — сервер базы данных, обычно реляционной. ервер обеспечивает одновременный доступ к базе данных многих клиентов позволяет использовать для управления базой данных высокапраизвади.льную вычислительную систему.
В дополнение к клиентам и серверам третьим важным компонентом среды лиент/сервер является сеть. Вычисления клиент/сервер — эта распределенные ычисления. Пользователи, приложения и ресурсы распределены, например, в ютветствии с корпоративными требованиями и связаны между собой единой жальной или глобальной вычислительной сетью. Чем архитектура клиент/сервер отличается ат других решений распреденной обработки данных7 Имеется ряд характеристик, которыми система кли~т/сервер отличается ат обычной распределенной обработки данных.
° Особый упор делается на дружественные приложения, работающие на компьютере пользователя. Это удобно для пользователя и позволяет менеджеРам на уровне отделов более гибко и быстро реагировать на локальные нужды своих отделов. Хотя приложения и разнесены па разным системам, особое внимание в архитектуре клиент/сервер обращается на централизацию корпоративных баз данных и Функций управления сетью. Это позволяет управленческому персоналу на уровне корпорации управлять системой в целом, начиная ат капиталовложений в вычислительную технику и инФормационные системы и заканчивая обеспечением взаимодействия центральных систем для совместной эффективной работы.
Такая организация освобождает отдельные под- разделения ат накладных расходов на поддержку сложных вычислительных систем и предоставляет им свободу выбора типов компьютеров и интерфей сав для доступа к необходимым данным. » Архитектура клиент/сервер обеспечивает открытость и модульность систзи. Это означает, чта пользователь имеет большую возможность выбора программного обеспечения, а также возможность использовать в одной системе оборудование разных производителей.