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

Понятие взаимоисключения нескольких процессов и критические участки

Пакетные ОС | ОС разделения времени и многопользовательские ОС | ОС реального времени | Иерархический принцип построения ОС. Простая и расширенная машины | Виртуальные машины | Цели и задачи мультипрограммирования. | Понятие ядра ОС | Понятия процесса и потока | Алгоритмы с применением прерываний процессов и без них. | Понятие ресурса. Оперативно перераспределяемые и оперативно неперераспределяемые ресурсы |


Читайте также:
  1. I. Межличностные отношения и социальные роли. Понятие и структура общения.
  2. I. Понятие и классификация ощущений, их значение в теории ПП. Роль восприятия в маркетинге
  3. I. Понятие и характерны черты мусульманского права.
  4. I. Понятие малой группы. Виды и характеристика малых групп
  5. I. Понятие об эмоциях, их структура и функции. Механизмы психологической защиты
  6. I.2.1) Понятие права.
  7. II. Понятие правосубъектности этнической (национальной) общности.

При работе вычислительной системы в режиме мультипрограм­мирования (многозадачности) возможны ситуации, когда:

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

- несколько независимо работающих процессов время от времени должны получать в монопольное владение какой-либо ресурс систе­мы.

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

Взаимоисключение обеспечивается включением в код програм­мы специальных критических участков (секций). Каждый критический участок отвечает за свой разделяемый ресурс. Процесс может войти в свой критический участок только в том слу­чае, если ни один другой процесс не вошёл в такой же свой крити­ческий участок. В противном случае процесс должен ждать выхода другого процесса из своего критического участка.

Основные требования, выдвигаемые к разработке кодов крити­ческих участков:

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

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

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

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

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

- если какой-либо процесс, участвующий во взаимоисключении, завершается, это не должно влиять на возможность других процессов входить в свои критические секции.

Режим взаимоисключения может быть реализован различными средствами.

Прежде всего, это могут быть программные и программно-аппаратные методы.

В первом случае режим взаимоисключения реализуется полно­стью программным образом без поддержки специфических аппарат­ных компонентов ЭВМ. В этом смысле такие реализации являются лучше переносимыми между различными архитектурами.

Во втором случае для реализации взаимоисключения использу­ются специальные команды конкретных ЭВМ, позволяю­щие единым актом проверить значение ячейки памяти и установить в ней новое значение.

Среди программных методов выделяют методы:

- основанные на программном коде, встраиваемом в сами при­кладные процессы (Деккера и Петерсона);

- основанные на семафорах;

- основанные на мониторах.


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


<== предыдущая страница | следующая страница ==>
Распределение ресурсов и управление ресурсами как функция ОС| Алгоритмы взаимоисключения Деккера и Петерсона.

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