Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
всі білети.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
695.81 Кб
Скачать

Міжпроцесова взаємодія. Методи розподілюваної пам'яті. Методи передавання повідомлень.

Реалізація міжпроцесової взаємодії здійснюється трьома основними методами: передавання повідомлень, розподілюваної пам'яті та відображуваної пам’яті.

Методи розподілюваної пам’яті (shared memory) дають змогу двом процесам об­мінюватися даними через загальний буфер пам’яті. Перед обміном даними кож­ний із тих процесів має приєднати цей буфер до свого адресного простору з ви­користанням спеціальних системних викликів (перед цим перевіряють права). Буфер доступний у системі за допомогою процедури іменування, термін його іс­нування звичайно обмежений часом роботи всієї системи. Дані в ньому фактично є спільно використовуваними, як і для потоків. Жодних засобів синхронізації доступу до цих даних розподілювана пам’ять не забезпечує, програміст, так само, як і при розробці багатопотокових застосувань, має організовувати її сам.

В основі методів передавання повідомлень (message passing) лежать різні техно­логії, що дають змогу потокам різних процесів (які, можливо, виконуються на різ­них комп’ютерах) обмінюватися інформацією у вигляді фрагментів даних фіксо­ваної чи змінної довжини, котрі називають повідомленнями (messages). Процеси можуть приймати і відсилати повідомлення, при цьому автоматично забезпечу­ється їхнє пересилання між адресними просторами процесів одного комп’ютера або через мережу. Важливою особливістю технологій передавання повідомлень є те, що вони не спираються на спільно використовувані дані — процеси можуть обмінюватися повідомленнями, навіть не знаючи один про одного.

Взаємодія потоків. Концепція монітора.

Монітором називають набір функцій, які використовують один загальний м’ютекс і нуль або більше умовних змінних для керування паралельним доступом до спільно використовуваних даних відповідно до певних правил. Функції цього набору називають функціями монітора. Ось правила, яких слід дотримуватися у разі реалізації монітора. Під час входу в кожну функцію монітора потрібно займати м’ютекс, під час ви­ходу — звільняти. Отже, у кожний момент часу тільки один потік може перебу­вати всередині монітора (під яким розуміють сукупність усіх його функцій). Під час роботи з умовною змінною (і під час очікування, і під час сигналізації) необхідно завжди вказувати відповідний м’ютекс. Не можна працювати з умов­ними змінними, якщо м’ютекс незайнятий. Під час перевірки на виконання умови очікування потрібно використати цикл, а не умовний оператор.

Ідея монітора була вперше запропонована в 1974 році відомим ученим у галу­зі комп'ютерних наук Ч. А. Хоаром. Монітор часто розуміють як високорівневу конструкцію мови програмування (як приклад такої мови звичайно наводять Java), а саме як набір функцій або методів класу, всередині яких автоматично збері­гається неявний загальний м’ютекс разом із операціями очікування і сигналізації. Насправді, як ми бачимо, концепція монітора може ґрунтуватися на базових при­мітивах - м’ютексах і умовних змінних - і не повинна бути обмежена якоюсь однією мовою.

Основи технології віртуальної пам'яті. Сторінкова організація пам'яті. Базові принципи сторінкової організації пам'яті. Порівняльний аналіз сторінкової організації пам'яті та сегментації.

У разі сторінкової організації пам'яті логічну адресу називають також лінійною, або віртуальною, адресою. Такі адреси належать одній множині (наприклад, лінійною адресою може бути невід'ємне ціле число довжиною 32 біти). Логічну пам'ять, у свою чергу, розбивають на блоки такої самої довжини - сторінки (pages). Коли процес починає виконуватися, його сторінки завантажуються в доступні фрейми фізичної пам'яті з диска або іншого носія. Сторінкова організація пам'яті повинна мати апаратну підтримку. Кожна адреса, яку генерує процесор, ділиться на дві частини: номер сторінки і зсув сторінки. Таблиця сторінок — структура даних, що містить набір елементів (page-table entries, PTE), кожен із яких містить інформацію про номер сторінки, базову адресу відповідного їй фрейму фізичної пам'яті та права доступу. Номер сторінки використовують для пошуку елемента в таблиці. У спеціальних режимах адресації можна працювати зі сторінками більшого розміру. Сторінкова організація пам’яті та сегментація мають більше спільних рис, аніж відмінностей. Основна відмінність між цими двома підходами полягає в тому, що всі сторінки мають фіксовану довжину, а сегменти — змінну. Інші базові моменти (відсутність вимоги неперервності фізичної пам’яті, можливість вивантаження блоків пам’яті на диск, необхідність підтримувати таблиці перетворення тощо) принципово не відрізняються.

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]