45931 (Виртуальная память), страница 2

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "45931"

Текст 2 страницы из документа "45931"

разбивается на страницы объем которых должен соответствовать размерам ВП, иначе,

из-за неправильности размеров, ячейки физической памяти не будут совпадать с

ячейками ВП, что приведёт к путанице и "зависанию" системы. На рисунке 3

изображен способ формирования страниц ВП из физической памяти. Ячейки ОЗУ

разбиваются на страницы одинакового объема (например 1024 Байт), каждая из

которых может содержать какую-либо информацию. В ВЗУ, представленным накопителем

типа "винчестер", процессор резервирует определённые сектора с которыми

впоследствии будет работать ВП. Всё это складывается вместе и представляет собой

единую структуру ВП.

При работе пользователя, одна из его программ может находится в ОП (реально в

микросхеме на рис. 3), а другая в ВЗУ (на диске). При этом совершенно не

заметно, что пользователь работает с математическими адресами, поэтому в

процессе операций процессор может обращаться только к ОП (или СОП

Сверхоперативная память) в случае выполнения первой программы, или к диску, если

выполняется вторая программа. Но при работе второй программы, операционная

система должна организовать перепись той страницы, где находится вторая

программа, в Оперативную Память.

Пользователь не задумывается над этим, но в этот момент страница ВП с диска, как

бы накладывается на свободную* страницу ОП. Таким образом, при выполнении даже

одной программы, различные части этой программы могут находится в ОП (СОП) или

на магнитных носителях, а одни и те же ячейки общей физической памяти могут

называться различными адресами.

Адресная часть команды в пользовательских программах должна содержать адрес

математической страницы и адрес слова, которое должно находится в этой странице

(искомое слово). При распределении памяти между различными частями программы,

процессор берёт на себя функции преобразования адреса, находящегося в

математической странице, в адрес физической страницы. По этому адресу

располагается требуемое слово, которое может хранится как в ОП, так и во внешней

памяти. Совокупность адреса физической страницы и адреса слова внутри этой

страницы образует физический адрес операнда.

Соответствие между номерами физических и математических страниц устанавливается

специальной программой операционной системы, которая носит название менеджер

(диспетчер) памяти. Как правило эта программа является резидентной и управляет

всеми ресурсами машинной памяти. Для 286х процессоров используют менеджер

himem.sys, а для 386х и 486х машин emm386.sys и qemm.sys С помощью таких

программ формируется так называемая страничная таблица, которая помещается в

сверхоперативную память, обладающую наибольшим быстродействием. Эта таблица

является неотъемлемой частью организации ВП с СО, так как в ней содержится вся

информация о страницах, на данный момент находящихся в памяти. В страничной

таблице находятся адреса программ, уровень их приоритета и т. д. Содержание

страничной таблицы будет подробно описано ниже.

Рассмотрим пример преобразования виртуальных адресов в физические. Пусть

виртуальная память содержит 8 страниц по 2048 Байт в каждой странице. Для

компактности примера, предположим, что физическая память имеет ёмкость 4

страницы (по 2 Кб соответственно). При обращении к физической памяти для

проведения каких

14ти битовый виртуальный адрес

3х битовый 11ти битовый адрес в пределах выбранной ВС

номер ВС

Рис.4

—————

* Эта страница необязательно может быть свободной. Подробности о

стратегиях замены (своппирования) страниц см. в § 8

либо операций (записи или выборки операндов, выполнения команды или

осуществления передачи управления), программой формируется 14ти битовый адрес,

соответствующий виртуальному адресу, который определяет ячейки в промежутке от 0

до 16 Кб 1. В данном примере 14ти битовый адрес как бы разбивается на 3х битовый

номер виртуальной страницы и 11ти битовый внутри той страницы, номер которой

определён тем самым 3х битовым номером. Пример кода адреса при страничной

организации памяти показан на рисунке 4. А связь между номерами страниц и самими

