Четверг, 25 Апр 2024, 23:14
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Учителю физики [224]
Учителю химии [112]
Учителю биологии [744]
Учителю информатики [147]
Учителю математики [110]
Учителю русского языка [250]
Учителю астрономии [437]
Учителю иностранного языка [182]
Учителю истории (открытые уроки) [151]
Учителю обществознания [53]
Учителю истории [354]
Учителю труда [14]
Учителю ОБЖ [2]
Учителю искусствоведения [0]
Изо
Учителю белорусского языка и литературы [1]
Учителю допризывной и медицинской подготовки [0]
Учителю географии [9]
Учителю МХК [1]
Учителю музыки [3]
Учителю физкультуры [15]
Учителю черчения [0]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51635


Онлайн всего: 1
Гостей: 1
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » По предмету » Учителю информатики

Понятие виртуальной памяти
Уже достаточно давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых превышал имеющуюся в наличии свободную память. Решением было разбиение про-граммы на части, называемые оверлеями. 0-ой оверлей начинал выполняться первым. Когда он закан-чивал свое выполнение, он вызывал другой оверлей. Все оверлеи хранились на диске и перемещались между памятью и диском средствами операционной системы. Однако разбиение про-граммы на части и планирование их загрузки в оперативную память должен был осуществлять программист.
Развитие методов организации вычислительного процесса в этом направлении привело к появ-лению метода, известного под названием виртуальная память. Виртуальным называется ресурс, ко-торый пользователю или пользовательской программе представляется обладающим свойствами, ко-торыми он в действительности не обладает. Так, например, пользователю может быть предоставлена виртуальная оперативная память, размер которой превосходит всю имеющуюся в системе реальную оперативную память. Пользователь пишет программы так, как будто в его распоряжении имеется од-нородная оперативная память большого объема, но в действительности все данные, используемые программой, хранятся на одном или нескольких разнородных запоминающих устройствах, обычно на дисках, и при необходимости частями отображаются в реальную память
Итак, виртуальной памятью называется основная память процесса, адресное пространство ко-торого соответствует диапазону непосредственной адресации системы команд ЭВМ и которая обычно не совпадает с объемом реальной памяти ЭВМ.
EC ЭВМ> 24 разрядами адресует 16 Мб памяти машины.
Операционная система позволяет одновременно работать N процессов > N* 16 мб.
Начиная с Intel 386 (32 разрядные МП) – для каждого процесса выделяет адресное пространство размером 4 Gb. Одновременно работает N процессов > N* 4 Gb.
Управление виртуальной памятью имеет своей целью:
1.Обеспечить возможность создания и выполнения на ЭВМ программ максимально допус-тимого размера.
2.Облегчить жизнь программиста, сняв с него проблемы, связанные с ограниченным объе-мом РОП.
3.Устранить временную фрагментацию, максимально эффективно используя ОП ЭВМ, ко-торая образуется при отсутствии необходимого участка программы/данных в РОП и определяется временем, необходимым для размещения необходимых данных в РОП.
Суть концепции виртуальной памяти (ВП) заключается в том, что адресное пространство (АП) процесса отделяется от адресов реальной оперативной памяти (РОП) и по необходимости динамиче-ски и по частям отображается в реальную память.
В ОС с реальной ОП привязка адресного пространства к реальным адресам осуществляется ста-тически до выполнения программы на все время выполнения.
Концепция виртуальной памяти
В ВС с виртуальной памятью адресное пространство (АП) процесса (образ процесса) во время выполнения хранится во внешней памяти ЭВМ и загружается в реальную память по частям динами-чески по необходимости в любое свободное место РОП. Однако программа ничего не знает об этом, написана и выполняется так, как будто полностью находится в РОП.
Виртуальная память - это моделирование оперативной памяти во внешней памяти.
Механизм отображения виртуальных и реальных адресов устанавливает между ними соответст-вие и называется динамическим преобразованием адресов (ДПА).

