- •Класифікація операційних систем:
- •Основні функції операційних систем:
- •Архітектура операційних систем
- •Особливості мережних операційних систем
- •Структура мережної операційної системи
- •Основні завдання мережної операційної системи:
- •Управління процесами: основні поняття
- •Управління процесами: контекст процесу
- •Організація планування паралельного виконання процесів
- •Організація та способи управління пам’яттю
- •Потоки управління
- •Різниця між сегментною та сторінковою організацією пам’яті
- •Управління пам’яттю: принцип локальності звертань
- •Автоматичне управління виділенням та звільненням пам’яті
- •Управління кількістю сторінок виділених процесу
- •Фізична організація пристроїв вводу/виводу
- •Організація програмного забезпечення вводу/виводу
- •Управління вводом/виводом: обробка переривань
- •Управління вводом/виводом: драйвери пристроїв
- •Поняття файлової системи
- •Іменування файлів (ієрархічна система імен)
- •Об’єкти файлової системи
- •Логічна та фізична організація файлу
- •Архітектури файлових систем
- •Технології однорангових комп’ютерних мереж
- •Основні проблеми організації роботи однорангових мереж
- •Прикладний рівень організації роботи однорангових мереж
- •Призначення та використання утиліти Process Explorer
- •Призначення та використання утиліти PsFile
- •Призначення та використання утиліти ShareEnum
- •Організація роботи розподілених систем
- •Основні задачі спз розподілених систем:
- •Обмін повідомленнями в розподілених системах
- •Віддалений виклик процедур (rpc – Remote Procedure Call)
- •Послідовність дій, що реалізує rpc:
- •Віддалений виклик методів (rmi)
- •Поняття реплікації та несуперечливості
- •Моделі несуперечливості, орієнтовані на дані
- •Моделі несуперечливості, орієнтовані на клієнта
- •Програмні агенти
- •Синхронізація в розподілених системах: централізовані служби часу
- •Синхронізація в розподілених системах: відмітки часу Лампорта
- •Алгоритми голосування в розподілених системах.
- •Голосування в розподілених системах: алгоритм забіяки.
- •Голосування в розподілених системах: алгоритм голосування на кільці.
- •Голосування в розподілених системах: рандомізований алгоритм голосування
- •25.Децентралізована синхронізація в розподілених системах
- •Децентралізована синхронізація
- •26.Іменування ресурсів в розподілених системах: розподілений простір імен
- •27.Ітеративна резолюція імен
- •28.Рекурсивна резолюція імен
- •29.Простір імен dns(Domain Name System)
- •30. Служби розподілених каталогів
- •31.Іменування та локалізація мобільних сутностей в розподілених системах
- •32.Локалізація мобільних сутностей на основі базової точки
- •33. Ієрархічна служба локалізації мобільних сутностей в розподілених системах
-
Моделі несуперечливості, орієнтовані на клієнта
Це специфічний випадок, коли система нечутлива до відносно високого ступеня порушення несуперечливості.
Наприклад: корпоративні СУБД, WWW.
Зазвичай в таких системах досить довго не відбувається зміна даних і всі репліки поступово стають несуперечливими. Ця модель називається потенційною несуперечливістю.
Основні проблеми в цьому випадку виникають з мобільними клієнтами, які час від часу змінюють точку підключення.
-
Способи організації обчислень в розподілених системах
-
модель клієнт-сервер
-
віддалені обчислення(аналог клієнт-серверної моделі з універсальним сервером)
-
GRID-computing
Однорідні(потужність ~ однакова)
Неоднорідні(різні потужності)
-
Модель віртуального обчислення
-
Cloud computing
-
Паралельна віртуальна машина (PVM)
host pool
-
Інтерфейс передачі повідомлень (MPI)
1 процес може бути одночасно у декількох групах.
Групи процесів
Перша версія – 95
Остання версія МРІ – 97р.
-
Концепція адаптивного паралелізму
Ідея: програмі передають повноваження
-
по створенню необхідної кількості паралельних процесів (з врахуванням ресурсів і задачі)
-
по вибору: де і коли запускати ці процеси
m
host1
retread()
host2
host
n Piranha
– одна із перших
реалізацій
-
Концепція переносу коду
Концепція переносу коду – на противагу переносу даних, це переміщення виконавчого коду з 1 вузла на інший.
Принципи переносу коду:
-
Підвищення обчислювальної продуктивності.
-
Оптимізація мережного трафіка.
-
Забезпечення гнучкості.
В програмі можна розрізнити сегмент коду, сегмент ресурсів, сегмент виконання.
Моделі переносу коду:
-
Модель слабкої мобільності (переноситься лише сегмент коду java applets)
-
Модель сильної мобільності (одночасно переносяться сегмент коду та сегмент виконання)
-
Перенос коду ініційований відправником
SQL-запит
-
Перенос коду, ініційований отримувачем коду.
-
Програмні агенти
Програмні агенти (software agents) – це програма, яка діє цілеспрямовано в умовах нестачі інформації або невизначеності.
-
Синхронізація в розподілених системах: централізовані служби часу
Кожна машина має свій власний таймер, який час від часу синхронізується з показами глобального годинника. Існують міжнародні глобальні служби часу, які видають стандартний найбільш точний час.
GMT – Grinwich meridian time
UTC – Universal Coordinated Time
Є механізм корегування показів UTC до астрономічного часу.
International Atomac Time
Узагальнена схама централізованої синхронізації
Зовнішній
годинник
-
Синхронізація в розподілених системах: відмітки часу Лампорта
В логічному часі на відміну від фізичного важлива лише послідовність подій, а не точний час їх виникнення.
а в
t
Предекат Лампорта ставить 1 подію перед іншою.
Всі процеси згідні з тим, що з початку відбулася подія а, а пізніше в. В розподіленій системі це означає:
-
а і в події, які відбулися в 1 процесі, то
а –>в істина
-
якщо а - це відправка повідомлення, в – отримання цього повідовлення, то
а –> в істина
Якщо для 2 подій не виконуються умови 1 і 2, то вони називаються паралельними.
Транзитивність:
а –>в в –>с, то а –>с .
Відмітки часу Лампорта – це цілі числа, які ставляться у відповідність події.
Алгоритм Лампорта (присвоєння відміток):
-
Будь яким двом подіям в 1 процесі призначаються відмітки, різняться хоча б на 1.
-
Кожне повідомлення супроводжується відміткою Лампорта відправника.
-
Якщо ця відмітка більша за показ логічного годинника отримувача, то він встановлюється в це значення.
Векторні відмітки часу додатково враховують причинно-наслідкові зв’язки.