Transcript ***** 1

1.Мета та задачі дисципліни. Історична довідка.
2. Базові терміни та визначення курсу. Програмні і
апаратні платформи створення розподілених
систем (РС) на базі архітектури "client-server".
Трирівнева організація, взаємодія клієнтської та
серверної частини.
3. Особливості розподілених систем, які
визначають набір програмних технологій їх
розробки (розподіленість архітектури технічних
засобів, розподіленість виконуваних функцій,
розподіленість даних). Концепції побудови та
архітектури РС. Класифікація РС.
Визначення 1. Розподіленою системою
називається ряд з’єднаних центральних
процесорів (ЦПУ - CPU), що працюють разом.
 Визначення 2. Розподіленою системою
називається ряд машин з нерозділеною пам'яттю.
Надалі розподілені системи повинні
розглядатися в найбільш загальній формі.
Сюди відносяться всі різновиди клієнтсерверних систем, а також мультипроцесорні
системи, тобто системи, які складаються з вузлів та
можуть бути однопроцесорними або
мультипроцесорними.


Визначення 3. Розподілена система є системою із
просторово розподіленими компонентами, які не
використовують ніякої спільної пам'яті й не
підлягають децентралізованій адміністрації. Для
реалізації спільних цілей можлива кооперація
компонентів. Якщо цими компонентами
пропонуються послуги або використовуються
запропоновані послуги, то виникає клієнт-серверна
система, у випадку додаткового центрального
службового посередництва - “торгівельна” система (
Trading-Система).




Розподілена система — це набір незалежних
комп'ютерів, що уявляється користувачами
єдиною об'єднаною системою.
У цьому визначенні є два однаково важливі
моменти:
1) стосовно апаратури: всі машини автономні.
2) стосовно програмного забезпечення:
користувачам надається у користування єдина
система.


Мета:
- створення високопродуктивних
обчислювальних ресурсів
- управління інформаційними ресурсам
Основними завданнями розподіленої
системи є організація ефективного доступу
користувачів до інформаційних і
програмних ресурсів, а також ефективна
взаємодія як користувачів з ресурсами, так і
різних видів ресурсів між собою.



Відмова від централізації була викликано
чотирма тенденціями розвитку:
1. В останні десятиліття 20-го століття продуктивність мікропроцесорів
стрімко росла, а потужність керуючих чипів збільшувалась в чотири рази
кожні три роки. Безупинно зростаюча продуктивність при цінах і
габаритах, що зменшуються, утворювали основу для того, що усе більше
комп'ютерів могли працювати з усе більше складним програмним
забезпеченням.
2. Локальні мережі даних утворили економічну передумову того, щоб
зв'язувати персональні комп'ютери. Впровадження Ethernet-технології в
сімдесяті роки можна розглядати як першу технологію, що дозволила
побудувати розподілену систему, що працює під управлінням
програмного забезпечення, що забезпечувало можливість доступу до
різних апаратних і програмних ресурсів.


3. Прогрес в останні десятиліття в області програмних
технологій. Введення в мовах програмування таких
концепцій, як "процедура", "модуль" і "інтерфейс" створило
передумови для створення основних механізмів
розподілених систем. У результаті були створені технології
віддаленого виклику прикладних програм RPC (Remote
Procedure Call) і об’єктно-орієнтоване проектування
розподілених систем.
4. Одночасно в управлінні виробництвом спостерігається
відмова від строго ієрархічної побудови форм організації
робіт, що веде до децентралізації й створює плоскі
структури управління.
(D)WDM
SDH






Розподілені системи легко масштабуються. Нові вимоги до комп'ютерної системи
при розширенні підприємства можуть бути легко реалізованими.
Існуючі рішення інтегруються. Існуючі системи можуть використовуватися
системними компонентами, що по-новому приєдналися, без розробки по-новому
системи з новою функціональністю.
Поступове системне розширення мінімізує ризик перевантаження окремих
системних компонентів.
Організаційне управління потужністю розподіленої системи обумовлює ефективну
з погляду вартості реалізацію. При цьому система гнучка й легко адаптується.
Власник ресурсу має можливість самостійно управляти цим компонентом. Він
може вільно втручатися й реконфігурувати систему в своїх інтересах.
Окремі складові частини розподіленої системи повністю автономні. У випадку
помилки або навіть випадання одного з компонентів системи інші одиниці можуть
не перериваючись продовжувати роботу й, при необхідності, переборювати
виникаючі проблеми.




