SlideShare a Scribd company logo
1 of 35
Распределенные вычисления
МарГТУ 2011 г. 1
Введение в
распределенные
вычисления. Сети Петри.
Лекция 1
Подготовил: Хованский Е. П.
МарГТУ 2011 г. 2
Лабораторные работы.
Требования
 Языки программирования: С++ и C# под MS Visual Studio 2003,
2005 – для C# (для поддержки семафоров).
 Исходный код и стабильно работающая программа.
 Схема потоков, как в примерах к 1 и 2 работе и использовать
Сети Петри (программа находится в папке HelpСети_Петри).
 Защита лабораторных работ: презентовать свою работу
(«похвалить» её) и рассказать основные моменты реализации.
МарГТУ 2011 г. 3
Баллы. Теория и посещение
 За посещение одной лекции - +0,2 балла.
 За посещение одной практики - +0,2 балла.
 За пропуск одной лекции - минус 0,5 балла.
 За пропуск одной практики (при не сдаче лабораторных в срок)
– минус 0,5 балла.
 Контрольные проверочные работы (10-20 минут) – 3-5 балла за
работу.
МарГТУ 2011 г. 4
Лабораторные работы. Баллы.
 Максимальное количество баллов за работу: 8-12 баллов.
 Время на выполнение – 2-3 недели, затем количество
полученных вами баллов будет снижаться на 0,5 за каждую
неделю.
МарГТУ 2011 г. 5
Лабораторные работы. Бонусы
 Сдача лабораторной на неделю раньше срока – бонус
1 балл, на две и более недели – бонус 2 балла и т.
д., при условии отличной защиты без замечаний.
 Сроки сдачи:
 1 : 27 сентября (ПС-41);
 2 : 11 октября;
 3 : 1 ноября;
 4 : 22 ноября;
 5 : 13 декабря.
 Всего работ 5.
МарГТУ 2011 г. 6
Организация параллельности
вычислений
 введения избыточности функциональных устройств
(многопроцессорности);
 разработка и оптимизация алгоритмов.
МарГТУ 2011 г. 7
Избыточность функциональных
устройств
 Супер ЭВМ.
 Сети.
 Кластеры.
 Многоядерные процессоры.
МарГТУ 2011 г. 8
Параллельные Вычисления.
 Потери производительности для организации
параллелизма (гипотеза Минского) – ускорение
a ~ log2N, где N число процессоров.
 Существование последовательных вычислений.
Закон Амдаля об ускорении процесса
вычисления:
 Где f – доля последовательных вычислений.
МарГТУ 2011 г. 9
Проблематика параллельных
вычислений.
 Зависимость эффективности параллелизма от
учета характерных свойств параллельных систем
 Существующее программное обеспечение
ориентировано в основном на последовательные
ЭВМ
МарГТУ 2011 г. 10
Направления исследований.
 разработка параллельных вычислительных систем;
 анализ эффективности параллельных;
 формирование общих принципов разработки параллельных
алгоритмов для решения сложных вычислительно
трудоемких задач
 создание и развитие системного программного обеспечения
для параллельных вычислительных систем
 создание и развитие параллельных алгоритмов для решения
прикладных задач в разных областях практических
приложений.
МарГТУ 2011 г. 11
Пути достижения
параллелизма.
 независимость функционирования отдельных
устройств ЭВМ;
 избыточность элементов вычислительной
системы:
 использование специализированных устройств;
 дублирование устройств ЭВМ путем использования;
 конвейерная реализация обрабатывающих
устройств.
МарГТУ 2011 г. 12
Режимы исполнения программ
 многозадачный режим (режим разделения
времени);
 параллельное выполнение;
 распределенные вычисления.
 Распределённые вычисле́ния (distributed computing,
grid computing, volunteer computing) — способ решения
трудоёмких вычислительных задач с использованием
двух и более компьютеров объединённых в сеть.
МарГТУ 2011 г. 13
Некорректное вычисление
данных
 Пусть необходимо начислить зарплату и вычислить сумму
