Читайте также: |
|
Виртуальная память (Virtual Memory) - программно-аппаратное средство расширения пространства памяти, предоставляемой программе в качестве оперативной. Эта память физически реализуется в оперативной и дисковой памяти под управлением соответствующей ОС. При использовании ВП для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. ВП позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств, и обеспечить защиту памяти между разными приложениями, также позволяет использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на устройство хранения (диск)..Применение механизма ВП позволяет: 1) упростить адресацию памяти клиентским программным обеспечением;2) рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);3) изолировать процессы друг от друга. Страничная организация ВП: в большинстве современных ОС ВП организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины,которые являются минимальной единицей выделяемой. Процесс обращается к памяти с помощью адреса ВП, который содержит в себе номер страницы и смещение внутри страницы. Процессор преобразует номер виртуальной страницы в адрес соответствующей ей физической страницы при помощи буфера ассоциативной трансляции. При запросе на выделение памяти ОС может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Сегментная организация ВП: механизм организации ВП, при котором виртуальное пространство делится на части произвольного размера — сегменты. Позволяет разбить данные процесса на логические блоки. Для каждого сегмента могут быть назначены права доступа к нему пользователя и его процессов. При загрузке процесса часть сегментов помещается в оперативную память, а часть сегментов размещается в дисковой памяти. Во время загрузки система создает таблицу сегментов процесса, в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени.При обращении к памяти проверяется, разрешен ли доступ требуемого типа к данному сегменту. Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s. Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса. Для организации виртуальной памяти в Windows используются следующие функции Win32: - VirtualAlloc резервирует или согласует для резервирования виртуальную память; VirtualFree освобождает виртуальную память. Эти функции дают возможность приложению запомнить виртуальный адрес, по которому была выделена виртуальная память. Приложение может использовать память, отобразив файл в свое адресное пространство. Два процесса могут совместно использовать память, отображая один и тот же файл в свою виртуальную память.
Дата добавления: 2015-08-05; просмотров: 107 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Размещение информации в основной памяти IBM PC. | | | Интерфейсы внешних запоминающих устройств IBM PC |