Способы управления памятью

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

 

Рис. 4.2. Фиксированные разделы памяти с одной входной очередью

 

Многозадачность вносит проблему переадресации. Во время компоновки программы компоновщик должен знать, с какого адреса будет начинаться программа в памяти. На рис. 4.2 показаны разделы памяти, используемые различными процессами, стоящими на очередь для обработки в пакетном режиме. Допустим, что в данном примере операционная система занимает адресное пространство 0-100К в памяти компьютера.

Предположим, что первая команда программы представляет собой вызов процедуры с абсолютным адресом 100 внутри двоичного файла, создаваемого компоновщиком. Если эта программа загрузится в раздел 1 (по адресу 100К), команда обратится к абсолютному адресу 100, принадлежащему операционной системе. А нужно вызвать процедуру по адресу 100К+100. Если же программа загрузится в раздел 2, команду нужно переадресовать по адресу 200К+100 и т.д. Эта проблема известна как проблема переадресации.

Одним из возможных решений является модификация команд во время загрузки программы в память. В программе, загружаемой в раздел 1, к каждому адресу прибавляется значение 100К, в программе, которая попадет в раздел 2, к адресам добавляется значение 200К и т.д. Чтобы выполнить подобную переадресацию во время загрузки, компоновщик должен включить в двоичную программу список или битовую карту с информацией о том, какие слова в программе являются адресами (их нужно перераспределить), а какие – кодами машинных команд, которые не нужно изменять. Так работает операционная система OS/MFT.

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

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

В операционной системе Windows существует файл подкачки, в котором временно сохраняются процессы, для которых не хватает места в оперативной памяти компьютера. Имеется возможность настроить режим работы этого файла. Для этого необходимо открыть «Панель управления > Производительность и обслуживание > Система > Дополнительно > Быстродействие (параметры) > Дополнительно > Виртуальная память > Изменить». Если на компьютере с объемом оперативной памяти 512 Мбайт установлена операционная система Windows XP, то, в принципе, можно обойтись без файла подкачки вообще – это только повысит быстродействие системы. Если объем оперативной памяти меньше этой величины, рекомендуется установить одинаковый исходный и максимальный размер файла подкачки. Тем самым, можно снизить фрагментацию диска и избавиться от распространенной проблемы, когда из-за разросшегося файла подкачки на диске не хватает места. Теперь он будет занимать фиксированный размер, и распределить место на диске будет гораздо проще. Вполне приемлемая цифра – размер файла подкачки в 2-4 раза больше объема физической оперативной памяти компьютера.

 








Дата добавления: 2014-12-13; просмотров: 1178;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.