Компьютер здесь уже выступает как логическое устройство, а не физическая машина с уникаль-ными характеристиками. ДПА поддерживается на аппаратно-микропрограммном уровне. В МП Intel, начиная с 386 процессора, выполняется поддержка виртуальной памяти.
Такая процедура выполняется для EC ЭВМ - ряд 2 и выше, для СМ ЭВМ- 1700, для IBM PC – I386 и выше.
При управлении виртуальной памятью смежные виртуальные адреса не обязательно будут смежными реальными адресами (искусственная смежность). Программист освобождается от необхо-димости учитывать размещение своих процедур и данных в РОП. Он получает возможность писать программы наиболее естественным образом, прорабатывая лишь детали алгоритма и структуру про-граммы, игнорируя конкретные особенности структуры аппаратных средств.
Механизм ДПА предполагает ведение таблиц, показывающих какие ячейки ВП в текущий мо-мент времени находятся в РОП и где именно. Поскольку индивидуальное отображение элементов информации (пословное или побайтовое) не имеет смысла (так как под таблицы отображения адресов потребовалось бы РОП больше чем под процессы), то отображение адресов выполняется на уровне блоков ОП.
Проблема: какую часть процессов держать в ОП, в некоторые моменты времени, выталкивая одни участки РОП и размещая другие.
Еще один вопрос, который необходимо решать: Каким сделать размер блока?
Увеличение размера блока приводит к уменьшению размера таблицы отображения блоков, но увеличивает время обмена и, наоборот, уменьшение размера блока приводит к увеличению таблиц и уменьшению времени обмена с внешней памятью.
Блоки могут быть фиксированного размера (страницы) и переменного размера (сегменты). В этой связи существует четыре способа организации виртуальной памяти:
1.Динамическая страничная организация.
2.Сегментная организация.
3.Комбинированная сегментно-страничная организация.
4.Двухуровневая страничная организация.
Виртуальные адреса в страничных и сегментных системах являются двухкомпонентными и представляют собой упорядоченную пару (p,d), где p - номер блока (страницы либо сегмента), в кото-рой размещается элемент, а d - смещение относительно начального адреса этого блока. Преобразова-ние виртуального адреса V=(p,d) в адрес реальной памяти r осуществляется следующим образом. При активизации очередного процесса в специальный регистр процессора загружается адрес таблицы отображения блоков данного процесса. В соответствии с номером блока p из таблице отображения блоков, считывается строка, в которой устанавливается соответствие между номерами виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. Кроме того, в таблице страниц содержится управляю-щая информация, такая как признак модификации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета числа обращений за определенный период времени) и другие данные, формируемые и используемые механизмом виртуальной памяти. К считанному физическому адресу размещения выбранного блока добавляется размер смещения d и вычисляется требуемый реальный адрес.

Рассмотрим, в чем состоит стратегия управления виртуальной памятью? Аналогично управле-нию РОП для управления ВП имеется три категории стратегий, при имеющейся цели снизить ожида-ние страниц и располагать в РОП только используемые блоки.
Стратегия вталкивания, определяющая, когда следует переписать страницу или сегмент из внешней памяти в ОП.
а) вталкивание по запросу - система ожидает ссылки на страницу/сегмент от выпол-няющегося процесса (прерывание по отсутствию страницы);
аргументы за:
• путь выполнения программы наверняка предсказать невозможно;
• гарантия расположения в ОП только нужных страниц;
• накладные расходы на определение требуемых страниц минимальны;
аргументы против:
• подкачка по одному блоку приводит к увеличению общего времени ожидания.
б) упреждающее вталкивание предполагает, что система может предвидеть необходи-мость использования в дальнейшем страницы/сегмента. Если вероятность обращений высока и есть свободная ОП, то соответствующие блоки переписываются в ОП.
Достоинство: сокращается время ожидания.
В настоящее время быстродействие аппаратуры увеличивается, и неоптимальные решения не приводят к уменьшению эффективности вычислительных систем.
Стратегия размещения, определяющая, куда поместить поступающую страницу/сегмент. В страничных системах - тривиально: в любой свободный блок (страница имеет фиксированный раз-мер). В сегментных системах те же самые стратегии, что и для реальной ОП (в первую подходящую область, в наиболее подходящую, в наименее подходящую).
Стратегия выталкивания (замещения), определяющая, какую страницу/сегмент удалить из ОП для освобождения места поступающей страницы.
Здесь основная проблема "пробуксовки", при которой вытолкнутая страница в следующий мо-мент должна вновь размещаться в РОП.
Рассмотрим процедуры определения блоков для выталкивания из ОП.
а) выталкивание случайной страницы - в реальных системах не применяется;
б) выталкивание первой пришедшей страницы (FIFO - очередь). Для ее реализации не-обходимо устанавливать временные метки страниц.
Аргумент: у страницы уже были возможности использовать свой шанс.
Фактически: большая вероятность заместить активно используемые страницы, поскольку нахо-ждение страниц длительное время может означать, что она постоянно в работе. Например, исполь-зуемый редактор текстов.

в) выталкивание дольше всего неиспользованных страниц.
Для реализации необходимо реализовать обновляемые временные метки. Эвристический аргу-мент: - недавнее прошлое - хороший ориентир на будущее.
Недостаток - существенные издержки: постоянное обновление временных меток.
г) выталкивание реже всего используемых страниц - предполагает наличие счетчиков страниц (менее интенсивно, нежели обновляемые временные метки). Интуитивно оп-равдано, но тоже может быть не рационально.
д) выталкивание не использующихся в последнее время страниц - самый распростра-ненный алгоритм с малыми издержками. Реализуется двумя аппаратными битами на страницу:
1.признак обращения 0 - было
1 - не было.
2.признак модификации записи 0 - неизменен.
1 - изменен.
Возможны следующие варианты комбинаций {00,10,01,11}. Если изменений на странице не бы-ло, то страницу можно просто переписать, а не сохранять на диске.
Категория: Учителю информатики | Добавил: Wrecker (29 Июл 2012)
Просмотров: 1227 | Рейтинг: 1.4/ 9 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Четверг
25 Апр 2024
23:14


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz