Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы), страница 4
Описание файла
PDF-файл из архива "Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)", который расположен в категории "". Всё это находится в предмете "распределенные операционные системы" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 4 страницы из PDF
Локальные сети {Local-Area Networks, LAN) соединяют сотни компьютеров,находящихся в здании, таким образом, что машины в состоянии обмениваться1.1. Определение распределенной системы23небольшими порциями информации за несколько микросекунд. Большие массивы да1И1ых передаются с машины на машину со скоростью от 10 до 1000 Мбит/с.Глобальные сети (Wide-Area Networks, WAN) позволяют миллионам машин вовсем мире обмениваться информацией со скоростями, варьирующимися от64 кбит/с (килобит в секунду) до гигабит в секунду.В результате развития этих технологий сегодня не просто возможно, но и достаточно легко можно собрать компьютерную систему, состоящую из множествакомпьютеров, соединенных высокоскоростной сетью. Она обычно называетсякомпьютерной сетью, или распределенной системой {distiibuted system), в отличие от предшествовавших ей централизованнъих {centralized systems), или однопроцессорных {single-processor systems), систем, состоявших из одного компьютера, его периферии и, возможно, нескольких удаленных терминалов.1 .
1 . Определение распределеннойсистемыв литературе можно найти различные определения распределенных систем, причем ни одно из них не является удовлетворительным и не согласуется с остальными. Для наших задач хватит достаточно вольной характеристики.Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой.В этом определении оговариваются два момента. Первый относится к аппаратуре: все машины автономны. Второй касается программного обеспечения: пользователи думают, что имеют дело с единой системой. Важны оба момента.
Позжев этой главе мы к ним вернемся, но сначала рассмотрим некоторые базовые вопросы, касающиеся как аппаратного, так и программного обеспечения.Возможно, вместо того чтобы рассматривать определения, разумнее будет сосредоточиться на важных характеристиках распределенных систем. Первая из таких характеристик состоит в том, что от пользователей скрыты различия междукомпьютерами и способы связи между ними. То же самое относится и к внешнейорганизащп! распределенных систем.
Другой важной характеристикой распределенных систем является способ, при помощи которого пользователи и приложения едрпюобразно работают в распределенных системах, независимо от того, гдеи когда происходит их взаимодействие.Распределенные системы должны также относительно легко поддаваться расширению, или масштабированрпо. Эта характеристика является прямым следствием наличия независимых компьютеров, но в то же время не указывает, каким образом эти компьютеры на самом деле объединяются в едгпгую систему.Распределенные системы обычно существуют постоянно, однако некоторые ихчасти могут временно выходить из строя. Пользователи и приложения не должны уведомляться о том, что эти части заменены или починены или что добав-24Глава 1.
Введениелены новые части для поддержки дополнительных пользователей или приложений.Для того чтобы поддержать представление различных компьютеров и сетейв виде единой системы, организация распределенных систем часто включаетв себя дополнительный уровень программного обеспечения, находящийся междуверхним уровнем, на котором находятся пользователи и приложения, и нижнимуровнем, состоящим из операционных систем, как показано на рис.
1.1. Соответственно, такая распределенная система обычно называется системой промежуточного уровня (middleware).Машина ВМашина АМашина СРаспределенные приложенияСлужба промежуточного уровняЛокальная ОСЛокальная ОСЛокальная ОССетьРис. 1 . 1 . Распределенная система организована в виде службы промежуточного уровня.Отметим, что промежуточный уровень распределен среди множества компьютеровВзглянем теперь на некоторые примеры распределенных систем.
В качествепервого примера рассмотрим сеть рабочих станций в университете или отделекомпании. Вдобавок к персональной рабочей станции каждого из пользователейимеется пул процессоров машинного зала, не назначенных заранее ни одному изпользователей, но динамически выделяемых им при необходимости. Эта распределенная система может обладать единой файловой системой, в которой всефайлы одинаково доступны со всех машрш с использованием постоянного путидоступа. Кроме того, когда пользователь набирает команду, система может найтинаилучшее место для выполнения запрашиваемого действия, возможно, на собственной рабочей станции пользователя, возможно, на простаивающей рабочейстанции, принадлежащей кому-то другому, а может быть, и на одном из свободных процессоров машинного зала. Если система в целом выглядит и ведет себякак классическая однопроцессорная система с разделением времени (то естьмногопользовательская), она считается распределенной системой.
В качестве второго примера рассмотрим работу информационной системы, которая поддерживает автоматическую обработку заказов. Обычно подобные системы используютсясотрудниками нескольких отделов, возможно в разных местах. Так, сотрудникиотдела продаж могут быть разбросаны по обширному региону или даже по всейстране.
Заказы передаются с переносных компьютеров, соединяемых с системойпри помощи телефонной сети, а возможно, и при помощи сотовых телефонов.Приходящие заказы автоматически передаются в отдел планирования, превращаясь там во внутренние заказы на поставку, которые поступают в отдел достав-1.2. Задачи25ки, и в заявки на оплату, поступающие в бухгалтерию. Система автоматическипересылает эти документы имеющимся на месте сотрудникам, отвечающим за ихобработку. Пользователи остаются в полном неведении о том, как заказы на самом деле курсируют внутри системы, для них все это представляется так, будтовся работа происходит в централизованной базе данных.В качестве последнего примера рассмотрим World Wide Web.
Web предоставляет простую, целостную и единообразную модель распределенных документов. Чтобы увидеть документ, пользователю достаточно активизировать ссылку.После этого документ появляется на экране. В теории (но определенно не в текущей практике) нет необходимости знать, с какого сервера доставляется документ,достаточно лишь информации о том, где он расположен.
Публикация документаочень проста: вы должны только задать ему уникальное имя в форме унифицированного указателя ресурса {Uniform Resouixe Locator, URL), которое ссылается налокальный файл с содержимым документа. Если бы Всемирная паутина представлялась своим пользователям гигантской централизованной системой документооборота, она также могла бы считаться распределенной системой. К сожалению, этот момент еще не наступил. Так, пользователи сознают, что документынаходятся в различных местах и распределены по различным серверам.1.2. ЗадачиВозможность построения распределенных систем еще не означает полезностьэтого.
Современная технология позволяет подключить к персональному компьютеру четыре дисковода. Это возможно, но бессмысленно. В этом разделе мы обсудим четыре важных задачи, решение которых делает построение распределенныхсистем осмысленным. Распределенные системы могут легко соединять пользователей с вычислительными ресурсами и успешно скрывать тот факт, что ресурсыразбросаны по сети .и могут быть открытыми и масштабируемыми.1 . 2 . 1 . Соединение пользователейс ресурсамиОсновная задача распределенных систем — облегчить пользователям доступк удаленным ресурсам и обеспечить их совместное использование, регулируяэтот процесс.
Ресурсы могут быть виртуальными, однако традиционно они включают в себя принтеры, компьютеры, устройства хранения данных, файлы и данные. Web-страницы и сети также входят в этот список. Существует множествопричин для совместного использования ресурсов. Одна из очевидных — это экономичность. Например, гораздо дешевле разрешить совместную работу с принтером нескольких пользователей, чем покупать и обслуживать отдельный принтердля каждого пользователя. Точно так же имеет смысл совместно использоватьдорогие ресурсы, такие как суперкомпьютеры или высокопроизводительные хранилища данных.26Глава 1.
ВведениеСоединение пользователей и ресурсов также облегчает кооперацию и обменинформацией, что лучше всего иллюстрируется успехом Интернета с его простыми! протоколами для обмена файлами, почтой, документами, аудио- PI видеоинформацией. Связь через Интернет в настоящее время привела к появлениюмногочисленных виртуальных организаций, в которых географически удаленные друг от друга группы сотрудников работают вместе при помощи системгрупповой работы (groupware) — программ для совместного редактирования документов, проведения телеконференций и т. п. Подобным же образом подключение к Интернету вызвало к жизни электронную коммерцию, позволяющую нампокупать и продавать любые виды товаров, обходясь без реального посещениямагазина.Однако по мере роста числа подключений и степени совместного использования ресурсов все более и более важными становятся вопросы безопасности.
В современной практике системы имеют слабую защиту от подслушивания иливторжения по линиям связи. Пароли и другая особо важная информация частопересылаются по сетям открытым текстом (то есть незашифрованными) илихранятся на серверах, надежность которых не подтверждена ничем, кроме нашейверы. Здесь имеется еще очень много возможностей для улучшения.
Так, например, в настоящее время для заказа товаров необходимо просто сообщить номер своей кредитной карты. Редко требуется подтверждерпте того, что покупатель деР1Ствительно владеет этой картой. В будущем заказ товара таким образомбудет возможен только в том случае, если вы сможете физически подтвердитьфакт обладания этой картой при помощи считывателя карт.Другая проблема безопасности состоит в том, что прослеживание коммуникацийпозволяет построить профиль предпочтений конкретного пользователя [485].Подобное отслеживание серьезно нарушает права личности, особенно если производится без уведомления пользователя. Связанная с этим проблема состоитв том, что рост подключений ведет к росту нежелательного общегпш, такого какполучаемые по электронной почте бессмысленные письма, так называемый спам.Единственное, что мы можем сделать в этом случае, это защитить себя, используя специальные информационные фильтры, которые сортируют входящие сообщения на основании их содержимого.1.2.2.
ПрозрачностьВажная задача распределенных систем состоит в том, чтобы скрыть тот факт, чтопроцессы и ресурсы физически распределены по множеству компьютеров. Распределенные сргстемы, которые представляются пользователям и приложениямв виде единой компьютерной системы, называются прозрачными {transparent).Рассмотрим сначала, как прозрачность реализуется в распределенных системах,а затем зададимся вопросом, зачем вообще она нужна.Прозрачность в распределенных системахКонцепция прозрачности, как видно из табл.
1.1, применима к различным аспектам распределенных систем [210].1.2. Задачи27Т а б л и ц а 1 . 1 . Различные ф о р м ы прозрачности в распределенных системахПрозрачностьОписаниеДоступСкрывается разница в представлении данныхи доступе к ресурсамМестоположениеСкрывается местоположение ресурсаПереносСкрывается факт перемещения ресурса в другое местоСмена местоположенияСкрывается факт перемещения ресурса в процессеобработки в другое местоРепликацияСкрывается факт репликации ресурсаПараллельный доступСкрывается факт возможного совместного использованияресурса несколькими конкурирующими пользователямиОтказСкрывается отказ и восстановление ресурсаСохранностьСкрывается, хранится ресурс (программный) на дискеили находится в оперативной памятиПрозрачность доступа {access transparency) призвана скрыть разницу в представлении данных и в способах доступа пользователя к ресурсам.