виртуальными адресами показана на рисунке 5. Итак, рассмотрим рисунок 4: 3х

битовый номер виртуальной страницы 110 (в binформате) соответствует номерам 6 и

6h (dec и hexформаты) необходимо помнить, что все операции в машине производятся

в шестнадцатеричном формате. Таким образом, выбирается страница с номером 6 и

внутренним адресом 00101001110B (14Eh). Значит по рисунку 5, этот физический

адрес будет соответствовать виртуальному адресу 12288...

Страница Виртуальные адреса

Рис.5

Это значит, что шестая страница виртуальной памяти начинается с адреса 12288 и

заканчивается по адресу 14335. Общий объем виртуальной страницы составляет 2048

Байт (2 Кб).

Для определения физического адреса пользовательской программы, резидентный

диспетчер памяти под управлением операционной системы должен установить

местонахождение виртуальной страницы. Физическая страница памяти, которая

соответствует виртуальной, может находится в оперативной памяти, но может также

быть и на диске. Как было сказано ранее, для того чтобы установить соответствие

между виртуальной и физической страницами, ОС обращается к страничной таблице,

каждая из строк которой содержит по одной записи для каждой из восьми

виртуальных страниц. Как же организованна эта страничная таблица? Запись в

строке содержит три поля Первое однобитовое поле по сути является флагом в этой

ячейке может находится либо включенный, либо выключенный бит (1 или 0), что

указывает на конкретное местонахождение страницы: если в этом поле содержится

код нуля это подсказывает процессору, что необходимую страницу нужно искать во

внешней памяти, если значение бита в данном поле равно 1, то искомая страница

уже находится в оперативной памяти. Таким образом, все функции единственного

бита в этом поле принимать значения True или False. Второе поле содержит адрес

внешней памяти. Этот адрес станет необходим если искомой страницы нет в

оперативной памяти, а она находится в ВЗУ и её надо переписать в ОЗУ для работы

с программой, находящейся в этой странице. По этому адресу машина обращается к

виртуальной странице, хранящейся на диске и копирует её содержимое в ОЗУ. Важное

замечание заключается в том, что если в первом однобитовом поле флаг находится в

состоянии 1, то второе поле автоматически игнорируется, потому что искомая

страница уже "сидит" в ОП и нет никакой необходимости "MOV CX, ADDRESS"

(засылать в регистр CX адрес внешней ВС для его обработки). После того как

машина отработает с данной страницей ВП и надобность в ней исчезнет (возможно на

какое-то время), эта страница обратно переносится на диск, освобождая место для

другой страницы которая нужна машине в данный момент для продолжения работы.

Наконец третье поле, функциональная нагрузка которого указывать номер страницы

оперативной памяти, в которой находится необходимая информация. Если нужной

страницы нет в ОП, а она находится на диске (бит первого поля выключен), то

третье поле игнорируется. На рисунке 6 изображена схема Страничной организации

виртуальной памяти.

Рис.6 Страничная организация Виртуальной Памяти.

Итак, при распределении памяти в машине, супервизор формирует страничную

таблицу. Входом в эту таблицу является номер математической страницы, в которой

находится нужная ячейка памяти. Если адресная страница находится в ОП, то

формирование адреса происходит следующим образом: двух битовый номер страницы

заносится в два левых разряда адресного регистра оперативной памяти, а адрес

внутри виртуальной страницы (11 бит исходного адреса) переписывается в 11 правых

разрядов адресного регистра. Это очень хорошо показано на правой части рисунка.

Pµ регистр математического адреса, Pф регистр физического адреса, p номер

математической страницы, l смещение. Таким образом, lсмещение переписывается из

регистра математического адреса в регистр физического без изменений. По номеру p

из страничной таблицы извлекается номер физической страницы и, если эта страница

уже находится в ОП, то её номер записывается в регистр физического адреса, если

