Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО лекции.docx
Скачиваний:
2
Добавлен:
19.09.2019
Размер:
23.74 Кб
Скачать

20042012 Лекция 4

Способы уменьшения потерь при реализации виртуальной памяти

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

При большом количестве пользователей и параллельных процессов в системе может возникать ситуация, когда хронически не хватает ресурсов ОП. Множество параллельных процессов не обеспечиваются необходимым количеством страниц или сегментов. В этом случае экспоненциально возникает количество страничных прерываний/ошибок и, как следствие, возрастает объём перемещения страниц между АСХ и ОП. При этом если рассматривать отдельно пользовательские/прикладные процессы и отдельно системные процессы, то, как правило, в этой ситуации прикладные процессы оказываются в худшем положении. Системные процессы активизируются по причине необходимости обслуживания большого количества страничных прерываний и передачи информации между средами хранения. Это сводится, в конечном счёте, к следующим негативным моментам:

  1. Резко увеличивается интенсивность перераспределения ОП.

  2. Загружаются и активизируются подсистемы ввода/вывода на внешние запоминающие устройства.

  3. Возникает необходимость перепланирования распределения ресурсов центрального процессора (ых ов).

Деятельность ВС в целом и обработка данных в такой ситуации вырождается. Возникает явление «пробуксовки». В этом случае ресурсы всех ЦП активно используются, активно осуществляется обмен между ОП и внешней памятью, но общее количество полезной работы, которая связана с развитием прикладных процессов, уменьшается. На практике бывают случае, когда пробуксовка ВС может составлять до 99% времени работы.

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

  1. Наиболее эффективным механизмом устранения «пробуксовки» является контроль загрузки секторов компьютера. В этом случае в состав ОС вводятся специальные механизмы и средства, которые контролируют (и регулируют) количество процессов, претендующих на ОП. Если при работе системы возникает определённый процент (достаточно высокий) страничный прерываний, что соответствует высокой степени перемещения информации между ОП и АСХ, некоторые активные процессы с невысоким приоритетом могут быть приостановлены полностью или частично. Раньше можно осуществлять такие процедуры вручную.

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

Для достижения повышения общей эффективности системы необходимо использовать дополнительнрые средства:

  1. Средства, уменьшающие явление пробуксовки и нерационального использования ресурсов

  2. Необходимо подбирать и варьировать чистые технические характеристики системы

  3. Использовать наиболее оптимальные варианты для решения задач преобразования, размещения и замещения информации.

В общей сложности приводит к увеличению эффективности использования ВАП.