денег, подлежащих выдаче на руки. Оставляя в стороне
излишние здесь детали, будем предполагать, что зарплату
составляют некоторая базисная зарплата N0 плюс надбавки
N1, N2, ..., Nn (выражаются в процентах к базисной
зарплате) минус налог Nn-1 (выражаются в процентах к
начисленной сумме).
МарГТУ 2011 г. 14
Некорректное вычисление
данных
• Пусть процессы Р0, P1, Р2, ... , Рn, Рn+1
соответственно выполняют эти операции.
• Процессы Р1, P2,..., Рn, Рn+1 выполняются
асинхронно.
(Р0 + P1 + Pn+1 + P2 + ... + Рn) ≠
(Р0 + Pn+1 + P1 + Р2 + ... + Рn)
МарГТУ 2011 г. 15
Некорректное считывание
данных
• Пусть в банке А есть счет acc1, на котором находится 500
тыс. руб., а в банке В - счет асс2, на котором находится 300
тыс. руб, и необходимо переслать 100 тыс. руб. со счета
асc1 на счет асс2. Сумма денег на обоих счетах неизменна
до и после выполнения пересылки и равна 800 тыс руб.
Пусть процесс P1 посылает деньги из банка А в банк В, а
процесс Р2 принимает посланные деньги в банке B.
МарГТУ 2011 г. 16
Некорректное считывание
данных. Исходные данные.
• А.асс1 = 500 тыс. руб.
• В.асс2 = 300 тыс. руб.
МарГТУ 2011 г. 17
Некорректное считывание
данных. Исходные данные.
Процесс Р1 Процесс Р2
А.асc1: = А.асc1 - 100; receive
(x,A,y);
x: = 100
send (x, B, y); B.acc2: =
B.acc2 + y;
МарГТУ 2011 г. 18
Некорректное считывание
данных.
• сумма А.асс1 + В.асс2 может равняться 700
тыс.руб. (если значение А.асс1 было считано
после его изменения, а значение В.асс2 - до
изменения)
• 800 тыс. руб – считывание после пересылки.
• сумма А.асс1 + В.асс2 может равняться 900
тыс.руб. (если значение А.асс1 было считано до
его изменения, а значение В.асс2 - после
изменения)
МарГТУ 2011 г. 19
Определение сети Петри
 математическая модель, которая имеет широкое
применение для описания поведения параллельных
устройств и процессов;
 есть двудольный ориентированный граф.
МарГТУ 2011 г. 20
Определение сети Петри
N = (T, P, A), T  Р = Ø, где
 Т = {t1, t2, ..., tn} - подмножество вершин, называющихся
переходами;
 Р = {p1, р2, ..., pm} - подмножество вершин, называющихся
местами;
 А  (T×P)  (P×T) - множество ориентированных дуг.
МарГТУ 2011 г. 21
Пример №1 сети Петри
граф: продукционные правила:
МарГТУ 2011 г. 22
Разметка сети Петри
 Состояние - определяется системой условий.
 Фишки – запись, объекты и т. д. (изображается
точкой)
 Места – условия в сети (буфер пуст, файл закрыт)
(изображается кружком).
 Переходы – события в сети (посылка или
получение сообщения в буфер, запись в файл)
(изображается палочкой, чертой).
Задается формально: М: Р → I, I = {0,1,2,..}
МарГТУ 2011 г. 23
Пример №2 сети Петри
М0 = {1,0,0} М1 = {1,1,1} М2 = {1,2,3}
МарГТУ 2011 г. 24
Пример №2 сети Петри
МарГТУ 2011 г. 25
Сеть Петри как устройство
МарГТУ 2011 г. 26
Граф достижимости
 Разметка М называется достижимой, если при некоторой
последовательности срабатываний сети, начиная с
начальной разметки М0, она переходит к разметке М.
 Множество разметок, достижимых в порядке срабатывания
сети, представляется разверткой сети.
 Множество достижимых разметок удобно представлять
графом достижимости, который показывает все достижимые
разметки и последовательности срабатываний переходов,
приводящих к ним.
МарГТУ 2011 г. 27
Граф достижимости. Пример 3.
МарГТУ 2011 г. 28
Дедлоки
 Состояние дедлока возникает, когда запрос
ресурсов в системе не может быть удовлетворен и
система останавливается (ни один переход не
может сработать).
МарГТУ 2011 г. 29
Дедлоки. Пример 4.
МарГТУ 2011 г. 30
Пример 5. Задача о философах
 Пять философов, прогуливаясь и размышляя,
время от времени испытывают приступы голода.
Тогда они заходят в столовую, где стоит круглый
стол, на нем всегда приготовлены пять блюд.
Между соседними блюдами лежит одна вилка
(всего лежат ровно пять вилок).
МарГТУ 2011 г. 31
Пример 5. Задача о философах
Голодный философ:
 входит в столовую, садится за стол и берет вилку слева;
 берет вилку справа;
 ест (обязательно двумя вилками);
 кладет обе вилки на стол, выходит из столовой и
