Cтраница 1
![]() |
Элементы релейных схем. [1] |
Взаимоблокировка ( рис. 16.2 6) применяется для предотвращения срабатывания одного реле, если в этот момент времени уже сработало другое реле. Для осуществления взаимоблокировки размыкающие контакты одного реле, например 1К1, включаются в цепь обмотки другого реле. [2]
Взаимоблокировки могут возникать между различными машинами. [3]
Взаимоблокировки могут произойти во множестве других ситуаций помимо запросов выделенных устройств ввода-вывода. В системах баз данных программа может оказаться вынужденной заблокировать несколько записей, чтобы избежать состояния конкуренции. [4]
Взаимоблокировки можно избежать, отслеживая, которое состояние является безопасным, а которое нет. Безопасное состояние - это то, в котором существует последовательность действий, гарантирующая, что все процессы смогут окончить свою работу. В небезопасном состоянии таких обязательств дать нельзя. Алгоритм банкира избегает тупиков, не выполняя запрос, если тот приводит систему в небезопасное состояние. [5]
Взаимоблокировки можно предотвратить структурно, построив систему таким образом, что тупиковая ситуация никогда не возникнет по построению. Например, если позволить процессу использовать только один ресурс в любой момент времени, не выполнится необходимое для возникновения тупиков условие циклического ожидания. Взаимоблокировки также можно предотвратить, если перенумеровать все ресурсы и затем требовать от процессов создания запросов в строго возрастающем порядке. [6]
Взаимоблокировки могут возникать между различными машинами. [7]
Взаимоблокировки могут произойти во множестве других ситуаций помимо запросов выделенных устройств ввода-вывода. В системах баз данных программа может оказаться вынужденной заблокировать несколько записей, чтобы избежать состояния конкуренции. [8]
Взаимоблокировки можно избежать, отслеживая, которое состояние является безопасным, а которое нет. Безопасное состояние - это то, в котором существует последовательность действий, гарантирующая, что все процессы смогут окончить свою работу. В небезопасном состоянии таких обязательств дать нельзя. Алгоритм банкира избегает тупиков, не выполняя запрос, если тот приводит систему в небезопасное состояние. [9]
Взаимоблокировки можно предотвратить структурно, построив систему таким образом, что тупиковая ситуация никогда не возникнет по построению. Например, если позволить процессу использовать только один ресурс в любой момент времени, не выполнится необходимое для возникновения тупиков условие циклического ожидания. Взаимоблокировки также можно предотвратить, если перенумеровать все ресурсы и затем требовать от процессов создания запросов в строго возрастающем порядке. [10]
![]() |
Схемы магнитных пускателей. [11] |
Взаимоблокировку ( рис. 17.16, б) применяют для предотвращения срабатывания одного реле, если в этот момент времени уже сработало другое реле. [12]
Взаимоблокировку ( рис. 17.16, б) применяют для предотвращения срабатывания одного реле, если в этот момент времени уже сработало другое реле. Для осуществления взаимоблокировки размыкающие контакты одного реле, например Л / - /, включают в цепь обмотки другого реле. [13]
Когда взаимоблокировка обнаружена, достаточно просто понять, какие ресурсы нужны процессам. Чтобы выйти из тупика, процесс, занимающий необходимый ресурс, откатывается к тому моменту времени, перед которым он получил данный ресурс, для чего запускается одна из его контрольных точек. В результате процесс вновь запускается с более раннего момента, когда он не занимал тот ресурс, который теперь предоставляется одному из процессов, попавших в тупик. Если возобновленный процесс снова пытается получить данный ресурс, ему придется ждать того момента, когда ресурс опять станет доступен. [14]
Обходится проблема взаимоблокировки из предыдущего решения. Должны быть выполнены следующие шаги. [15]