Professional Documents
Culture Documents
Тема3
Тема3
План
3.1. Поняття процесу. Визначення та структура
3.2. Потоки виконання. Визначення та структура
3.3. Стан процесів та потоків виконання
3.4. Реалізація потоків виконання
3.4.1. Потоки виконання в нерозподілених системах
3.4.2. Потоки виконання в розподілених системах
3.5. Особливості побудови розподіленої системи управління процесами на
основі моделі «клієнт-сервер»
3.6. Перенесення коду
3.6.1. Підходи до перенесення коду
3.6.2. Моделі перенесення коду
3.6.3. Перенесення і локальні ресурси
3.6.4. Перенесення коду в гетерогенних системах
3.6.5. Огляд перенесення коду в D'Agent
3.7. Програмні агенти
3.7.1. Програмні агенти в розподілених системах
3.7.2. Технологія агентів
3.7.3. Мови взаємодії агентів
Сегмент виконання
(поточний стан, стек,
лічильник)
Сегмент ресурсів
(посилання на файли,
пристрої, інші процеси)
Потік Потік
Ядро Ядро
Виконання
Очікування
Готовність
Процес А Процес Б
S1 S3
Операційна система
S2
S2
Багатопотокові клієнти
Щоб добитися високої міри прозорості розподілу, розподілені системи,
які працюють в глобальних мережах, можуть потребувати маскування
великих затримок повідомлень, курсуючих між процесами. Цикл затримки в
глобальних мережах легко може досягати порядка сотень мілісекунд, а часом
і секунд.
Традиційний спосіб приховати затримки зв'язку – ініціювавши
взаємодію, відразу розпочати виконання іншої задачі.
Приклад.
Типовим прикладом вживання цієї методики є web-браузери. У багатьох випадках
web-документ, що міститься у файлі формату HTML, містить, окрім тексту, набір
зображень, значків і тому подібне Для здобуття елементів web-документу браузер
відкриває з'єднання TCP/IP, читає дані, що поступають, і перетворить їх в компоненти
візуального представлення. Установка з'єднання, так само як і читання даних, є
блокуючими операціями. При роботі з повільними комунікаціями відчуваються
незручності, пов'язані з тим, що час, потрібний для завершення кожній з операцій, може
бути досить тривалим. Web-браузер зазвичай спочатку отримує сторінку HTML-кода, а
потім показує її. Для того, щоб по можливості приховати затримки зв'язку, деякі браузери
починають показувати дані у міру їх отримання. Коли текст з механізмами прокрутки стає
доступним користувачеві, браузер продовжує отримання останніх файлів, необхідних для
правильного відображення сторінки, таких як картинки. Таким чином, для того, щоб
побачити сторінку, користувач не повинен чекати отримання всіх її компонентів (рис. 3.5).
Запит з мережі
Запит з мережі
Запит з мережі
Модель Характеристики
Заступник
розмножує запити Репліка 1
Заступник Репліка 2
Репліка 3
Всі репліки
отримують однакове
звернення
Приклад.
Сервери, які обслуговують запити до FTP в Інтернеті, завжди працюють з портом 21.
HTTP-серверам World Wide Web завжди призначається TCP-порт 80. Ці кінцеві точки
визначені організацією призначення номерів Інтернету (Internet Assigned Numbers
Authority – IANA). Маючи призначені кінцеві точки, клієнтові досить знати мережеву
адресу тієї машини, на якій запущена служба. Для цієї мети використовуються служби
іменування.
Продовження
роботи
Клієнт Клієнт
Демон Суперсервер
Код об’єкту
(створює реалізацію
його методів)
Взаємодія клієнта
і сервера
Клієнт Сервер
Отримання коду
Збереження клієнтом
коду
Слабка мобільність
(переноситься
сегмент коду)
Виконання в
процесі-
прийомнику
Перенос
ініційований
відправником
Виконання в
процесі-отримувачі
Перенесення коду
Перенос процесу
Перенос
ініційований
відправником
Клонування
процесу
Сильна мобільність
(переноситься
сегмент коду і
виконання)
Перенос процесу
Перенос
ініційований
отримувачем
Клонування
процесу
Мітка повернення до
процедури А від
процедури Б
5 Агенти
2 Сервер
1 TCP/IP E-mail
для агентів
Здатність працювати
Автономність Так
незалежно від інших
Здатність своєчасно
Реактивність Так реагувати на зміни в своєму
оточенні
Здатність обмінюватися
Комунікативність інформацією з
Так
користувачами і іншими
агентами
Програма агент
Платформа агента
Міжплатформенний зв’язок
Приклад
Метою повідомлення може бути запит на надання отримувачем певної служби.
Також метою повідомлення може бути відповідь на раніше надіслане повідомлення із
запитом. Іншим прикладом мети повідомлення може бути повідомлення сторони, яка
приймає, про подію, яка сталася, або про пропозицію стосовно чогось в ході узгодження.
Приклад.
Так при запиті пропозиції шляхом повідомлення, що має в заголовку мету CFP,
одержувач насправді повинен буде послати пропозицію, за допомогою повідомлення з
метою PROPOSE. У цьому сенсі ACL дійсно визначає високорівневий комунікаційний
протокол для набору агентів.
Мета повідомлення
Поле відправника
Заголовок
Поле одержувача
Мова декодування
Реальні дані
Висновки