реалізація розподіленої системи вимагає більш
складного програмного забезпечення, чим
централізована система.
компоненти, що приєдналися до мережі цілком
можуть послужити причиною появи нових
додаткових збоїв при роботі системи.
з погляду захисту даних розподілені системи
досить ризиковані.
до спільних даних простіше здійснити доступ,
чим до розділених.
залежить відповідно від апаратного й
програмного забезпечення.
Класифікація, основана на апаратному
забезпеченні.
Важливо, яким чином окремі компоненти
розподіленої системи зв'язані один з одним і як
вони зв'язуються. Звідси можливі різні схеми
класифікації, поділ на:
послідовні («єдиний») і
паралельні («множинний») інструкції й потоки
даних,
що привело до виділення чотирьох класів
комп'ютерів.



1) класичний "von Neumann"- комп'ютер,
скорочується як SISD (Single Instruction
Single Data).
2) паралельні й розподілені архітектури з
MIMD (Multiple Instruction Multiple Data).
3-4) Змішані форми, що належать одному із
класів SIMD або, рідше, MISD.
З погляду архітектури комп'ютера,
розрізняють вільноз'єднані й сильнозв'язні
системи.
Прикладом вільноз'єднаної системи є два
комп'ютери, з'єднані модемом і телефонною
мережею.
Сильнозв'язні системи оснащені, як
правило, shared memory (поділюваною
пам’яттю). Їх називають мультипроцесорними.
Вони використовують паралельне рішення
окремого завдання, і можуть розглядатися
скоріше як система
Кожна із розглянутих категорій може на
основі структури мережі, яка
використовується, ділитися далі
- на шинно-базовані (окрема мережа,
кабель або інший засіб передачі інформації,
що зв'язує всі комп'ютери)
- switch-базовані (не мають у своєму
розпорядженні такої мережі)
З погляду архітектури комп'ютера, розрізняють
вільноз'єднані й сильнозв'язні системи.
Сильно зв’язана апаратура
Шиннобазовані
Swithбазовані
CPU
CPU
Пам’ять
CPU
CPU
Пам’ять
2x2-Crosspoint
Пам’ять
Вільно зв’язана апаратура
Локальна
Локальна
Пам’ять
CPU
Пам’ять
CPU
Локальна
Локальна
Пам’ять
CPU
Пам’ять
CPU
Локальна
Локальна
Пам’ять
CPU
Пам’ять
CPU
розрізняють по ступеню зв'язності
програмного забезпечення залежно від їх
архітектури на
вільно з'єднані та
сильно зв'язні.
Вільно з'єднане програмне забезпечення
дозволяє комп'ютерам і користувачам
розподіленої системи, по суті, виконувати
незалежну одну від іншої роботу й тільки в
деяких випадках - якщо буде потреба інтеграцію.
Сильно зв'язне програмне забезпечення
реалізує одну програму на різних
комп'ютерах одночасно.
Мережна операційна систем припускає,
що кожний користувач має свою власну
робочу станцію (Workstation) із власною
операційною системою. Комунікація
використовується в цьому випадку для
доступу до спільних файлів.
Мультипроцесорна операційна система
служить часто для спеціальних цілей, як,
наприклад, для системи банку даних.
1. Першим аспектом є просторова розподіленість компонент
розподіленої системи. Вони вступають у взаємодію або
локально або віддалено.
2. Компоненти розподіленої системи можуть працювати
паралельно, через що швидкість роботи зростає в порівнянні з
послідовною роботою.
3. Кожний стан компоненти розглядається локально, тобто з
погляду певного обчислювального процесу, запущеного з
локального робочого місця.
4. Компоненти працюють незалежно й можуть «випадати», не
руйнуючи систему в цілому, також незалежно одна від одної.
Розподілені системи підлягають, таким чином, частковому
системному «випаданню».
5. Система працює асинхронно. Процеси комунікації й
обробки не управляються глобальним системним часом.
Зміни й процеси синхронізуються.
6. У розподіленій системі функції управління розподіляються
між різними автономними компонентами. При цьому ніякий
окремий компонент не може здійснювати весь контроль. Це
гарантує певну міру автономії.
7. Розподілена система може утворюватися як об'єднання вже
існуючих систем. Отже, потрібне контекстно-повне
управління іменами, що дає можливість однозначно
інтерпретувати найменування (імена) в рамках
адміністративної або технологічної області. В такому
випадку говорять про федеративне управління іменами.
8. Щоб підвищити потужність розподіленої системи,
програми й дані можуть переміщатися між різними вузлами,
ця концепція називається міграцією. При цьому потрібно
використовувати додаткові механізми, які протоколюють
положення програм і даних.
9. Розподілена система повинна бути в змозі
використовувати динамічні зміни структури. Ця динамічна
реконфігурація потрібна, наприклад, тоді, коли протягом
певного часу повинні з'являтися нові з'єднання.
10. Архітектура комп'ютерів може використовувати різні
топології й механізми, зокрема, якщо апаратура надходить
від різних виробників. Ця характеристика називається
гетерогенністю.
11. Розподілена система підлягає еволюції, тобто за час її
життя відбуваються різні зміни.
12. Джерела відомостей, одиниці обробки й користувачі
можуть бути фізично мобільні. Програми й дані можуть
переміщатися між вузлами, для одержання мобільності
системи або збільшення потужності.
Вимоги, яким повинні задовольняти
розподілені системи:
 прозорість,
 відкритість,
 гнучкість,
 масштабованість,
 стійкість,
 безпека,
 ефективність.
