2.4. Пример работы программы
Рисунок
4.
Рисунок
5.
Рисунок
6.
2.5. Выводы по практической части
В задаче об обедающих
философах продемонстрирован классический
пример, используемый в информатике для
иллюстрации проблем синхронизации при
разработке параллельных алгоритмов и
техник решения этих проблем. Пусть
ресурсы (палки) будут пронумерованы от
1 до 5, и каждая рабочая единица (философ)
всегда, входя в столовую, будет смотреть
сколько палок свободно в данный момент.
Если палок больше или равно 2, философ
ищет свободное место, занимает его и
начинает есть. Иначе уходит из столовой
голодный и продолжает гулять. Доступ к
просмотру количества палок осуществляется
через захват мьютекса, что исключает
возможности одновременного просмотра.
Заключение
Многие современные
ОС предоставляют для синхронизации
семафоры Дейкстры или похожие на них
механизмы. Вместе с тем, большинство ОС
кроме семафоров предоставляет и другие
средства синхронизации.
Так например,
семафоры удобны при синхронизации
доступа к единому ресурсу, такому как
принтер. Если же нам нужна синхронизация
доступа к ресурсу, имеющему внутреннюю
структуру, такому как файл с базой
данных, удобнее оказываются другие
методы.
В
ходе выполнения данной работы была
разработана программа, решающая
классическую задачу "обедающие
философы" с использованием объекта
синхронизации типа "семафор".
Были изучены соответствующий теоретический
материал по синхронизации потоков,
исходные тексты примеров использования
объектов синхронизации и спецификации
функций WinAPI по работе с объектами
синхронизации.
Список использованных источников
Ю.
В. Кочержинская. Курс лекций по дисциплине
«Теория вычислительных процессов»,
2015
[Электронный
ресурс] http://www.intuit.ru/
Архитектура
компьютера. Э. Таненбаум. 5-е изд. - СПб.:
2007.
Э.
Таненбаум. Современные операционные
системы, 2 издание. Издательство «Питер».
Санкт-Петербург, 2002
А.
О. Ключев, П. В. Кустарев, Д. Р. Ковязина,
Е. В. Петров. Программное обеспечение
встроенных вычислительных систем.
Учебное пособие. ИТМО. Санкт-Петербург,
2009. 92-95 с.