продолжает думать.
МарГТУ 2011 г. 32
Пример 5. Задача о философах
варианты поведения философов:
 Одновременно взяли все левую вилку;
 Два философа одновременно взяли одну вилку;
 Стеснительный философ не должен умирать голодной
смертью из-за того, что его вилки постоянно раньше него
хватают напористые соседи;
 Легко представить себе ситуацию, когда банда
сговорившихся философов завладеет всеми вилками и,
передавая их только в своей среде, уморит голодом всех
прочих.
МарГТУ 2011 г. 33
Пример 5. Один философ.
МарГТУ 2011 г. 34
МарГТУ 2011 г. 35
Спасибо за внимание!

More Related Content

Similar to =lection_01.ppt

апкс 2011 04_verilog_продолж
апкс 2011 04_verilog_продолжапкс 2011 04_verilog_продолж
апкс 2011 04_verilog_продолжIrina Hahanova
 
Lecture1: Introduction to Parallel Computing
Lecture1: Introduction to  Parallel ComputingLecture1: Introduction to  Parallel Computing
Lecture1: Introduction to Parallel ComputingAndrii Rodionov
 
практика 1
практика 1практика 1
практика 1student_kai
 
регрессионный анализ в Ptc math cad
регрессионный анализ в Ptc math cadрегрессионный анализ в Ptc math cad
регрессионный анализ в Ptc math cadkhishigbayar ider
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#Olga Maksimenkova
 
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Mikhail Kurnosov
 
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАITMO University
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигмаyaevents
 
Метрики кода программного обеспечения
Метрики кода программного обеспеченияМетрики кода программного обеспечения
Метрики кода программного обеспеченияTatyanazaxarova
 
Характеристика кимов по информатике гиа 2011
Характеристика кимов по информатике гиа 2011Характеристика кимов по информатике гиа 2011
Характеристика кимов по информатике гиа 2011Екатерина Луговова
 
Промышленные сети в АСУТП. Начальный уровень.
Промышленные сети в АСУТП.  Начальный уровень.Промышленные сети в АСУТП.  Начальный уровень.
Промышленные сети в АСУТП. Начальный уровень.Пупена Александр
 
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программированияStepan1234
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Anton Moiseev
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?etyumentcev
 

Similar to =lection_01.ppt (20)

апкс 2011 04_verilog_продолж
апкс 2011 04_verilog_продолжапкс 2011 04_verilog_продолж
апкс 2011 04_verilog_продолж
 
Lecture1: Introduction to Parallel Computing
Lecture1: Introduction to  Parallel ComputingLecture1: Introduction to  Parallel Computing
Lecture1: Introduction to Parallel Computing
 
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
 
презентация1
презентация1презентация1
презентация1
 
практика 1
практика 1практика 1
практика 1
 
регрессионный анализ в Ptc math cad
регрессионный анализ в Ptc math cadрегрессионный анализ в Ptc math cad
регрессионный анализ в Ptc math cad
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#
 
Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...Распределенные мультикластерные вычислительные системы и параллельное мультип...
Распределенные мультикластерные вычислительные системы и параллельное мультип...
 
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Метрики кода программного обеспечения
Метрики кода программного обеспеченияМетрики кода программного обеспечения
Метрики кода программного обеспечения
 
Характеристика кимов по информатике гиа 2011
Характеристика кимов по информатике гиа 2011Характеристика кимов по информатике гиа 2011
Характеристика кимов по информатике гиа 2011
 
Architect
ArchitectArchitect
Architect
 
Промышленные сети в АСУТП. Начальный уровень.
Промышленные сети в АСУТП.  Начальный уровень.Промышленные сети в АСУТП.  Начальный уровень.
Промышленные сети в АСУТП. Начальный уровень.
 
оп.05 основы программирования
оп.05 основы программированияоп.05 основы программирования
оп.05 основы программирования
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017
 
лекция 12
лекция 12лекция 12
лекция 12
 
Excel in Javascript
Excel in JavascriptExcel in Javascript
Excel in Javascript
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
практические занятия по курсу коир
практические занятия по курсу коирпрактические занятия по курсу коир
практические занятия по курсу коир
 

