По характеру использования
· Последовательно-используемый – это ресурс, который одновременно может использоваться только одним процессом.
· Параллельно-используемый - это ресурс, который одновременно используется несколькими одновременно работающими процессами. Например, массив данных находится в некоторой области ОП и допускает чтение этих данных из нее.
Прерывания
Реализация мультипрограммного режима работы вычислительных систем возможна только на применении концепции прерываний, которая состоит в том, что любой процесс, обслуживаемый операционной системой, может быть прерван процессом, имеющим более высокий приоритет.
Прерывание - временное прекращение процесса, такого как выполнение программы вычислительной машины, вызванное событием, внешним по отношению к этому процессу, и совершенное таким образом, что процесс может быть продолжен.
Приведенное определение исчерпывающе характеризует суть понятия прерывания, оставляя за рамками рассмотрения физическую природу аппаратного средства, где возникает это прерывание. Существует другое определение, в котором конкретизируется устройство, в котором происходит прерывание:
Прерывание - операция процессора, состоящее в регистрации состояния процессора, предшествующего прерыванию, и установлении нового состояния.
В вычислительной машине прерывание - это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Сигнал “прерывание” сначала отрабатывается аппаратурой вычислительной машины - системой прерываний. Если произошло прерывание, то в вычислительной системе выполняются последовательно следующие действия:
- управление передается операционной системе;
- операционная система запоминает состояние прерванного процесса;
- операционная система анализирует тип прерывания и передает управление соответствующей программе обработки этого прерывания;
- программа обработки прерывания выполняет предписанные действия и передает управление операционной системе;
- операционная система по результатам работы программы обработки прерываний либо восстанавливает состояние прерванного процесса и позволяет развиваться ему дальше, либо аварийно заканчивает его.
Следует иметь в виду, что инициатором прерывания может быть также и выполняющийся процесс.
Количество источников сигналов прерывания достигает в современных вычислительных системах нескольких сотен и даже тысяч. Все возможные в системе прерывания можно классифицировать по месту (причине) их возникновения. Различают шесть основных классов прерываний:
- прерывания от схем контроля ЭВМ;
- прерывания по рестарту (повторному пуску);
- прерывания ввода/вывода;
- внешние прерывания;
- прерывания по вызову супервизора;
- программные прерывания.
Тупики
Tупик (deadlock) - это такая ситуация в мультипрограммной системе, когда процесс ожидает некоторого события, которое никогда не произойдет. Системная тупиковая ситуация, или “зависание” системы - это ситуация, когда один или более процессов оказываются в состоянии тупика.
В ОС тупики в большинстве случаев возникают при конкуренции процессов за выделение ресурсов последовательного доступа, которые в каждый момент времени отводятся только одному пользователю.