Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая ос.rtf
Скачиваний:
50
Добавлен:
09.05.2015
Размер:
2.98 Mб
Скачать

3.3 Перемещаемые разделы

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

Рис. 3.1. Распределение памяти перемещаемыми разделами

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

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

Концепция сжатия применяется и при использовании других методов распределения памяти, когда отдельному процессу выделяется не одна сплошная область памяти, а несколько несмежных участков памяти произвольного размера (сегментов). Такой подход был использован в ранних версиях OS/2, в которых память распределялась сегментами, а возникавшая при этом фрагментация устранялась путем периодического перемещения сегментов.

4. Управление виртуальной памятью

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

4.1 Страничный способ распределения виртуальной памяти

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

Преимущества: устранение фрагментации памяти, т.е. страницы одинакового размера.

Недостатки: программа разбивается на страницы случайно, без учета логической связи, это приводит к потерям времени на межстраничные переходы.

В ОС Windows память может быть увеличена до 4 Гб, а размер страниц до 4 Кб.