Содержание
- 2. Содержание темы
- 3. Процесс и поток Процесс Данные Поток 1 Поток 2 Поток 3 Процесс – более крупная единица
- 4. Жизненный цикл потока Активность Блокирован Готов к выполнению Завершение кванта времен Формирование запроса на ввод-вывод Завершение
- 5. Типичные проблемы многопоточных приложений Простота создания потоков неразрывно связана со сложностью их применения. Две типичные проблемы,
- 6. Проблема критической секции Материал из Национальной библиотеки им. Н. Э. Баумана «Критическая секция (critical section) –
- 7. Проблема критической секции. Взаимное исключение Материал из Национальной библиотеки им. Н. Э. Баумана «Критическая секция (critical
- 8. Алгоритм Деккера для реализации проблемы взаимного исключения Источник: https://ru.qaz.wiki/wiki/Dekker%27s_algorithm Если два процесса попытаются войти в критическую
- 9. В поисках решения или как работает железная дорогам… Необходимо обеспечить взаимное исключение (в текущий момент времени
- 10. Решение найдено!!! Необходимо обеспечить взаимное исключение (в текущий момент времени в критической секции может находиться только
- 11. двоичный семафор – только значения 1 или 0. Семафоры и семафорные примитивы * Позже Дейкстра связал
- 12. Формализованное описание операций P и V Операции над семафорами «открытие», V() Vrijgeven (освободить) «закрытие», P() Passeren
- 13. Решение проблемы критической секции с помощью семафоров Постановка задачи: Пусть есть два процесса Р1 и Р2
- 14. Решение проблемы критической секции с помощью семафоров Решение задачи: S=1 P1: {L1: программа 11; P(S); CS1;
- 15. Решение проблемы критической секции с помощью семафоров Решение задачи: S=1 P1: {L1: программа 11; P(S); CS1;
- 16. Решение проблемы критической секции с помощью семафоров Решение задачи: S=1 P1: {L1: программа 11; P(S); CS1;
- 17. Решение проблемы критической секции с помощью семафоров Решение задачи: S=1 P1: {L1: программа 11; P(S); CS1;
- 18. Решение проблемы критической секции с помощью семафоров. Ограничение на число процессов. Постановка задачи: Пусть есть два
- 19. Использование семафоров для синхронизации независимых процессов Постановка задачи: Пусть есть два процесса П1 и П2. Процесс
- 20. Использование семафоров для синхронизации независимых процессов Постановка задачи: Пусть есть два процесса П1 и П2. Процесс
- 21. Класс задач «поставщик-потребитель» Общее описание класса задач: В задаче о поставщиках и потребителях поставщики посылают сообщения,
- 22. Работа с простым разделяемым буфером Постановка задачи: Пусть есть два процесса, которые циклически работают c простым
- 23. Работа с простым разделяемым буфером Постановка задачи: Пусть есть два процесса, которые циклически работают c простым
- 24. Работа с простым разделяемым буфером Постановка задачи: Пусть есть два процесса, которые циклически работают c простым
- 25. Работа с буферным пулом На практике для повышения производительности системы процессы-потребители и процессы-поставщики взаимодействуют не через
- 26. Работа с буферным пулом Постановка задачи: Пусть есть два процесса, которые работают c буферным пулом, содержащим
- 27. Работа с буферным пулом Процесс «поставщик» может быть представлен в виде двух частей: генерирование информации (П11),
- 28. Работа с буферным пулом Процесс «поставщик» может быть представлен в виде двух частей: генерирование информации (П11),
- 29. Работа с буферным пулом Процесс «поставщик» может быть представлен в виде двух частей: генерирование информации (П11),
- 30. Работа с буферным пулом Процесс «поставщик» может быть представлен в виде двух частей: генерирование информации (П11),
- 31. Работа с буферным пулом Процесс «поставщик» может быть представлен в виде двух частей: генерирование информации (П11),
- 32. Работа с кольцевым буфером В ряде случаев для получения нужного результата последовательность заполнения буферных ячеек данными
- 33. Работа с кольцевым буфером В ряде случаев для получения нужного результата последовательность заполнения буферных ячеек данными
- 34. Работа с кольцевым буфером В ряде случаев для получения нужного результата последовательность заполнения буферных ячеек данными
- 35. Работа с кольцевым буфером При таком представлении буфера процесс-производитель помещает в него сообщение в ячейку с
- 36. Представленное решение справедливо в том случае, когда есть только один процесс-поставщик и один процесс-потребитель. Предположим, что
- 37. Работа с кольцевым буфером Решение задачи для группы процессов-поставщиков и группы процессов-потребителей Buf[n] /* массив из
- 38. Работа с кольцевым буфером В ряде случаев для получения нужного результата последовательность заполнения буферных ячеек данными
- 39. Класс задач «читатели-писатели» Общее описание класса задач: Задача о читателях и писателях относится к классическим задачам
- 40. Класс задач «читатели-писатели» Общее описание класса задач: Есть две группы процессов. Процесс первой группы просматривает данные,
- 41. Класс задач «читатели-писатели». Приоритет читателей. Process Читатель While (true) { Чтение данных из общей памяти; }
- 42. Класс задач «читатели-писатели». Приоритет читателей. Process Читатель While (true) {P(s); Чтение данных из общей памяти; V(s);
- 43. Класс задач «читатели-писатели». Приоритет читателей. Процесс «Писатель/поставщик» может быть представлен в виде двух частей: генерирование информации
- 44. Класс задач «читатели-писатели». Приоритет читателей. Процесс «Писатель/поставщик» может быть представлен в виде :, запись в буфер
- 45. Класс задач «читатели-писатели». Приоритет читателей.
- 46. Что почитать о семафорах http://lib-04.gic.mgsu.ru/lib/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%BA%D0%B8%202015%20-%202/269.pdf
- 47. Синхронизация и средства её обеспечения Синхронизация заключается в согласовании скоростей развития процессов или потоков путем приостановки
- 48. Синхронизация и средства её обеспечения Критические секции Объект - критическая секция помогает программисту выделить участок кода,
- 49. Синхронизация и средства её обеспечения Взаимоисключения / мьютексы Объекты-взаимоисключения (мьютексы, mutex - от MUTual EXclusion) позволяют
- 50. Синхронизация и средства её обеспечения Семафоры Объект-семафор - это фактически объект-взаимоисключение со счетчиком. Данный объект позволяет
- 51. Синхронизация и средства её обеспечения События Объекты-события используются для уведомления ожидающих нитей о наступлении какого-либо события.
- 52. Взаимодействие процессов Управление процессами Создание процесса Планирование процессов Выделение системных ресурсов Синхронизация процессов Взаимодействие процессов Уничтожение
- 53. Синхронизация и взаимодействие процессов Управление процессами Создание процесса Планирование процессов Выделение системных ресурсов Синхронизация процессов Взаимодействие
- 54. Что почитать о средствах синхронизации в Windows и UNIX Общие сведения о примитивах синхронизации https://docs.microsoft.com/ru-ru/dotnet/standard/threading/overview-of-synchronization-primitives Практикум
- 56. Скачать презентацию