Одни ресурсы могут изменяться или модифицироваться процессами, а другие^ нет. Поведение разделяемых модифицируемых или немодифицируемых ресурсов определяется типом ресурса.
§ 3.1 • Граф распределения ресурсов ,
Графы распределения ресурсов — это направленные графы, которые показывают, как распределяются ресурсы в системе. Такой граф состоит из множества вершин V множества ребер E. Множество вершин делится на две категории:
P = {P 1 , P 2 ,..., Pn)
R = {R 1 , R 2 ,..., Rm}
Множество P— это множество всех процессов, а R— это множество всех ресурсов в системе Ребро, направленное от процесса к ресурсу, называется
P i -> R j Ребро запроса: процесс Р i запрашивает экземпляр типа ресурса R j
R j -> P i . Ребро назначения: экземпляр типа ресурса R j выделен процессу P i ;
Каждый процесс в графе распределения ресурсов отображается кругом, а каждый ресурс — прямоугольником. Поскольку может быть много экземпляров одного типа ресурса, то каждый из них представляется точкой внутри прямоугольника. Ребро запроса указывает на периметр прямоугольника ресурса, а ребро назначения берет начало из точки и касается периметра круга процесса.
Граф распределения ресурсов, показанный на рис. 3.11, отображает следующее.
Множества P, R и E
P={P a , P b , P c , P d }
R={R 1 ,R 2 ,R 3 }
E = {R 1 -> P a , R 1 -> P d , P b -> R 2 , R 2 -> P c , P c -> R 3 , R 3 -> P d }
Типы ресурсов
Существуют три основных типа ресурсов: аппаратные, информационные и программные.
Некоторые аппаратные ресурсы прерываются [7], чтобы разрешить доступ к ним различных процессов. Например, прерывания процессора позволяют различным процессам выполняться по очереди. Оперативное запоминающее устройство, или ОЗУ (RAM),- это еще один пример ресурса, разделяемого посредством прерываний. Когда процесс не выполняется, некоторые страничные блоки, которые он занимает, могут быть выгружены во вспомогательное запоминающее устройство, а на их место загружены данные, относящиеся к другому процессу. В любой момент времени весь диапазон памяти может быть занят страничными блоками только одного процесса.
Примером разделяемого, но непрерываемого ресурса может служить принтер. При совместном использовании принтера задания, посылаемые на печать каждым процессом, хранятся в очереди. Каждое задание печатается до конца, и только потом начинает выполняться следующее задание. Принтер не прерывается ни одним ждущим заданием, если не отменяется текущее задание.
POSIX-функции для установки ограничений доступа к ресурсам