Page 65 - 6571
P. 65
буфер порожній (останній поміщений в нього елемент був витяг-
нутий), а якщо p > c – заповнений.
Якщо синхронізація реалізується описаним способом, то го-
ворять, що процес знаходиться в стані активного очікування, або
зациклений, оскільки він зайнятий перевіркою умови в операторі
await, але все, що він в даному випадку робить – це повторення
циклу до тих пір, доки умова не виконається. Це звичайний тип
синхронізації, що реалізується на найнижчих рівнях програмних
систем, наприклад, в операційних системах та мережевих прото-
колах.
Запитання для самоперевірки
1. Які дві форми синхронізації Ви знаєте?
2. Що розуміють під дрібномодульною неподільною дією у
термінах паралельної програми?
3. Якими основними характеристиками повинні володіти об-
числювальні машини для можливості розпаралелення програми?
4. Що розуміють під критичним посиланням у термінах пара-
лельної програми?
5. У яких випадках у паралельній програмі задовольняється
умова «не більше одного»?
6. Що розуміють під крупномодульною неподільною дією у
термінах паралельної програми?
7. Для чого використовуються символи « < » та « > » у пара-
лельній програмі?
8. Які форми оператора await Ви знаєте?
9. Що таке безумовна та умовна неподільна дія?
10. У якому випадку процес знаходиться в стані активного
очікування?
ЛЕКЦІЯ 8
АКСІОМАТИЧНА СЕМАНТИКА
ПАРАЛЕЛЬНИХ ПРОГРАМ
8.1 Основні визначення та поняття
Стверджуючі міркування дозволяють зрозуміти властивості
паралельної програми. Але, що ще важливіше, вони можуть до-
64