=lection_01.ppt

  • 1. Распределенные вычисления МарГТУ 2011 г. 1 Введение в распределенные вычисления. Сети Петри. Лекция 1 Подготовил: Хованский Е. П.
  • 2. МарГТУ 2011 г. 2 Лабораторные работы. Требования  Языки программирования: С++ и C# под MS Visual Studio 2003, 2005 – для C# (для поддержки семафоров).  Исходный код и стабильно работающая программа.  Схема потоков, как в примерах к 1 и 2 работе и использовать Сети Петри (программа находится в папке HelpСети_Петри).  Защита лабораторных работ: презентовать свою работу («похвалить» её) и рассказать основные моменты реализации.
  • 3. МарГТУ 2011 г. 3 Баллы. Теория и посещение  За посещение одной лекции - +0,2 балла.  За посещение одной практики - +0,2 балла.  За пропуск одной лекции - минус 0,5 балла.  За пропуск одной практики (при не сдаче лабораторных в срок) – минус 0,5 балла.  Контрольные проверочные работы (10-20 минут) – 3-5 балла за работу.
  • 4. МарГТУ 2011 г. 4 Лабораторные работы. Баллы.  Максимальное количество баллов за работу: 8-12 баллов.  Время на выполнение – 2-3 недели, затем количество полученных вами баллов будет снижаться на 0,5 за каждую неделю.
  • 5. МарГТУ 2011 г. 5 Лабораторные работы. Бонусы  Сдача лабораторной на неделю раньше срока – бонус 1 балл, на две и более недели – бонус 2 балла и т. д., при условии отличной защиты без замечаний.  Сроки сдачи:  1 : 27 сентября (ПС-41);  2 : 11 октября;  3 : 1 ноября;  4 : 22 ноября;  5 : 13 декабря.  Всего работ 5.
  • 6. МарГТУ 2011 г. 6 Организация параллельности вычислений  введения избыточности функциональных устройств (многопроцессорности);  разработка и оптимизация алгоритмов.
  • 7. МарГТУ 2011 г. 7 Избыточность функциональных устройств  Супер ЭВМ.  Сети.  Кластеры.  Многоядерные процессоры.
  • 8. МарГТУ 2011 г. 8 Параллельные Вычисления.  Потери производительности для организации параллелизма (гипотеза Минского) – ускорение a ~ log2N, где N число процессоров.  Существование последовательных вычислений. Закон Амдаля об ускорении процесса вычисления:  Где f – доля последовательных вычислений.
  • 9. МарГТУ 2011 г. 9 Проблематика параллельных вычислений.  Зависимость эффективности параллелизма от учета характерных свойств параллельных систем  Существующее программное обеспечение ориентировано в основном на последовательные ЭВМ
  • 10. МарГТУ 2011 г. 10 Направления исследований.  разработка параллельных вычислительных систем;  анализ эффективности параллельных;  формирование общих принципов разработки параллельных алгоритмов для решения сложных вычислительно трудоемких задач  создание и развитие системного программного обеспечения для параллельных вычислительных систем  создание и развитие параллельных алгоритмов для решения прикладных задач в разных областях практических приложений.
  • 11. МарГТУ 2011 г. 11 Пути достижения параллелизма.  независимость функционирования отдельных устройств ЭВМ;  избыточность элементов вычислительной системы:  использование специализированных устройств;  дублирование устройств ЭВМ путем использования;  конвейерная реализация обрабатывающих устройств.
  • 12. МарГТУ 2011 г. 12 Режимы исполнения программ  многозадачный режим (режим разделения времени);  параллельное выполнение;  распределенные вычисления.  Распределённые вычисле́ния (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров объединённых в сеть.
  • 13. МарГТУ 2011 г. 13 Некорректное вычисление данных  Пусть необходимо начислить зарплату и вычислить сумму денег, подлежащих выдаче на руки. Оставляя в стороне излишние здесь детали, будем предполагать, что зарплату составляют некоторая базисная зарплата N0 плюс надбавки N1, N2, ..., Nn (выражаются в процентах к базисной зарплате) минус налог Nn-1 (выражаются в процентах к начисленной сумме).
  • 14. МарГТУ 2011 г. 14 Некорректное вычисление данных • Пусть процессы Р0, P1, Р2, ... , Рn, Рn+1 соответственно выполняют эти операции. • Процессы Р1, P2,..., Рn, Рn+1 выполняются асинхронно. (Р0 + P1 + Pn+1 + P2 + ... + Рn) ≠ (Р0 + Pn+1 + P1 + Р2 + ... + Рn)
  • 15. МарГТУ 2011 г. 15 Некорректное считывание данных • Пусть в банке А есть счет acc1, на котором находится 500 тыс. руб., а в банке В - счет асс2, на котором находится 300 тыс. руб, и необходимо переслать 100 тыс. руб. со счета асc1 на счет асс2. Сумма денег на обоих счетах неизменна до и после выполнения пересылки и равна 800 тыс руб. Пусть процесс P1 посылает деньги из банка А в банк В, а процесс Р2 принимает посланные деньги в банке B.
  • 16. МарГТУ 2011 г. 16 Некорректное считывание данных. Исходные данные. • А.асс1 = 500 тыс. руб. • В.асс2 = 300 тыс. руб.
  • 17. МарГТУ 2011 г. 17 Некорректное считывание данных. Исходные данные. Процесс Р1 Процесс Р2 А.асc1: = А.асc1 - 100; receive (x,A,y); x: = 100 send (x, B, y); B.acc2: = B.acc2 + y;
  • 18. МарГТУ 2011 г. 18 Некорректное считывание данных. • сумма А.асс1 + В.асс2 может равняться 700 тыс.руб. (если значение А.асс1 было считано после его изменения, а значение В.асс2 - до изменения) • 800 тыс. руб – считывание после пересылки. • сумма А.асс1 + В.асс2 может равняться 900 тыс.руб. (если значение А.асс1 было считано до его изменения, а значение В.асс2 - после изменения)
  • 19. МарГТУ 2011 г. 19 Определение сети Петри  математическая модель, которая имеет широкое применение для описания поведения параллельных устройств и процессов;  есть двудольный ориентированный граф.
  • 20. МарГТУ 2011 г. 20 Определение сети Петри N = (T, P, A), T  Р = Ø, где  Т = {t1, t2, ..., tn} - подмножество вершин, называющихся переходами;  Р = {p1, р2, ..., pm} - подмножество вершин, называющихся местами;  А  (T×P)  (P×T) - множество ориентированных дуг.
  • 21. МарГТУ 2011 г. 21 Пример №1 сети Петри граф: продукционные правила:
  • 22. МарГТУ 2011 г. 22 Разметка сети Петри  Состояние - определяется системой условий.  Фишки – запись, объекты и т. д. (изображается точкой)  Места – условия в сети (буфер пуст, файл закрыт) (изображается кружком).  Переходы – события в сети (посылка или получение сообщения в буфер, запись в файл) (изображается палочкой, чертой). Задается формально: М: Р → I, I = {0,1,2,..}
  • 23. МарГТУ 2011 г. 23 Пример №2 сети Петри М0 = {1,0,0} М1 = {1,1,1} М2 = {1,2,3}
  • 24. МарГТУ 2011 г. 24 Пример №2 сети Петри
  • 25. МарГТУ 2011 г. 25 Сеть Петри как устройство
  • 26. МарГТУ 2011 г. 26 Граф достижимости  Разметка М называется достижимой, если при некоторой последовательности срабатываний сети, начиная с начальной разметки М0, она переходит к разметке М.  Множество разметок, достижимых в порядке срабатывания сети, представляется разверткой сети.  Множество достижимых разметок удобно представлять графом достижимости, который показывает все достижимые разметки и последовательности срабатываний переходов, приводящих к ним.
  • 27. МарГТУ 2011 г. 27 Граф достижимости. Пример 3.
  • 28. МарГТУ 2011 г. 28 Дедлоки  Состояние дедлока возникает, когда запрос ресурсов в системе не может быть удовлетворен и система останавливается (ни один переход не может сработать).
  • 29. МарГТУ 2011 г. 29 Дедлоки. Пример 4.
  • 30. МарГТУ 2011 г. 30 Пример 5. Задача о философах  Пять философов, прогуливаясь и размышляя, время от времени испытывают приступы голода. Тогда они заходят в столовую, где стоит круглый стол, на нем всегда приготовлены пять блюд. Между соседними блюдами лежит одна вилка (всего лежат ровно пять вилок).
  • 31. МарГТУ 2011 г. 31 Пример 5. Задача о философах Голодный философ:  входит в столовую, садится за стол и берет вилку слева;  берет вилку справа;  ест (обязательно двумя вилками);  кладет обе вилки на стол, выходит из столовой и продолжает думать.
  • 32. МарГТУ 2011 г. 32 Пример 5. Задача о философах варианты поведения философов:  Одновременно взяли все левую вилку;  Два философа одновременно взяли одну вилку;  Стеснительный философ не должен умирать голодной смертью из-за того, что его вилки постоянно раньше него хватают напористые соседи;  Легко представить себе ситуацию, когда банда сговорившихся философов завладеет всеми вилками и, передавая их только в своей среде, уморит голодом всех прочих.
  • 33. МарГТУ 2011 г. 33 Пример 5. Один философ.
  • 35. МарГТУ 2011 г. 35 Спасибо за внимание!