русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Модель пространства состояний системы


Дата добавления: 2014-11-28; просмотров: 966; Нарушение авторских прав


Приведем еще одну формальную модель (она подробно рассмотрена в работе [54]). Эта модель очень проста, однако она позволяет сформулировать, что нам нужно делать, чтобы не попасть в тупиковое состояние.

' Напомним, что деревом в теории графов называют граф, не имеющий циклов.


260_______________________ Глава 8. Проблема тупиков и методы борьбы с ними

Пусть состояние операционной системы сводится к состоянию различных ресур­сов в системе (свободны они или выделены какому-нибудь процессу). Состояние системы изменяется процессами, когда они запрашивают, приобретают или осво­бождают ресурсы — это единственно возможные действия (точнее, мы принимаем во внимание только такие действия). Если процесс не блокирован в данном состо­янии, он может изменить это состояние на новое. Однако так как в общем случае невозможно знать априори, какой путь может избрать произвольный процесс в своей программе (это неразрешимая проблема!), то новое состояние может быть любым из конечного числа возможных. Следовательно, процессы нами будут трак­товаться как недетерминированные объекты. Введенные ограничения на извест­ные понятия приводят нас к нескольким формальным определениям.

□ Система есть пара , где

— множество состояний системы

— множество процессов

□ Процесс Р; есть частичная функция, отображающая состояние системы в непу­
стые подмножества ее же состояний. Это обозначается так:

Если процесс Р; определен на состоянии S, то область значений обозначается как . Если , то мы говорим, что может изменить состояние S,. в

состояние Sk посредством операции, и используем обозначение Наконец, запись означает, что для некоторо-

го i, или для некоторых i и Sk, причем

Другими словами, система может быть переведена посредством n > О операций с помощью m > 0 различных процессов из состояния St. в состояние Sw. Мы говорим, что процесс заблокирован в данном состоянии, если он не может из­менить состояние, то есть в этом состоянии процесс не может ни требовать, ни получать, ни освобождать ресурсы. Поэтому справедливо следующее. Процесс Р: заблокирован в состоянии S,,, если не существует ни одного состояния



,такого что , причем

Далее, мы говорим, что процесс находится в тупике в данном состоянии , если он заблокирован в состоянии и если вне зависимости от того, какие операции (изменения состояний) произойдут в будущем, процесс остается заблокирован­ным. Поэтому дадим еще одно определение.

Процесс находится в тупике в состоянии , если для всех состояний , таких что , процесс Р, блокирован в состоянии

Приведем пример. Определим систему :


формальные модели для изучения проблемы тупиковых ситуаций_______________ 261

Некоторые возможные последовательности изменений для этой системы таковы:

Последовательность может быть реализована, например, следующим

образом: или же

Заметим, что процесс находится в тупике как в состоянии , так и в состоянии ; для последнего случая или и процесс не оказыва-

ется заблокированным ни в , ни в

Диаграмма переходов этой системы изображена на рис. 8.7.

Рис. 8.7. Пример системы <!!!!!!!!!!!!!!!!!!!!о, я> на четыре состояния

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

Теперь мы можем сказать, что, по определению, тупик предотвращается при вве­дении такого ограничения на систему, чтобы каждое ее возможное состояние не было тупиковым состоянием. Введем еще одно определение.

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

Рассмотрим еще один пример системы . Граф ее состояний приведен на

рис. 8.8. Здесь состояния S2 и S3 являются безопасными; из них система никогда не сможет попасть в тупиковое состояние. Состояния S, и S4 могут привести как к безопасным состояниям, так и к опасному состоянию S5. Состояния S6 и S7 явля­ются тупиковыми.

Наконец, в качестве еще одной простейшей системы вида <!!!!!!!!!!!а, п> приведем пример тупика с ресурсами типа SR, уже рассмотренный нами ранее и проиллюстриро­ванный рис. 8.3. Для этого определим состояния процессов Pj и Р2, которые ис­пользуют ресурсы R, и R2 (табл. 8.1).

Пусть состояние системы означает, что процесс находится в состоянии , а процесс Р2 — в состоянии . Возможные изменения в пространстве состояний


262_______________________ Глава 8, Проблема тупиков и методы борьбы с ними

этой системы изображены на рис. 8.9. Вертикальными стрелками показаны воз­можные переходы из одного состояния в другое для процесса Р,, а горизонтальны­ми — для процесса Р2. В данной системе имеется три опасных состояния: S22, S23 и S32. Попав в любое из них, мы неминуемо перейдем в тупиковое состояние S33.

Рис. 8.8. Пример системы <а, !!!!!!!!!!п> с безопасными, опасными и тупиковым состояниями

Рис. 8.9. Модель системы из двух процессов


Методы борьбы с тупиками____________________________________________ 263

Таблица 8.1. Состояния процессов Р, и Р2 при использовании ресурсов R, и R2

Р, Описание Р2 Описание

0 Не держит никаких ресурсов 0 Не держит никаких ресурсов

1 Запросил ресурс R2l не держит 1 Запросил ресурс R,, не держит
никаких ресурсов никаких ресурсов

2 Держит ресурс R2 2 Держит ресурс R,

3 Запросил ресурс R,, держит ресурс R2 3 Запросил ресурс R2, держит ресурс R,

4 Держит ресурсы R, и R2 4 Держит ресурсы R, и R2

5 Держит ресурс R2 после освобождения 5 Держит ресурс R2 после освобождения
ресурса R, ресурса R,

Теперь, когда мы знаем понятия надежного, опасного и безопасного состояний, можно рассмотреть методы борьбы с тупиками.



<== предыдущая лекция | следующая лекция ==>
 | Задача № 1. Вычисление критериев Рейнольдса в потоке жидкого металлического расплава.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.198 сек.