Популярные услуги

Главная » Лекции » Информатика и программирование » Лекции по сетям Петри » Безопасность сетей Петри. Задача о взаимном исключении

Безопасность сетей Петри. Задача о взаимном исключении

2021-03-09СтудИзба

Безопасность сетей Петри. Задача о взаимном исключении.

Одно из важнейших свойств сети Петри, которая должна моделировать реальное устройство, — безопасность. Позиция сети Петри является безопасной, если число фишек в ней никогда не превышает 1. Сеть Петри безопасна, если безопасны все позиции сети.

Определение 4.1. Позиция pi  P сети Петри С= (Р, Т, I, О)

с начальной маркировкой μ является безопасной, если μ(рi)  1 Для любой μ'  R(C, μ.). Сеть Петри безопасна, если безопасна каждая ее позиция.

Безопасность — очень важное свойство для устройств аппарат­ного обеспечения. Если позиция безопасна, то число фишек в ней равно 0 или 1. Следовательно, позицию можно реализовать одним Триггером.

В первоначальном определении сети Петри были безопасны, поскольку переход не мог быть запущен, если не все из выходных позиций были пусты (а кратные дуги не были разрешены). Это объ­яснялось интерпретацией позиции как условия. Условие, будучи логическим высказыванием, либо истинно (представляется фишкой в позиции), либо ложно (представляется отсутствием фишки); кратные фишки не имеют никакой интерпретации. Таким образом, если интерпретировать сети как условия и события, маркировка каждой позиции должна быть безопасной.

Если позиция не является кратной входной или кратной выход­ной для перехода, ее можно сделать безопасной. К позиции *рi которую необходимо сделать безопасной, добавляется новая пози­ция p'i. Переходы, в которых pi используется в качестве входной или выходной, модифицируются следующим образом:

Если Pi  I(tj)   и  Pi   0(tj), тогда добавить p'i к 0(tj).

Рекомендуемые материалы

Если Pi  0(tj)   и  Pi   I (tj), тогда добавить р'i к I (tj).

Цель введения этой новой позиции pi — представить условие «рi пуста». Следовательно, pi и pi,    дополнительны; pi имеет фишку, только если рi- не имеет фишки и наоборот. Любой переход, удаля-

ющий фишку из рi должен помещать фишку в pi, а всякий переход, удаляющий фишку из pi, должен помещать фишку в pi. Начальная маркировка также должна быть модифицирована для обеспечения того, чтобы точно одна фишка была либо в либо в рi. (Мы допускаем, что начальная маркировка безопасна.) За­метим, что такая принудительная безопасность возможна только для позиций, которые в начальной маркировке являются безопасными и входная и выходная кратность которых равна О или 1 для всех переходов. Позиция, имеющая для некоторого перехода выходную кратность 2, будет получать при его запуске две фишки и, следова­тельно, не может быть безопасной. Простая сеть Петри на рис. 4.1 преобразована в безопасную, как показано на рис. 4.2.

Предположим, что несколько процессов разделяют общую пере­менную, запись, файл или другой элемент данных. Этот разделяе­мый элемент данных может использоваться процессами различными способами, упрощенно их можно классифицировать как чтение значения элемента данных или запись нового значения. Эти две операции являются часто единственными примитивными опера­циями. Это означает, что для обновления разделяемого элемента данных процесс должен сначала считать старое значение, затем вы­числить новое и, наконец, записать его на то же место. Если два процесса в одно и то же время пытаются выполнить такую последо­вательность действий, то могут возникнуть трудности. Возможна следующая последовательность:

Первый процесс считывает значение x из разделяемого объекта;

Второй процесс считывает значение х из разделяемого объекта;

Первый процесс вычисляет новое значение x/ = f(х);

Второй процесс вычисляет новое значение хn = g(x);

Рекомендуем посмотреть лекцию "Мышление, интуиция, воображение в решении задач".

Первый процесс записывает х' е разделяемый объект;

Второй процесс записывает х" в разделяемый объект, уничтожая значение х .

Результат вычисления первого процесса потерян, так как теперь значением разделяемого объекта является g(x), в то время как им Должно быть либо g(f(x)), либо f(g(x)). (Представьте себе, что g(x) — «снять со счета х 1000 долл.», f(x) — «поместить на счет х 1000 долл.», а процессы 1 и 2 — банковские операции.)

Для предотвращения проблем такого рода необходимо обеспе­чить механизм взаимного исключения. Взаимное исключение — это метод создания таких программ, что одновременно не более чем один процесс имеет доступ к разделяемому объекту данных. Участок кода, в котором осуществляется доступ к разделяемому объекту и который требует защиты от вмешательства других процессов, на­зывается критической секцией. Идея состоит в том, что когда про­цесс готов выполнить свою критическую секцию, он сначала ждет, пока другой процесс не выполнит свою собственную критическую секцию. Затем он «блокирует» доступ к критической секции, не давая возможности никакому другому процессу войти в свою кри­тическую секцию. Он входит в критическую секцию, выполняет ее и, выйдя из нее, освобождает ее для доступа со стороны других про­цессов.

Эта задача может быть решена сетью Петри, как показано на рис. 3.28. Позиция T представляет собой разрешение для входа в критическую секцию. Для того чтобы какой-либо процесс вошел в критическую секцию, он должен иметь фишку в p1 или в р2 соот­ветственно, свидетельствующую о желании попасть в критическую секцию, а также должна существовать фишка в t1, дающая раз­решение на вход. Если оба процесса пытаются войти в критическую секцию одновременно, то переходы t1 и t2 вступят в конфликт, и только один из них сможет запуститься. Запуск tt запретит переход t2, вынуждая процесс 2 ждать, пока первый процесс выйдет из своей критической секции и возвратит фишку обратно в позицию T.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее