- •Класифікація операційних систем:
- •Основні функції операційних систем:
- •Архітектура операційних систем
- •Особливості мережних операційних систем
- •Структура мережної операційної системи
- •Основні завдання мережної операційної системи:
- •Управління процесами: основні поняття
- •Управління процесами: контекст процесу
- •Організація планування паралельного виконання процесів
- •Організація та способи управління пам’яттю
- •Потоки управління
- •Різниця між сегментною та сторінковою організацією пам’яті
- •Управління пам’яттю: принцип локальності звертань
- •Автоматичне управління виділенням та звільненням пам’яті
- •Управління кількістю сторінок виділених процесу
- •Фізична організація пристроїв вводу/виводу
- •Організація програмного забезпечення вводу/виводу
- •Управління вводом/виводом: обробка переривань
- •Управління вводом/виводом: драйвери пристроїв
- •Поняття файлової системи
- •Іменування файлів (ієрархічна система імен)
- •Об’єкти файлової системи
- •Логічна та фізична організація файлу
- •Архітектури файлових систем
- •Технології однорангових комп’ютерних мереж
- •Основні проблеми організації роботи однорангових мереж
- •Прикладний рівень організації роботи однорангових мереж
- •Призначення та використання утиліти Process Explorer
- •Призначення та використання утиліти PsFile
- •Призначення та використання утиліти ShareEnum
- •Організація роботи розподілених систем
- •Основні задачі спз розподілених систем:
- •Обмін повідомленнями в розподілених системах
- •Віддалений виклик процедур (rpc – Remote Procedure Call)
- •Послідовність дій, що реалізує rpc:
- •Віддалений виклик методів (rmi)
- •Поняття реплікації та несуперечливості
- •Моделі несуперечливості, орієнтовані на дані
- •Моделі несуперечливості, орієнтовані на клієнта
- •Програмні агенти
- •Синхронізація в розподілених системах: централізовані служби часу
- •Синхронізація в розподілених системах: відмітки часу Лампорта
- •Алгоритми голосування в розподілених системах.
- •Голосування в розподілених системах: алгоритм забіяки.
- •Голосування в розподілених системах: алгоритм голосування на кільці.
- •Голосування в розподілених системах: рандомізований алгоритм голосування
- •25.Децентралізована синхронізація в розподілених системах
- •Децентралізована синхронізація
- •26.Іменування ресурсів в розподілених системах: розподілений простір імен
- •27.Ітеративна резолюція імен
- •28.Рекурсивна резолюція імен
- •29.Простір імен dns(Domain Name System)
- •30. Служби розподілених каталогів
- •31.Іменування та локалізація мобільних сутностей в розподілених системах
- •32.Локалізація мобільних сутностей на основі базової точки
- •33. Ієрархічна служба локалізації мобільних сутностей в розподілених системах
-
Алгоритми голосування в розподілених системах.
В децентралізованих розподілених системах, в яких відсутній зовнішній годинник, виникає потреба у виборі головного годинника між рівними, цей вибір називається – голосування.
Необхідні умови для здійснення голосування:
-
кожний вузол знає кількість інших вузлів N;
-
кожний вузол має ідентифікатор (наприклад MAC-адресу);
-
всі вузли поєднанні між собою каналами зв’язку;
Приклади алгоритмів голосування в розподілених системах:
-
алгоритм забіяки;
-
алгоритм голосування на кільці;
-
рандомізований алгоритм голосування;
-
Голосування в розподілених системах: алгоритм забіяки.
Усі вузли мають ID і знають ID інших вузлів. Схема вузлів кожний з кожним.
Алгоритм:
-
Вузол, який претендує на лідерство розсилає усім іншим вузлам, з номерами більшими за його, повідомлення у голосуванні.
-
Якщо йому ніхто не відповів то він стає лідером і повідомляє про це усім іншим клієнтам. Інакше, якщо він отримав відповідь «ОК» то він не стає лідером.
-
Агент, який отримав повідомлення про голосування, відсилає агенту який прислав повідомлення, відповідь «ОК» і виконує п.п. 1,2
Характеристика: в такий спосіб буде вибрано вузол-лідер (вузол з найбільшим номером) за скінчений час.
-
Голосування в розподілених системах: алгоритм голосування на кільці.
Алгоритм:
-
Всі вузли мають ID і поєднанні в кільце з 2-ома сусідніми вузлами.
-
Якщо номер отриманий від свого сусіда більший за власний, тоді він пересилає його по кільцю. Якщо свій номер більший, тоді пересилає свій номер по кільцю (іншому з двох сусідніх вузлів).
-
Якщо вузол отримав свій ID то він лідер в даній групі вузлів і повідомляє інші вузли групи про те що він лідер.
-
Голосування в розподілених системах: рандомізований алгоритм голосування
Необхідні умови:
-
Вузли не мають ID.
-
Всі вузли взаємодіють по одно-направленій кільцевій схемі.
-
Кількість вузлів N відома усім вузлам.
Опис алгоритму:
-
Кожен вузол може знаходитись в станах S0, SR. Якщо вузол перейшов в стан S0, тоді свій номер рівний 0. Якщо в стан SR, тоді номер вибирається випадково в межах [1,N].
-
Алгоритм виконується циклами по N-тактів. В кожному такті вузол передає свій номер та ном. Отр. від сус. вузл, далі до іншого сусіднього вузла.
-
Після N-тактів роботи, кожен вузол отримав масив з N-номерів. Якщо в цьому масиві є один номер більший за всі інші номери, тоді вузол під цим номером стає лідером.
-
Якщо таких найбільших номерів є декілька, то всі вузли з цим номером залишаються в стані SR, а інші вузли переходять в стан S0. І цикл алгоритму продовжується для вузлів в стані SR.
25.Децентралізована синхронізація в розподілених системах
Це варіант, коли зовнішній годинник відсутній і треба за скінченну кількість тактів встановити локальний таймер в одне локальне значення.
Як синхронізувати цілком однакові вузли, які не мають затримки:
Задача синхронізації ланцюжку стрільців(Джона Майхілла)
Децентралізована синхронізація
S0 – початковий стан в якому знаходяться всі вузли; S – стан попередньої готовності.
Агенти між собою обмінюються сигналами з різною «швидкістю»(з якою затр. вузол який передав сигнал передасть повідомлення іншому вузлу)
Крайній вузол відправляє в ланцюжок одночасно 2 сигнали ”а1” та ”а3” при цьому специфічно поводиться крайній вузол, він їх віддзеркалить (після цього крайній вузол при отриманні сигналу ”а” переходить в стан S1).
Всі інші вузли виконують такий алгоритм:
-
Якщо отриманий 1 сигнал, то передати його далі по ланцюжку;
-
Якщо отримано 2-ва сигнали то віддзеркалити їх, і передати далі по ланцюжку, а також перейти в стан S;
-
Якщо даний вузол і 2 його сусіди знаходяться в стані, S то зробити потрібну дію (зробити «постріл»).