Добавлен: 29.06.2023
Просмотров: 114
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Определение и понятие распределенных систем
1.1 Предпосылки создания распределенных систем
1.2 Определение распределенных вычислений и распределенных систем
1.3 Терминология и схема работы распределенных систем
1.4 Классификация распределенных систем
1.5 Механизм реализации распределенной обработки данных
Глава 2. Основные задачи распределенной системы
Глава 3. Развитие распределенных систем
3.1 Первое поколение распределенных систем
3.2 Второе поколение распределенных систем
Введение
В наш век всемирной информатизации, информационные системы окружают нас повсюду. Мы сталкиваемся с ними, когда используем социальные сети, резервируем номера в гостинице или покупаем авиабилеты, делаем покупки в интернете, ищем информацию в поисковой системе. Примеров можно привести очень много.
Также информационные системы в современном мире являются неотъемлемой частью предприятий: от малого до самого крупного. Именно умелое использование достижений в сфере компьютерных информационных технологий зачастую влияют на конкурентоспособность предприятия. Современные предприятия представляют собой сложную систему с множеством составляющих частей - подразделений, ресурсов - которые находятся во взаимосвязи друг с другом. Подразделениям необходимо иметь возможность обмениваться друг с другом важной информацией. Часто организация представляет собой территориально распределенную структуру. От того, как быстро и слаженно взаимодействуют части предприятия, зависит успех всей организации. Именно поэтому возникает задача эффективного управления подразделениями, а также распределения и систематизации больших потоков информации, как внутри организации, так и за ее пределами.
В результате появления и развития высокоскоростных компьютерных сетей, сегодня возможно решить эту задачу посредством внедрения распределенных систем обработки данных. Целью распределенных информационных систем является оптимизация использования ресурсов и упрощение работы пользователя, а также обеспечение работы с данными, расположенными на разных серверах, различных аппаратно-программных платформах и хранящимися в различных форматах. В этом я вижу актуальность моей работы.
Целью моего исследования является изучение теоретических основ о распределенной системе и фундаментальных аспектов организации распределенной обработки данных, а также разбор основных задач и требований, предъявляемых к таким системам.
В соответствии с поставленной целью решались следующие основные задачи:
- изучить сущность и содержание основных понятий и категорий распределенных систем;
- выделить основные задачи, решение которых делает построение распределенных систем осмысленным;
- провести анализ проблем, возникающих в ходе проектирования и эксплуатации распределенных систем;
- изучить примеры распределенных информационных систем;
- сделать выводы о преимуществе распределенных систем.
Объектом изучения является общая система теоретических и концептуальных представлений об информационных системах в компьютерных сетях; область распределенных вычислений.
Предметом моей работы является изучение распределенной системы обработки данных и ее задач.
Одним из основных источников в написании своей работы я выбрала книгу «Распределенные системы. Принципы и парадигмы»[1]. Ее авторы Эндрю Таненбаум и Маартен ван Стеен детально описали принципы и технологию распределенных систем. Теоретическая часть сопровождена примерами реально действующих систем. Эндрю С. Таненбаум является профессором вычислительной техники, а также членом АСМ и IEEE; доктор Маартен ван Стеен ведет курсы по операционным системам, компьютерным сетям и распределенным системам.
Также основные понятия и концепции из области распределенных систем понятно описаны в пособиях М.С. Косякова [2], Л.Е. Карпова [3], О.П. Култыгина [4] и Г.И. Радченко [5].
Структура работы. Курсовая работа состоит из введения, трех глав, заключения и списка используемых источников.
В первой главе моей работы будут рассмотрены предпосылки создания распределенных систем, определение, терминология и классификация распределенных систем, а также несколько моделей взаимодействия между различными процессами.
Во второй главе работы будут рассмотрены основные задачи и требования, предъявляемые к распределенным системам.
В третьей главе будет рассматриваться история развития распределенных вычислений и некоторые примеры распределенных систем, а также выводы о преимуществе распределенных систем.
Глава 1. Определение и понятие распределенных систем
1.1 Предпосылки создания распределенных систем
В 1970-е годы предприятия начинают использовать информационные системы в качества средств управления производством. В большинстве информационные системы того времени создавались для решения определенного круга задач, которые четко определялись на начальном этапе и не изменялись в процессе жизни системы. Компьютеры были большими и очень дорогими, поэтому большинство организаций имели лишь несколько компьютеров, работающих независимо друг от друга, поскольку методы соединения компьютеров отсутствовали [1, стр. 22].
Однако в 1980-х годах появляются первые персональные компьютеры, доступные не только для предприятий, нон и для простых пользователей. Для персональных компьютеров разрабатывается множество различных информационных систем, и создаются базы данных для решения различных взаимосвязанных задач, когда данные предоставляются из различных источников. Наблюдался быстрый рост в сфере компьютерных технологий, компьютеры стали более доступными. Возросло понимание, что данные важнее, чем программа, которая их обрабатывает. Следовательно, данные должны быть надежно защищены, храниться долго и к ним нужно организовать доступ множества пользователей.
Толчком к развитию распределенных систем и баз данных также послужило появление и развитие высокоскоростных компьютерных сетей. Локальные сети соединяют сотни компьютеров, находящихся в одном помещении и образуют единое локальное пространство, в котором компьютеры обмениваются небольшим количеством информации за несколько микросекунд [4, стр.5]. С развитием глобальных сетей, объединяющих территориально рассредоточенные компьютеры, возможно находящиеся в различных городах и странах и позволяющих миллионам машин во всем мире обмениваться информацией, все больше информации предается между компьютерами[10, стр.28]. Остро встает вопрос согласованности данных, которые обрабатываются различными пользователями. Действительно, сегодня в мире существует огромное количество уже готовых к использованию информационных ресурсов, где можно найти нужные уже готовые компоненты для создания и разработки новых информационных систем. Необходим механизм, который позволит сделать независимо разработанные информационные ресурсы способными к взаимодействию.
Успешное решение этих задач привело к появлению распределенных систем управления базами данных, которые сохраняют преимущества ранее существовавших настольных СУБД, и в тоже время позволяют организовывать параллельную обработку информации и надежную поддержку целостности в базе данных.
1.2 Определение распределенных вычислений и распределенных систем
Теоретической основой для построения распределенных систем обработки данных являются распределенные вычисления. Область распределенных вычислений (англ. Distributed computing) представляет собой раздел теории вычислительных систем, изучающий теоретические вопросы организации распределенных систем (англ. distributed systems) [2, стр.8]. Задачей распределенных вычислений является создание алгоритма, который будет обеспечивать остающиеся процессы непротиворечивой информацией, благодаря чему они смогут взаимодействовать и решать общие задачи.
Существует множество определений распределенной системы, причем ни одно из них не является строгим или общепринятым. Вот некоторые из них.
В своем труде профессор Эндрю Таненбаум предлагает следующее определение:
«Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой» [1, стр.23].
Из этого определения следует, что все машины работают автономно, или независимо друг от друга, но пользователи думают, что имеют дело с единой системой. От пользователей скрыты способы связи между машинами и различия между ними. Пользователь представляет себя как единый субъект. Распределенная система предоставляет способ, при помощи которого пользователи и приложения единообразно работают, независимо от того где и когда происходит их взаимодействие. Вычислительная система может называться распределенной в том случае, когда для пользователей, она выглядит и ведет себя как классическая однопроцессорная система с разделением времени [3, стр.6].
Еще одно определение распределенной системе дал ученый Лесли Лэмпорт:
«Распределенной вычислительной системой можно назвать такую систему, в которой отказ компьютера, о существовании которого вы даже не подозревали, может сделать ваш собственный компьютер непригодным к использованию».
В этом определении Лесли также подчеркивает автономность работы компьютеров, но и их важную взаимосвязь. Помимо одновременного выполнения, некоторые процессы в распределенной системе могут прекратить работу, например в результате аварии или разрыва соединения, тогда как другие могут продолжать действовать. Само понятие такого частичного отказа является одной из характеристик распределенной системы. В действительности это понятие может пригодиться, когда возникнет необходимость обозначить отличие распределенной системы от параллельной системы[11, стр.19].
Еще некоторые определения распределенной системы:
- Распределенными системами называются программно-аппаратные системы, в которых исполнение операций (действий, вычислений), необходимых для обеспечения целевой функциональности системы, распределено (физически или логически) между разными исполнителями. В каждом исполнителе поддерживается свой поток управления исполнением операций [13, стр.1].
В этом определении авторы проводят различие между параллельными вычислениями и собственно распределенными системами. И действительно, сегодня все больше граница между этими понятиями стирается. В параллельных системах потоки управления используют общее пространство адресной памяти. Собственно распределенные системы, как правило, включают подсистемы, потоки управления которых обладают собственным адресным пространством, недоступным для потоков управления из других подсистем. В ещё более узком понимании распределенная система содержит подсистемы, которые физически распределены в пространстве, то есть функционируют на разнесенных в пространстве компьютерах [13, стр.1,2]
- Распределенная система - это взаимосвязанный набор автономных компьютеров, процессов или процессоров [9].
Компьютеры представляют собой автономные узлы, оборудованные своим собственным блоком управления. Узлы должны иметь возможность обмениваться информацией.
Распределенная обработка данных - это обработка данных, выполняемая на независимых, но связанных между собой компьютерах, представляющих распределенную систему. Системы, имеющие программы распределенной среды, включают компьютеры, называемые серверами и клиентами. Каждый сервер имеет свою группу клиентов. Программное обеспечение сетевой среды обслуживается и поддерживается сетевыми операционными системами. В роли сервера выступает главный, более мощный компьютер. При этом возможны несколько видов работ, которые он может выполнять: - удаленный запрос, например, команда, позволяющая посылать одиночную заявку на выполнение обработки данных; - удаленная трансакция, осуществляющая направление группы запросов прикладному процессу; - распределенная трансакция, дающая возможность использования нескольких серверов и прикладных процессов, выполняемых в группе абонентских систем. Распределенная среда требует организации распределенной базы данных и такого инструментария, как распределенная система управления базой данных (РСУБД) [12, стр.155].
Как видно из определений много, но из них можно выделить общие признаки, которыми должна обладать распределенная система:
- территориальное распределение компонентов системы, причем как объединение в глобальную сеть, так и кластер из рабочих станций,
- компьютеры, входящие в состав системы могут иметь различный состав и производительность, что обусловливает отсутствие общего времени выполнения задач,
- взаимодействие и обмен информации между компонентами системы [2, стр. 10,11].
1.3 Терминология и схема работы распределенных систем
Ресурсом можно считать любую сущность, представленную в системе. Это может быть компьютер, устройство хранения, производительность машин, емкость устройств и т.д. Эти ресурсы не обязательно должны быть сконцентрированы в одной вычислительной машине или системе. В соответствии с принципами совместной работы различных машин и систем при реализации распределенной обработки информации могут быть использованы ресурсы каждой из машин или систем.