1. Розподілені системи складаються з автономних
комп'ютерів, які працюють спільно, створюючи уявлення про
роботу у єдиній зв'язній системі. Їхня перевага полягає в
тому, що вони спрощують інтеграцію різних прикладних
програм, що працюють на різних комп'ютерах, у єдину
систему, добре масштабуються при їхньому правильному
проектуванні.
2. Розмір розподілених систем обмежується тільки розміром
базової мережі.
3. Поряд зі згаданими перевагами, реалізація розподілених
систем характеризується складністю програмного
забезпечення, падінням продуктивності й наявністю проблем
з безпекою.
4. Існують різні типи розподілених систем.
5. Розподілені операційні системи використовуються для
управління апаратним забезпеченням взаємозалежних
комп'ютерних систем, до яких відносяться мультипроцесорні й
гомогенні мультикомп’ютерні системи. Ці розподілені системи
насправді не складаються з автономних комп'ютерів, але
сприймаються у вигляді єдиної системи.
6. Мережні операційні системи, з іншого боку, ефективно
поєднують різні комп'ютери, що працюють під управлінням своїх
операційних систем, забезпечуючи користувачам доступ до
локальних служб кожного з вузлів. Однак мережні операційні
системи не створюють відчуття роботи з єдиною системою, що
характерно для розподілених операційних систем.
Апаратні рішення

Системи, у яких комп'ютери
використовують пам'ять спільно
називаються мультипроцесорами
(multiprocessors)

а ті, що працюють кожен зі своєю пам'яттю
— мультикомп’ютерами (multicomputers).

на основі мережі, яка їх з'єднує:
Частіше за все використовуються дві
архітектури
-шинна (bus)
-комутована (switched).
Під шиною розуміється одиночна мережа, плата, шина,
кабель або інше середовище, що з'єднує всі машини між
собою. Комутовані системи, на відміну від шинних, не
мають єдиної магістралі


