Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Определение тупика



Более точное определение тупика требует использования математической модели ВС.

Определим систему как пару

S = { s, p },

где s = {S1, S2,...} - множество состояний системы, p = { p1, p2,...} - множество процессов, протекающих в системе.

В системе, которая определяется таким образом, процесс pi Î p представляет собой частичную функцию, отображающую состояния системы в непустые подмножества ее же состояний:

pi: s ® { s }.

Процесс pi может быть определен не для всех состояний.

Если pi определен на состоянии Sl, то pi(Sl) - область его значений, то есть процесс pi может изменить состояние системы из Sl в состояние Sk Î pi(Sl). Для перевода системы из состояния Sl в состояние Sk процесс должен выполнить некоторую операцию. Для обозначения перевода процессом pi системы S из состояния Sl в состояние Sk введем обозначение

pi

Sl ® Sk.

Состояние системы может измениться только при выполнении процессом одной из следующих операций:

– запрос на ресурс;

– приобретение ресурса;

– освобождение ресурса.

Введем еще одно обозначение: нотация

*

Sl ® Sn

означает

(a) Sl = Sn или

pi

(b) $ pi: Sl ® Sn или

pi *

(c) $ Sk & $ pi: (Sl ® Sk) & (Sk ® Sn).

То есть система может быть переведена из состояния Sl в состояние Sn посредством h операций (h ³ 0), которые могут быть выполнены m различными процессами (m ³ 0).

Используя введенные обозначения, определим состояние тупика.

Процесс pi заблокирован в состоянии Sl, если не существует ни одного такого состояния Sk, что

pi

Sl ® Sk.

То есть заблокированный процесс не может выполнить никакой операции по изменению состояния системы.

Процесс pi находится в тупике в состоянии Sl, если для любого состояния Sk, такого что

*

Sl ® Sk

процесс pi будет заблокирован в этом состоянии. То есть процесс находится в тупике в состоянии Sl, если он заблокирован в этом состоянии и останется заблокированным в любом другом состоянии Sk, в которое система может перейти из этого состояния Sl при выполнении любых операций любыми другими процессами (процесс останется заблокированным, как бы ни изменялось состояние системы в будущем).

Состояние Sl называется тупиковым, если существует процесс pi, находящийся в тупике в этом состоянии.

Состояние Sl называется безопасным, если любое состояние Sk, такое что

*

Sl ® Sk,

не будет состоянием тупика.

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

Рассмотрим пример системы, в которой есть как тупиковое, так и безопасное состояние. Пусть s = {S1, S2, S3, S4, S5} - множество состояний системы, p = {p1, p2} - множество выполняющихся в ней процессов (рис.2.9).

p1 p2

p2 p1

S1 S2 p1 S3 S4 p1 S5

Рис.3.9. Пример системы с тупиковым и безопасным состоянием

Состояние S1 является состоянием тупика. Состояния S4 и S5 являются безопасными состояниями. Состояния S2 и S3 не являются безопасными состояниями, но не являются и тупиковыми.





Дата публикования: 2014-11-29; Прочитано: 285 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...