Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DiVM / OSISP / Лекции_ОССП_Р2.pdf
Скачиваний:
95
Добавлен:
11.05.2015
Размер:
1.33 Mб
Скачать

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

3. Круговой циклической алгоритм.

 

 

 

 

 

 

 

 

 

очередь

 

ресурс

 

Обслужен-

 

 

 

 

 

 

Новый

 

 

 

ный

 

квант

 

 

запрос

 

 

 

обслуживания tk

 

 

 

 

4. В основу этой дисциплины обслуживания положена дисциплина FIFO, но время обслуживания каждого процесса здесь ограничено и определяется квантом времени обслуживания. Если запрос был обслужен полностью в течение этого кванта, он покидает очередь, иначе он помещается в конец очереди. А если не успел, то поступает опять в конец очереди. Эта дисциплина широко применяется в системах распределения времени. Хотя в этой дисциплине нет явных приоритетов, автоматически получают преимущество процессы, не требующие долгого обслуживания. Короткие процессы имеют меньшее среднее время пребывания в очереди по сравнению с длинными. Чем меньше квант времени, тем выше благоприятствование коротким процессам, но уменьшение кванта времени ведёт к увеличению затрат, связанных с переключением с процесса на процесс, что особенно неблагоприятно для длинных процессов. Это одноочередная дисциплина.

В ОС также широко используются многоочередные дисциплины.

2.1.6 Концепция прерывания

Реализация многопрограммного режима работы ЭВМ основана на использовании прерываний. Так, программа, обслуживаемая процессором, прерывается изза отсутствия данных, подлежащих обработке в оперативной памяти. Программа, обслуживаемая процессором, может быть прервана более приоритетной программой. Из всего многообразия различных причин прерывания необходимо выделить два вида системных причин прерывания: первого и второго рода.

Системные причины прерывания первого рода возникают в том случае, ко-

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

31

какие-либо действия. Эти причины появляются и тогда, когда процесс порождает, уничтожает и выполняет какие-либо действия в отношении других процессов. При таких прерываниях возникает необходимость в явной форме выражать требование на прерывание процессом самого себя. Необходимо установление связи типа «вызывающий — вызываемый». Установка такой связи реализуется, как правило, в форме макрокоманд, представленных в пользовательской программе. При выполнении таких макрокоманд происходит переключение процессора с обработки программы пакета на работу операционной системы, которая подготавливает и обеспечивает выполнение соответствующего прерывания. К этой группе относятся и так называемые внутренние прерывания, которые связаны с работой процессора и являются синхронными с его операциями. К таким прерываниям относится арифметическое переполнение, исчезновение порядка в операциях с плавающей запятой, обращение к заишщеннрму массиву оперативной памяти и др.

Системная причина прерывания второго рода обусловлена необходимо-

стью проведения синхронизации между параллельными процессами. Процессы, порожденные и подчиненные операционной системе, по мере их окончания или при какой-то другой ситуации вырабатывают сигнал прерывания. Например, по мере окончания внешнего процесса пересылки массива данных с МД в оперативную память вырабатывается сигнал прерывания. Этот сигнал прерывает исполнение обслуживаемой программы процессором, которое происходит «без ее ведома», т. е. асинхронно.

При обработке каждого прерывания необходимо выполнять такую последовательность действий:

1)восприятие запроса на прерывание;

2)запоминание состояния прерванного процесса, определяемое прежде всего значением счетчика команд. Оно должно отражать и признак команды, после выполнения которой произошло прерывание, содержимое регистров общего назначения, режим работы процессора (с позиции обслуживания процессором пользовательской или системной программы в момент прерывания);

3)передача управления прерывающей программе, для чего счетчик команд СК должен быть занесен адрес, который, как правило, является уникальным для каждого типа прерывания;

4)обработка прерывания;

5)восстановление нормальной работы.

В большинстве ЭВМ этапы 1—3 реализуются аппаратными средствами, а этапы 4 и 5 — операционной системой, ее блоком программ обработки прерываний.

Наряду с описанными функциями, реализуемыми на аппаратном уровне, обработка, прерываний реализуется в ОС на уровне системных программ. Такие функции представлены в прерывающих программах. Их количество определяется количеством уровней прерывания.

Например, обработчик внешних прерываний, обработчик программных прерываний. Прерывающая программа, обслуживающая запросы по уровню

32

Соседние файлы в папке OSISP