Составители:
Содержание
Введение 3
Глава 1 Вычислительные системы, алгоритмы и про-
граммы 6
§1 Вычислительная система . . . . . . . . . . . . . . . . . 6
§2 Алгоритмы и псевдоалгоритмы . . . . . . . . . . . . . 8
§3 Программа и ее история . . . . . . . . . . . . . . . . . 10
§4 Замечания о способе представления программ в дан-
ном курсе . . . . . . . . . . . . . . . . . . . . . . . . . . 15
§5 Поиск образца в файле и распараллеливание . . . . . 20
§6 Мелкомодульная неделимость . . . . . . . . . . . . . . 24
§7 Оператор ожидания и синхронизация . . . . . . . . . 26
§8 Синхронизация “производитель – потребитель” . . . . 28
§9 Обзор логики программир ования (ЛП) . . . . . . . . 29
§10 Логика программирования при параллельном выпол-
нении . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
§11 Устранение взаимного вмешательства: непересекаю-
щиеся множества пе ре мен ных . . . . . . . . . . . . . . 34
§12 Ослабленные утверждения . . . . . . . . . . . . . . . . 35
§13 Глобальные инварианты . . . . . . . . . . . . . . . . . 37
§14 Задача копирования массива . . . . . . . . . . . . . . 38
§15 Стратегии пл ани рования . . . . . . . . . . . . . . . . . 41
Глава 2 Критические секции и барьеры 44
§1 Задача критической секции. Крупномодульное решение 44
§2 Активные блоки ровки . . . . . . . . . . . . . . . . . . 46
§3 Инструкция “пр оверить–установить” . . . . . . . . . . 47
§4 Протокол “проверить–проверить–установить” . . . . . 49
§5 Реализация оператора await . . . . . . . . . . . . . . . 50
§6 Алгоритм р азрыва узла . . . . . . . . . . . . . . . . . 52
§7 Алгоритм бил ета . . . . . . . . . . . . . . . . . . . . . 54
§8 Справедливое планирование без использования спе-
циальных инстр укций . . . . . . . . . . . . . . . . . . . 57
§9 Барьерная син хрониз ация в цикле . . . . . . . . . . . 61
§10 Требования к барьеру . . . . . . . . . . . . . . . . . . . 61
§11 Управляющие проц есс ы . . . . . . . . . . . . . . . . . 63
110