Існує також поділ розподілених комп'ютерних систем на
гомогенні (homogeneous) і гетерогенні (heterogeneous).
Цей поділ стосується винятково мультикомп’ютерних
систем. Для гомогенних мультикомп’ютерних систем
характерна одна мережа, яка з'єднує комп'ютери та
використовує єдину технологію. Однакові також і всі
процесори, які в основному мають доступ до однакових
обсягів власної пам'яті. Гомогенні мультикомп’ютерні
системи нерідко використовуються в якості паралельних
(працюючих з одним завданням), за аналогією з
мультипроцесорними.
На відміну від гомогенних, гетерогенні мультикомп’ютерні
системи можуть містити цілий набір незалежних
комп'ютерів, з'єднаних різноманітними мережами.


Бажаною властивістю розподіленої системи
є можливість організації ефективного
обміну даними при взаємодії програмних
компонентів, які знаходяться на одному або
на різних комп'ютерах.
Основними програмними компонентами
розподілених систем є операційні системи
й системи проміжного рівня.
Система
Розподілені
операційні системи
Мережні
системи
Засоби
рівня
Опис
Основне призначення
Сильнозв'язні операційні системи для Приховання й управління апаратним
мультипроцесорів і гомогенних
забезпеченням
мультикомп’ютерних систем
операційні Слабкозв'язні операційні системи для Надання локальних служб
гетерогенних мультикомп’ютерних
віддаленим клієнтам
систем (локальних або глобальних
мереж)
проміжного Додатковий рівень поверх мережних Забезпечення прозорості розподілу
операційних систем, що реалізує
служби загального призначення
Запит
Сервер
Клієнт
Відповідь
Очікування результату
Клієнт
Запит
Відповідь
Сервер
Служба провайдера
Час
Користувач
Інтерфейс користувача
Логіка прикладної програми
Доступ до даних
База даних



рівень користувацького інтерфейсу - цей рівень
містить програми, за допомогою яких користувач
може взаємодіяти з прикладною програмою
рівень обробки - займається взаємодією з
користувачем, частини, що відповідає за роботу з
базою даних або файловою системою, і
середньої частини, що реалізує основну
функціональність прикладної програми
рівень даних - рівень даних у моделі клієнтсервер містить програми, які надають дані
прикладним програмам, що їх оброблюють


Системи з загальною памятью з точки зору програміста
привлекательно выглядят системы с общей памятью.
Разбитая на взаимодействующие процессы (нити)
программа в большинстве таких систем автоматически
распределяется по доступным процессорам системы.
С точки зрения системного администратора, система с
общей памятью привлекательна уже хотя бы потому,
что функционирует под единственной копией
операционной системы и не требует индивидуальной
настройки каждого процессорного узла.

Різні функції виконують певні архітектурно
розподілені функціональні блоки
(компоненти)
Користувач
ІП
Клієнтська
Клієнська
прикладна
прикладна
програма
програма
Сервер
Сервер
розпізнавання
розпізнавання
імен
імен
Ієрархія DNS серверів
Кореневий
зони
Сервер,
відповідальний за
домен



Розміщення даних відбувається на системі
поєднаних між собою мережевих дисків
Користувачу така система представляється
як цілісна та єдина
Ефективний взаємозв'язок інформації
відбувається з допомогою програмних
ресурсів систем управління базами даних


Розподілені системи дуже схожі на традиційні операційні
системи. Насамперед, вони працюють як менеджери
ресурсів (resource managers) існуючого апаратного
забезпечення, які допомагають багатьом користувачам і
прикладним програмам спільно використовувати такі
ресурси, як процесори, пам'ять, периферійні пристрої,
мережу й дані всіх видів. По-друге, що, імовірно, більш
важливо, розподілена система приховує складність і
гетерогенну природу апаратного забезпечення, на базі
якого вона побудована, надаючи віртуальну машину для
виконання прикладних завдань.
Основними програмними компонентами розподілених
систем є операційні системи й системи проміжного рівня.
Між модулями відсутній безпосередній обмін даними
Інтерфейс
операційної
системи
Системний
виклик
Прикладна
програма
Модуль
пам’яті
Модуль
процесу
Файловий
модуль
Режим
користувача
Режим ядра
Мікроядро
Апаратура