![](/user_photo/2706_HbeT2.jpg)
- •Класифікація операційних систем:
- •Основні функції операційних систем:
- •Архітектура операційних систем
- •Особливості мережних операційних систем
- •Структура мережної операційної системи
- •Основні завдання мережної операційної системи:
- •Управління процесами: основні поняття
- •Управління процесами: контекст процесу
- •Організація планування паралельного виконання процесів
- •Організація та способи управління пам’яттю
- •Потоки управління
- •Різниця між сегментною та сторінковою організацією пам’яті
- •Управління пам’яттю: принцип локальності звертань
- •Автоматичне управління виділенням та звільненням пам’яті
- •Управління кількістю сторінок виділених процесу
- •Фізична організація пристроїв вводу/виводу
- •Організація програмного забезпечення вводу/виводу
- •Управління вводом/виводом: обробка переривань
- •Управління вводом/виводом: драйвери пристроїв
- •Поняття файлової системи
- •Іменування файлів (ієрархічна система імен)
- •Об’єкти файлової системи
- •Логічна та фізична організація файлу
- •Архітектури файлових систем
- •Технології однорангових комп’ютерних мереж
- •Основні проблеми організації роботи однорангових мереж
- •Прикладний рівень організації роботи однорангових мереж
- •Призначення та використання утиліти Process Explorer
- •Призначення та використання утиліти PsFile
- •Призначення та використання утиліти ShareEnum
- •Організація роботи розподілених систем
- •Основні задачі спз розподілених систем:
- •Обмін повідомленнями в розподілених системах
- •Віддалений виклик процедур (rpc – Remote Procedure Call)
- •Послідовність дій, що реалізує rpc:
- •Віддалений виклик методів (rmi)
- •Поняття реплікації та несуперечливості
- •Моделі несуперечливості, орієнтовані на дані
- •Моделі несуперечливості, орієнтовані на клієнта
- •Програмні агенти
- •Синхронізація в розподілених системах: централізовані служби часу
- •Синхронізація в розподілених системах: відмітки часу Лампорта
- •Алгоритми голосування в розподілених системах.
- •Голосування в розподілених системах: алгоритм забіяки.
- •Голосування в розподілених системах: алгоритм голосування на кільці.
- •Голосування в розподілених системах: рандомізований алгоритм голосування
- •25.Децентралізована синхронізація в розподілених системах
- •Децентралізована синхронізація
- •26.Іменування ресурсів в розподілених системах: розподілений простір імен
- •27.Ітеративна резолюція імен
- •28.Рекурсивна резолюція імен
- •29.Простір імен dns(Domain Name System)
- •30. Служби розподілених каталогів
- •31.Іменування та локалізація мобільних сутностей в розподілених системах
- •32.Локалізація мобільних сутностей на основі базової точки
- •33. Ієрархічна служба локалізації мобільних сутностей в розподілених системах
-
Віддалений виклик процедур (rpc – Remote Procedure Call)
Причина необхідності:
-
Відсутність потрібної функціональності.
-
Оптимізація обчислюваного процесу.
-
Оптимізація комунікаційного навантаження.
Послідовність дій, що реалізує rpc:
-
Програма клієнта викликає клієнтську заглушку.
-
Клієнтська заглушка створює повідомлення та викликає локальну ОС (назва процедури, що пересилати? куди? які параметри?).
-
ОС клієнта відсилає повідомлення віддаленій ОС.
-
Віддалена ОС передає повідомлення так званій серверній заглушці.
-
Серверна заглушка розпаковує повідомлення і викликає процедуру на сервері.
-
Сервер виконує процедуру і повертає результат серверній заглушці.
-
Серверна заглушка запаковує результат повідомлення і викликає свою локальну ОС.
-
ОС сервера відсилає повідомлення ОС клієнта.
-
ОС клієнта отримує повідомлення і передає його клієнтській заглушці.
-
Клієнтська заглушка розпаковує результат повідомлення і пересилає їх програмі.
Класичним прикладом є SunRPC I DCE RPC.
-
Віддалений виклик методів (rmi)
Цей механізм з’явився разом з ООП.
На відмінну від RPC замість client stub було створено proxy, а замість server stub створено skeleton.
Використовується у DCOM, java RMI, CORBA.
-
Поняття реплікації та несуперечливості
Поняття реплікації та несуперечливості включає в себе кешування.
Shared memory – спільна пам’ять.
Репліка (replica) – це копія деяких даних. Як правило кількість копій (реплік) необмежена.
Реплікація – це створення потрібної кількості реплік з метою підвищення продуктивності та надійності роботи системи.
Надійність: в разі виникнення помилки, помилкову копію можна замінити на вірну.
Продуктивність: для великої кількості процесів, що звертаються до одних і тих же даних за рахунок створення персональних копій різко зменшується час доступу. Копія даних розміщується поблизу процесу, що їх використовує.
Ціна, яку потрібно заплатити за підвищення надійності і продуктивності це розв’язання проблеми несуперечливості всіх реплік (копій даних).
Несуперечливість – це цілісність даних.
Кожний раз при змінах копії даних вона (копія) починає відрізнятися від усіх інших. Для забезпечення несуперечливості ці зміни треба перенести у всі інші копії. Як і коли треба переносити ці зміни визначає ціну реплікації.
Протиріччя: Реплікація підвищує продуктивність, а забезпечення несуперечливості зменшує.
Основна вимога до реалізації несуперечливості: операція читання повинна давати однаковий результат для кожної реплікації в часі та «просторі» розподіленої системи.
Ключова ідея підтримки несуперечливості: оновлення всіх реплік відбувається як атомарна операція.
-
Моделі несуперечливості, орієнтовані на дані
Distributed data store
Модель несуперечливості (consistency model) – це домовленість між процесами та банком даних, яка гарантує несуперечливість даних. Класифікація МН:
-
Жорстка несуперечливість (strict). Абсолютна впорядкованість у часі всіх звертань до пам’яті.
-
Лінеаризація. Усі процеси спостерігають (бачать) всі звертання до банку даних в одному і тому самому порядку і ці звертання впорядковані згідно логічного часу.
-
Послідовна модель. Аналогічно до 2, але звертання не впорядковані у логічному часі.
-
FIFO. Всі процеси бачать операції запису усіх інших процесів у порядку їх виконання. При цьому різні процеси можуть бачити різні послідовності.
-
Причинно-наслідкова.Усі процеси бачать усі звертання пов’язані причинно-наслідковими зв’язками в одному і тому самому порядку.
Жорстка синхронізація найточніша.
Лінеаризація менш жорстка.
Найбільш широко використовується послідовна модель.
FIFO і причинно-наслідкова – ослаблені моделі в яких відсутній глобальний контроль, в якій послідовності які операції виконувати.