же искомая страница находится в ВЗУ, то она сначала переписывается в ОП. Для

этого используется или свободная страница ОП, или какая-либо страница ОП

освобождается: информация из этой страницы снова переносится во внешнюю память

(но ни в коем случае не стирается!). После этого страничная таблица обновляется

в неё заносятся сведения о новых страницах (той которая на данный момент

находится в ОЗУ и той которая переместилась во внешнюю память). Страничная

таблица является таким видом информации которая очень часто обновляется. Она

постоянно "дышит". Каждый раз когда у пользователя возникает потребность в новой

информации (в частности в новой странице памяти), привходит процесс

свопирования, то есть перемены местами страниц ОП и ВЗУ (англ. swap менять

местами). При этом в страничную таблицу заносится наиболее свежая информация о

том в какую страницу виртуальной памяти была помещена страница, только что

удалённая из ОП, содержится ли в этой странице нужное на следующем этапе слово и

т. д. У страничной таблицы множество работы.

Как было отмечено, для наиболее эффективного функционирования машины необходимы

большая ёмкость ОЗУ и быстродействие. Как известно, обычная оперативная память

(RAM) не является максимально быстродействующей. Это значит, что если бы

страничная таблица находилась в такой памяти, то пользователь сталкивался бы с

реальной потерей времени, так как процессор довольно часто обращается к СТ.

Выход из этой неудобной ситуации был найден при помещении страничной таблицы в

сверхоперативную память, которая обладает наибольшим быстродействием, хотя и во

много раз меньше по объему чем RAM. Но этого объёма вполне хватает процессору и

он получает возможность работать с большей производительностью, так как при

каждом перераспределении памяти между пользовательскими программами

осуществляется изменение данных, содержащихся в страничной таблице.

При страничной организации памяти очень важным является алгоритм своппирования

страниц. Действительно, процессор должен "подумать" какую страницу стоит в

первую очередь удалить из ОП, дабы на освободившееся место переписать из внешней

памяти необходимую в данный момент страницу... Этот вопрос будет подробно

рассмотрен в § 8.

5. Преимущества и недостатки ВП со страничной организацией.

(Анализ и оценка эффективности СО при рассмотрении преимуществ и недостатков)

Несомненно, применение виртуальной памяти в современных машинах это важнейшее

достижение как в компьютерной технологии, так и в максимизации удобств

создаваемых для пользователя. Но, как известно, каждая система имеет свои

преимущества и недостатки. Предлагаю проанализировать суть применения ВП; её

слабости и критерии эффективности, её плюсы и минусы.

Во-первых одним из преимуществ ВП с СО является достаточно большой объём прямо

адресуемой памяти. Действительно объем памяти может исчисляться сотнями мегабайт

(и даже гигабайтами). Размер виртуальной памяти целиком зависит от объёма

накопителя на [жестком] магнитном диске. Созданный SWAPфайл размещается на диске

и эмулирует оперативную память. При этом пользователь не задумывается о том куда

будет помещен "кусок" его программы с которой он только что отработал. Таким

образом, ещё одним преимуществом ВП с СО является то, что программы пользователя

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

преимуществ ВП с СО (то, ради чего, собственно и была изобретена виртуальная

память) повышение уровня мультипрограммной работы. Как было сказано выше, эта

цель была одной из самых главных. С организацией ВП с СО пользователь получил

реальную возможность загружать в память большее количество программ для того

чтобы машина обрабатывала программы сразу (в действительности процессор

устанавливает приоритет для каждой программы, находящейся в памяти, и далее в

соответствии с приоритетом выделяет определённое количество времени на

реализацию каждой программы или команды). Сам процессор постоянно "занят" каждый

машинный такт выполняет определённую программу. Метод организации виртуальной

памяти со страничной организацией значительно повысил эффективность работы с

машиной.

У каждого гениального изобретения к сожалению есть свои недостатки. Таковые есть

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее