- •ОперационныеЛекция 8. системы
- •Ситуация гонок (race condition)
- •Ситуация гонок (race condition)
- •Ситуация гонок (race condition)
- •Понятие критической секции и
- •Понятие критической секции и
- •Требования к механизмам
- •Взаимоисключение через
- •Взаимоисключение через
- •Требования к механизмам
- •Требования к механизмам
- •Взаимоисключение через
- •Требования к механизмам
- •Требования к механизмам
- •Алгоритм Петерсона
- •Требования к механизмам
- •Требования к механизмам
Требования к механизмам
взаимного исключения
Два и более процесса не должны ни при каких условиях находиться одновременно в критических секциях, конфликтующих между собой.
В программе не должно быть никаких предположений о скорости выполнения процессов и о количестве процессоров в системе.
Процесс, находящийся вне критических секций, не должен при этом быть причиной блокировки других процессов.
Недопустима ситуация «вечного ожидания», при которой некоторый процесс никогда не получит доступ в нужную ему критическую секцию (ресурсное голодание – resource starvation).
Процесс, заблокированный в ожидании разрешения на вход в критическую секцию, не должен расходовать
Взаимоисключение через
«чередование»
Требования к механизмам
взаимного исключения
Два и более процесса не должны ни при каких условиях находиться одновременно в критических секциях, конфликтующих между собой.
В программе не должно быть никаких предположений о скорости выполнения процессов и о количестве процессоров в системе.
Процесс, находящийся вне критических секций, не должен при этом быть причиной блокировки других процессов.
Недопустима ситуация «вечного ожидания», при которой некоторый процесс никогда не получит доступ в нужную ему критическую секцию (ресурсное голодание – resource starvation).
Процесс, заблокированный в ожидании разрешения на вход в критическую секцию, не должен расходовать
Требования к механизмам
взаимного исключения
Два и более процесса не должны ни при каких условиях находиться одновременно в критических секциях, конфликтующих между собой.
В программе не должно быть никаких предположений о скорости выполнения процессов и о количестве процессоров в системе.
Процесс, находящийся вне критических секций, не должен при этом быть причиной блокировки других процессов.
Недопустима ситуация «вечного ожидания», при которой некоторый процесс никогда не получит доступ в нужную ему критическую секцию (ресурсное голодание – resource starvation).
Процесс, заблокированный в ожидании разрешения на вход в критическую секцию, не должен расходовать
Алгоритм Петерсона
Требования к механизмам
взаимного исключения
Два и более процесса не должны ни при каких условиях находиться одновременно в критических секциях, конфликтующих между собой.
В программе не должно быть никаких предположений о скорости выполнения процессов и о количестве процессоров в системе.
Процесс, находящийся вне критических секций, не должен при этом быть причиной блокировки других процессов.
Недопустима ситуация «вечного ожидания», при которой некоторый процесс никогда не получит доступ в нужную ему критическую секцию (ресурсное голодание – resource starvation).
Процесс, заблокированный в ожидании разрешения на вход в критическую секцию, не должен расходовать
Требования к механизмам
взаимного исключения
Два и более процесса не должны ни при каких условиях находиться одновременно в критических секциях, конфликтующих между собой.
В программе не должно быть никаких предположений о скорости выполнения процессов и о количестве процессоров в системе.
Процесс, находящийся вне критических секций, не должен при этом быть причиной блокировки других процессов.
Недопустима ситуация «вечного ожидания», при которой некоторый процесс никогда не получит доступ в нужную ему критическую секцию (ресурсное голодание – resource starvation).
Процесс, заблокированный в ожидании разрешения на вход в критическую секцию, не должен расходовать