Режимы работы вычислительной системы и их аппаратная поддержка
Затем обработчик начинает анализировать: что - это: фатальная вещь или операция обмена информацией, или прерывание по таймеру. Если фатальная, то происходит “большое упрятывание”. Если все нормально, то восстанавливаются все регистры.
Большое упрятывание - сохранение все информации (в буфер, программные таблицы) по которой происходило прерывание(о предыдущем процессе) Если ситуация связана с обменом, то происходит запоминание страницы.
Прерывание - аппаратное средство оно создается изначально, при проектировании.
Замечание. Если во время обработки прерывания происходит новое событие, то происходит блокировка прерываний. Если фатальное прерывание, то происходит проверка: не зациклилась ли программа.
Прерывание по таймеру.
Внутренние часы с заданным интервалом производят прерывание процессов(малое упрятывание)для обеспечения нормальной работы программ. Если после “малого упрятывания” все нормально, то программа продолжает свое выполнение. Наличие привилегированного режима - супервизора. Возникает проблема фрагментации. Каждой задаче выделяется непрерывный кусок памяти(другие задачи не могут его использовать). Это не экономично:
1)Для задачи выделяется n страниц. Одновременно они все не нужны. Речь идет о динамическом распределение ресурсов(можно перекинуть ненужные страницы на другие задачи). Реально ЦП всегда считает одну задачу. Следовательно, память либо не используется (задача ждет), либо используется частично (идет обмен с ВУ). Может выгоднее было бы отдать память программе, находящейся в фазе счета? Затем ждавшая задача возвращается в фазу счета. Здесь выгоднее использовать те страницы, которые в данный момент свободны(динамическое перемещение программы в памяти). Хорошо бы продолжать решение задачи (после прерывания) на другом месте памяти. Подходим к понятию виртуальной памяти и свопинга.
предыдущаяследующая