Курсовая работа по СисПО Кедровой Т.С. , группа МП-30, вариант 14.
«Диспетчер ресурсов (Mailslots)»
Разработать программы для процесса диспетчера ресурсов и процессов клиентов, запрашивающих доступ к ресурсам. Диспетчер контролирует доступ к ресурсам
нескольких типов. Число типов ресурсов и число единиц ресурсов каждого типа фиксировано и передается диспетчеру в момент его создания. Связь клиентов с диспетчером осуществляется с помощью механизма mailslots.
Поведение процесса диспетчера. Создает mailslot для приема запросов от клиентов.
Ждет поступления запроса. Анализирует тип и количество запрашиваемых единиц ресурса. Принимает решение о возможности или невозможности предоставить запрашиваемое количество ресурсов по алгоритму банкира. Если предоставить запрашиваемые ресурсы можно, то отвечает процессу, запросившему ресурс. Если нельзя предоставить ресурсы, то запрос размещается в очереди диспетчера и повторно анализируется после каждого освобождения ресурсов.
Поведение процесса клиента. Регистрирует у диспетчера свои максимальные потребности в ресурсах. Периодически отправляет диспетчеру запросы на резервирование ресурсов. Ждет ответа на запрос. Удерживает ресурсы некоторое время. Освобождает выделенные
ресурсы. Порядок резервирования и освобождения ресурсов процессом клиентом может быть любым, т.е. можно запросить ресурсы первого типа, потом второго, освободить часть ресурсов первого типа. Освободить все ресурсы второго типа, освободить оставшиеся ресурсы первого типа и т.п. Но нельзя запрашивать ресурсов больше, чем было заявлено при начальной регистрации максимальных потребностей и, конечно все занятые ресурсы должны рано или поздно освобождаться.
Требования к программе и отчету:
-
Программа разрабатывается в среде Visual C++6.0 с использованием функций Win32API.
-
Программа должна выводить на экран полную и понятную информацию о состоянии на мосту: кто едет, в каком направлении, сколько ждет с одной стороны или другой стороны.
-
Исходные тексты и файлы проекта (.dsw и .dsp) сдаются на дискете вместе с описанием.
-
Описание должно содержать:
-
Общее описание программы.
-
Условия синхронизации процессов.
-
Краткое описание функций и параметров.
-
Порядок запуска программы.
