Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Критические интервалы

Контекст процесса | Параллельные процессы | Списки готовых и ждущих процессов | Основные события и состояния процесса пользователя в реальном времени | Основные операции управления процессами | ПРОЦЕССЫ В UNIX | Префикс программного сегмента PSP | Создание дочерних процессов | Db 0 ; конец дополнительного окружения | Взаимодействие процессов |


Читайте также:
  1. XXXVII. Критические приемы проверки у современного историка
  2. Быть рядом с супругом в критические моменты — лучшее, что вы можете подарить ему, если его родной язык — подарки.
  3. Второе зеркало, отражающее в настоящем моменте наши критические суждения
  4. Критические параметры сверхпроводников
  5. КРИТИЧЕСКИЕ ПЕРИОДЫ В ОНТОГЕНЕЗЕ ЧЕЛОВЕКА
  6. Построим доверительные интервалы для параметров модели.

Когда процесс обращается к разделяемым ресурсам, то говорят, что он находится в своем критическом интервале, критическом участке, критической области. Концепция критического интервала была предложена Дейкстра в 1965 году.

Очевидно, необходимо исключать вхождения в критические интервалы всех других процессов, если один из процессов вошел в критический интервал. Их необходимо блокировать через ОС (перевести в состояние "ожидание"). Как только процесс, выполняющий операции критического интервала, выйдет из него, необходимо активизировать все ожидающие процессы. За этим следит ОС.

Все операции, находящиеся в критическом интервале, должны выполняться как неделимая последовательность. Для этого ОС блокирует все прерывания.

Начало и конец критического интервала обеспечиваются командами обращения к ОС через программно-управляемые прерывания. Программно-управляемое прерывание инициируется (возбуждается) выдачей определенной машинной команды, которая в разных ЭВМ называется по-разному (в ЕС ЭВМ - SVC-команда, СМ - экстракод, в микро-ЭВМ - команда int - прерывание). При программировании на Ассемблере эти команды выдают явно. В языках высокого уровня команды программно-управляемого прерывания генерируются соответствующим транслятором неявно для программиста..

При входе в критический интервал ОС сообщается имя разделяемого ресурса с тем, чтобы она выполнила взаимоисключение, связанное только с этим ресурсом. При выходе из критического интервала сообщается через параметры имя этого же ресурса:

нач_крит_уч-ка(имя ресурса) - захват;

кон_крит_уч-ка(имя ресурса) - освобождение.

Реализация этих примитивов может быть различной в разных системах.

На критический интервал, связанный с разделяемым ресурсом, налагаются три требования:

- в любой момент времени только один процесс может находиться внутри критического интервала;

- ни один процесс не может находиться внутри критического интервала бесконечно долго.

- ни один процесс не должен ждать бесконечно долго входа в критический интервал.

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


Дата добавления: 2015-10-02; просмотров: 108 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Взаимное исключение процессов| Синхронизация процессов

mybiblioteka.su - 2015-2024 год. (0.006 сек.)