Реферат: Виртуальная память - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Виртуальная память

Банк рефератов / Радиоэлектроника

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 123 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

1. Для чего нужна память ? Какие бывают виды памяти ? (Глава , н еобходимая для понятия предназначения памяти вообще ) Компактная микроэлектронная “память” широко применяется в современной аппаратуре самого различного назначения . Но тем не менее разговор о классификации памяти , её видах следует начать с определения места и роли , отведённой памяти в ЭВМ . Память является одной из самых главных функциональных частей машины , предназначенной для записи , хранения и выдачи команд и обрабатываемых данных . Следует сказать , что команды и данные поступают в ЭВМ через устр ойство ввода , на выходе которого они получают форму кодовых комбинаций 1 и 0. Основная память как правило состоит из запоминающих устройств двух видов оперативного (ОЗУ ) и постоянного (ПЗУ ). ОЗУ предназначено для хранения переменной информации ; оно допускает изменение своего содержимого в ходе выполнения вычислительного процесса . Таким образом , процессор берёт из ОЗУ код команды и , после обработки каких-либо данных , результат обратно помещается в ОЗУ . Причем возможно размещение в ОЗУ новых да н ных на месте прежних , которые при этом перестают существовать . В ячейках происходит стирание старой информации и запись туда новой . Из этого видно , что ОЗУ является очень гибкой структурой и обладает возможностью перезаписывать информацию в свои ячейки неограниченное количество раз по ходу выполнения программы . Поэтому ОЗУ играет значительную роль в ходе формирования виртуальных адресов . ПЗУ содержит такой вид информации , которая не должна изменяться в ходе выполнения процессором программы . Такую информа цию составляют стандартные подпрограммы , табличные данные , коды физических констант и постоянных коэффициентов . Эта информация заносится в ПЗУ предварительно , и блокируется путем пережигания легкоплавких металлических перемычек в структуре ПЗУ . В х о де работы процессора эта информация может только считываться . Таким образом ПЗУ работает только в режимах хранения и считывания. Из приведённых выше характеристик видно , что функциональные возможности ОЗУ шире чем ПЗУ : оперативное запоминающее устрой ство может работать в качестве постоянного , то есть в режиме многократного считывания однократно записанной информации , а ПЗУ не может быть использовано в качестве ОЗУ . Это заключение , в свою очередь , приводит к выводу , что ПЗУ не участвует в проц ессе формирования виртуальной памяти . Но бесспорно , ПЗУ имеет свои достоинства , например сохранять информацию при сбоях , отключении питания (свойство энергонезависимости ). Для обеспечения надежной работы ЭВМ при отказах питания нередко ПЗУ используется в качестве памяти программ . В таком случае программа заранее “зашивается” в ПЗУ. 2. Микросхемы памяти. (Где , находится информация при работе компьютера ?) Как было сказано ранее , в современных компьютерах используется так называемая электронная память . Для построения ОЗУ , ПЗУ , регистровых ЗУ в настоящее время широко применяют полупроводниковые интегральные микросхемы , которые изготавливают по специальной полупроводниковой технологии с применением интегральных схем (ИС ) и больши х интегральных схем (БИС ) на основе кремния с высокой степенью интеграции . Рис .1 Рис .2 На рисунках 1 и 2 из ображены микросхемы памяти как функциональных узлов : рис . 1 ОЗУ , рис . 2 ПЗУ . Основной составной частью микросхемы ОЗУ является массив элементов памяти , объединённых в матрицу накопителя . Элемент памяти (ЭП ) может хранить один бит информации . Каждый Э П обязательно имеет свой адрес . Для обращения к ЭП необходимо его “выбрать” с помощью кода адреса , сигналы которого подводят к соответствующим выводам микросхемы . ПЗУ построено аналогично , а функции ЭП в микросхемах ПЗУ выполняют перемычки в виде про водников. Это был краткий экскурс в так называемые “ресурсы” машинной памяти , необходимый для более глубокого понимания как функционирования компьютера , так и основной темы проекта. 3. Виртуальная память : Что это такое ? Для чего это нужно ? (Рассм атривает вопрос организации ВП ) Итак , мы вплотную подошли к проблеме виртуальной памяти : что это такое и для чего это нужно ? Дело в том , что с развитием и появлением новых компьютерных технологий , машины несомненно преобразились в лучшую сторо ну : в мире профессиональных программистов уже не существует понятия “ОЗУ на ферритовых сердечниках” или “накопителей на магнитных лентах” . Что и говорить , с изобретением персонального компьютера , даже простой непрофессиональный пользователь получил возможность использовать ПК для собственных целей и нужд . Фирмой Intel™ и другими производителями вычислительной техники были выпущены компьютеры достаточно простые в обращении (по сравнению с огромными ламповыми IBM1401 или “Унивак П” ). Компьют е ры нового поколения * — — — — * Фирмой Texas Instruments ® выпущена модель 486DX475Mhz. имели процессоры Intel™ 80386, 80486, с 16ти и 32х разрядными шинами , огромным быстродействием (2566Mhz). Эти персоналки большой шаг вперед в развитии компьютерных технологий . Вместе с этим у пользователя появилась тенденция “оседлать” быструю машину заставить её делать как можно больше . Как экономить машинное время и в то же время производить больше ? Ответ на этот вопрос был найден посредством организации мул ьтипрограммной работы ЭВМ . Этот метод был признан очень удобным , так как при организации мультипрограммного цикла : 1. Машина не простаивала зря : при одновременном выполнении нескольких программ и команд в работе процессора появлялась новая функци я анализ и распределение машинного времени , отведённого на выполнение каждой программы ; 2. За каждый машинный такт (вследствие с очередностью или уровнем приоритета , общим временем , требующимся на выполнения команды ) выполнялась одна или несколько команд. Действительно , метод мультипрограммной работы оказался потрясающе эффективным , но для его успешной реализации требовалось очень много оперативной памяти , так как всякая программа , которая может быть вызвана впоследствии , оставляет небольшую (а ино гда и очень большую !) свою часть резидентной в оперативной памяти . Возможны два варианта : сохранить большую часть ОЗУ свободной , по надобности загружая в ОП ту или иную программу , требующую непосредственного выполнения и , после этого , отработав с данной программой , отчистить содержимое ОП для загрузки новой программы . Второй вариант состоит в том , чтобы сразу загрузить в ОП Машины все требующиеся программы , таким образом заполнив её до основания и потом дать процессору команду на выполнение. Первый вариант не является примером мультипрограммной организации . Второй вариант является . Итак , несомненно , второй вариант наиболее подходящий , но здесь мы сталкиваемся с проблемой нехватки оперативной памяти . В современных компьютерах емкость ОЗУ (аналог RAM) не превышает 1MB, 384KB из которых зарезервированы под ПЗУ , ППЗУ , BIOS... Итого остаётся 640KB “чистой” оперативной памяти но в ней поместятся две три программы и не более. Хорошо видно , что внедрение более рационального решения сталкива ется с единственной проблемой памяти . Но можно ли каким-то образом решить эту проблему ? Именно на этом этапе на помощь пользователю приходит виртуальная память , которая позволяет модифицировать ресурсы памяти , сделать объём оперативной памяти намн ого больше , для того чтобы пользователь , поместив туда как можно больше программ , реально сэкономил время и повысил эффективность своего труда . “Открытие” виртуальной памяти (далее ВП ) внесло огромную контрибуцию в развитие современных технологий , о б легчило работу как профессионального программиста , так и обычного пользователя , обеспечивая процесс более эффективного решения задач на ЭВМ . Возникает много вопросов : как устроена ВП , как она функционирует , каким образом при использовании ВП ресур с ы обычной физической памяти “увеличиваются” во много раз , используются ли для этой цели какие-либо “подручные” средства (устройства )..? Действительно , возникает множество интереснейших вопросов , ответы на которые будут даны в следующих параграфах. Почему виртуальная память также носит название математической , кажущейся ? Как можно реорганизовать ОЗУ таким образом , чтобы её объём удвоился , утроился ? Преимущество ВП состоит в том , что объем ОЗУ не может быть увеличено ни практически , ни теоретическ и . (Это попросту невозможно ни какими средствами нельзя оптимизировать или преобразовать ячейки памяти , для того , чтобы , скажем , помещать туда два бита информации вместо одного ). Но как же построена ВП ? Дело в том , что при работе машины , использующей виртуальную память , обязательно используется Внешнее Запоминающее Устройство (ВЗУ ), которое обычно представляет собой накопитель на гибком магнитном диске или жестком диске типа “винчестер” . (Последнее устройство используется чаще ). Действительн о , использование виртуальной памяти обязательно подразумевает обращение к диску так как при разработке и внедрению систем с таким методом организации памяти , было представлено , что ячейки оперативной памяти и памяти на диске будут представлять собой единое целое . По своей сути ВП не такая уж сложная структура напротив , недостаток оперативной памяти компенсируется наличием свободного дискового пространства которое задействовано в роли ОП . Необходимо понимать , что часть программ , которые мы не смо гли разместить в ОП из-за её нехватки , (см . нач . § 3) теперь будут размещены на диске и это будет эквивалентно размещению в оперативной памяти . Виртуальная память представляет собой совокупность всех ячеек памяти оперативной и внешней , имеющих сквозну ю нумерацию от нуля до предельного значения адреса . Использование ВЗУ очень удобно , так как в это время пользователь оперирует с общим адресным пространством и ему безразлично какая физическая память при этом используется внешняя или внутренн яя . При работе ВП всего лишь подразумевается различие между виртуальными адресами и физическими . Интересно проследить за формированием адресного пространства при использовании ВП . Как же адресное поле может быть увеличено ? Дело в том , что при работе машины с ВП , используются методы страничной и сегментной организации памяти , смысл которых рассмотрен в следующих параграфах. 4. Виртуальная Память при страничной организации (Страничная организация ВП , формирование виртуальных адресов ) Как было сказано ранее , для более эффективного функционирования ЭВМ используется динамический метод распределения памяти . Это значит , что процесс распределения памяти осуществляется непосредственно в ходе решения задачи с учетом предыдущего состояния машины и о писания массивов данных . Например процесс компиляции с языков высокого уровня отводит определённую область памяти под каждую переменную , массив , структуру . В настоящее время процесс динамического распределения памяти осуществляется методом относитель ной адресации (с использованием виртуальных адресов ), в виде страничной и сегментной организации памяти. Рассмотрим первую форму организации ВП при её страничной организации (СО ). Нужно отметить очень важный пункт , что при СО , все ресурсы памяти, как оперативной , так и внешней представляются для пользователя единым целым . Пользователь работает с общим адресным пространством и не задумывается какая память при этом используется : оперативная или внешняя , а эта общая память носит название вирту альной (моделируемой ). Виртуальная память разбивается на страницы , которые содержат определённое фиксированное количество ячеек памяти . При этом одна страница математической памяти не может быть больше или меньше других все страницы должны быть о динаковы по количеству ячеек . Типичные размеры страниц 256, 512, 1024, 2048 Байт и более (числа кратные 256). Р ис .3 Так называемая физическая память , которая включает в себя ОЗУ и ВЗУ так же разбивается на страницы объем которых должен соответствовать размерам ВП , иначе , из-за неправильности размеров , ячейки физической памяти не будут совпадать с ячейками ВП, что приведёт к путанице и “зависанию” системы . На рисунке 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 и внутренним адресом 0 0101001110B (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файл размещается на диске и эмулирует о перативную память . При этом пользователь не задумывается о том куда будет помещен “кусок” его программы с которой он только что отработал . Таким образом , ещё одним преимуществом ВП с СО является то , что программы пользователя могут размещаться в люб ых свободных страницах . И наконец , одним из важнейших преимуществ ВП с СО (то , ради чего , собственно и была изобретена виртуальная память ) повышение уровня мультипрограммной работы . Как было сказано выше , эта цель была одной из самых главных . С орга низацией ВП с СО пользователь получил реальную возможность загружать в память большее количество программ для того чтобы машина обрабатывала программы сразу (в действительности процессор устанавливает приоритет для каждой программы , находящейся в па м яти , и далее в соответствии с приоритетом выделяет определённое количество времени на реализацию каждой программы или команды ). Сам процессор постоянно “занят” каждый машинный такт выполняет определённую программу . Метод организации виртуал ь ной памяти со страничной организацией значительно повысил эффективность работы с машиной. У каждого гениального изобретения к сожалению есть свои недостатки . Таковые есть и у ВП с СО . Попытаемся проанализировать их . Основным недостатком виртуальной памяти пожалуй является то количество времени , которое машина тратит на обращение к внешней памяти . Извлечь необходимую информацию из ячеек оперативной памяти не представляет особого труда и больших затрат времени . Совсем иначе обстоит дело с диско м : для того чтобы найти необходимую информацию , нужно сначала “раскрутить” диск , потом найти необходимую дорожку , в дорожке найти сектор , кластер , далее считать побитовую информацию в ОП . Все это требует времени и , порой если при методе случайного удал ения страниц *, процессору понадобятся сразу несколько страниц , хранящихся во внешней памяти , большого времени . К сожалению , этот недостаток принадлежит к виду “неисправимых” . И если другие недостатки , рассмотренные ниже ущё можно каким-то образ ом устранить (например путем расширения технических средств и т . д .), то данный недостаток не может быть устранён никоим образом , так как понятие виртуальной памяти ассоциируется с применением внешней памяти (магнитного диска ). Следующий нед остаток скорее относится к вопросу о технической характеристике компьютера : наличие сверхоперативной памяти (СОП ) . Как было сказано выше , СОП , как правило , имеет не — — — — — * Методы своппирования страниц рассмотрены в § 8. большую ёмкость и достато чно высокое быстродействие . СОП используется для хранения управляющей информации , служебных кодов , а также информации к которой осуществляется наиболее частое обращение в процессе выполнения программы . Этот недостаток в работе с ВП к счастью м о жно ликвидировать . Что касается технической характеристики есть ли в микросхемах оперативной памяти дополнительные интегральные схемы , которые являются запоминающими устройствами СОП ? Если есть , то проблема с СОП решена , а если нет ..? Тогда , благод а ря достижениям в области компьютерной технологии , могут использоваться драйверы , резервирующие маленькую область ОП для имитирования СОП . Итак , что касается этого недостатка , то , мне кажется , что он не настолько серьёзен , чтобы о нём беспокоится . И , наконец третьим недостатком является внутренняя фрагментация страниц . 6. Сегментно-страничная организация виртуальной памяти (Структура , функционирование , отличия от ВП с СО , преимущества и недостатки ) При использовании метода сегментно-стран ичной организации ВП , пользовательские программы разбиваются на отдельные массивы . Эти массивы независимые участки называются сегментами . Сегмент представляет собой единый логический объект , содержащий какую-либо процедуру , массив или набор данны х . Как правило информация , содержащаяся в сегменте , однородная , то есть в одном сегменте могут находится только служебные коды программы , другой может являться сегментом стека , третий содержать коды связи с объектными (.obj) файлами и т . д. Каждый сегмент представляет собой последовательность адресов от нуля до определённого максимального значения . Отличие сегмента от страницы состоит в том , что длинна сегмента может изменяться в процессе работы . Сегменты , как и любая структура в иртуальной памяти , могут размещаться как в ОП , так и во внешней памяти (магнитных носителях ). ВП с ССО функционирует подобно ВП с СО : если требующийся на данный момент сегмент отсутствует в оперативной памяти , то при надобности работы с ним , он пре д варительно перемещается в ОП. Сегментно-страничная организация памяти требует более сложной аппаратурно-программной организации . Рассмотрим как же осуществляется обращение к ВП посредством ССО . По самому названию “сегментно-страничный” нетр удно догадаться , что при таком методе используется как сегментная , так и страничная таблицы . Это очень похоже на сложно структурированный метод “процедуры в процедуре” во многих алгоритмических языках . На рисунке 7 подробно показан способ организации ВП с ССО . Адрес ячейки в данном случае складывается из 3х частей : первая содержит номер самого сегмента ( S egment), по этому номеру машина обращается к сегментной таблице . Вторая часть адреса содержит номер искомой страницы ( p age), котор ая находится внутри выбранного сегмента и третья смещение ( l ength), по которому находится требуемый адрес . Pµ , обведенное в двойную рамку показывает математический адрес , а Pф физический . Как и при СО , смещение l переписывается в ячейку физического адреса без изменений. Вверху рисунка , аббревиатурой N обозначен номер какой-нибудь программы пользователя . А 0 с индексом 1 обозначает конкретный начальный адрес сегментной таблицы для данной программы . Сначала берется этот адрес и номер сегмента S из регистра математического адреса . Оба этих адреса складываются в сумматоре , который изображен в виде обведенного плюса . Получившийся адрес А 1 + S является входом в сегментную таблицу (изображен в первой колонке сегментной таблицы ). Далее , благодаря этому адресу , отыскивается соответствующий адрес страничной таблицы (А 0 с индек сом 2), который в свою очередь суммируется с номером искомой страницы p в сумматоре . Результирующая сумма есть вход в страничную таблицу . Структура страничной табли цы нам уже знакома : благодаря получившемуся адресу , находится соответствующий адрес физической страницы , процессор определяет местонахождение этой страницы (включенный бит страница находится в ОП , выключенный во внешней памяти ). Рис . 7 Сегментно-страничная организация ВП. Итак , краткое описание функционирования ВП с ССО : с помощью начального адреса сегментной таблицы и номера сегмент а из регистра математического адреса (S) образуется адрес вход в сегментную таблицу в которой находится начальный адрес страничной таблицы . К этому адресу в свою очередь прибавляется номер страницы из РМА . Эта сумма служит входом в страничную та б лицу , в которой затем отыскивается адрес искомой физической страницы и , в соответствии с уровнем доступности , процессор либо начинает работать с этой страницей , либо вырабатывает аппаратурное прерывание и подключает супервизора , который затем орг анизует ее перепись в ОП . Если вся ОП будет занята , то супервизор , в соответствии с принятым методом (см . § 8), своппирует какую-нибудь страницу. 7. Виртуальная память в современных компьютерах (ВП в современных машинах , отличия , преимущества ...) Как было сказано выше , с развитием компьютерных технологий стали появляться новые перспективы использования персональных компьютеров . В § 3 упоминается о компьютере Intel™ 486DX4 с тактовой частотой 75Mhz, произведенным фирмой Texas Instruments. Несомненно , возможности этого компьютера огромны . Он комплектуется огромным жестким диском (1.2GB) и имеет 32MB оперативной памяти . Предположим , что эта машина будет использоваться для разработки космического корабля , робота хирурга или в облас т и кибернетики . Для этих целей необходимо использовать “серьёзное” программное обеспечение (скажем , производимое фирмой Silicon Graphics ® ), требующее огромного количества оперативной памяти . В такой ситуации даже 32MB может не хватать . В таких сит уациях по-прежнему проявляется тенденция к использованию ВП . Виртуальная память применяется во многих программах , операционных оболочках , коммуникационном программном обеспечении . В следующих пунктах приведены примеры использования виртуальной п а мяти в современных компьютерах с различными программами. Использование ВП в Microsoft ® Windows™ 3.1* Microsoft Windows 3.1 является наиболее популярной операционной оболочкой как среди любителей , так и среди профессиональных пользователей . Windows обес печивает независимый запуск и выполнение сразу нескольких программ . Большинство других оболочек и операционных систем рассчитаны на выполнение в данный момент только одной программы . В рамках Windows можно запустить сразу несколько программ . Д ля этих целей используется ВП . 1. RAM диск (виртуальный , псевдо , электронный диск ) Разновидность виртуальной памяти . Супервизор резервирует для него область EMS или XMS памяти и , таким образом устанавливает диск в памяти . Он работает быстрее , чем реальн ый физический диск , но при выключении питания его содержимое теряется . Он весьма удобен для хранения промежуточной информации в течение одного сеанса работы . Но RAM диск не является прямым аналогом ВП. 2. Использование SWAPфайла виртуальной памяти. Вирт уальная память в оболочке Windows 3.1 используется только в расширенном (extended) режиме . Каковы характеристики компьютера , работающего с Windows в расширенном режиме ? Он должен иметь 386ой процессор и минимум 2 мегабайта памяти . Итак виртуальн а я память в Windows представляет собой механизм , обеспечивающий расширение адресного пространства за счет дискового прост — — — — — * Рассмотрены компьютеры фирм IBM (PS/2, Pentium™ , OverDrive™ ) AcerPower™ , NEC, American Megatrends, Zeos™ , Tandy™ , HP Vectra ™ , Toshiba, Dell, Packard Bell и другие машины укомплектованные процессорами Intel™ и Cyrix™ . Машины ЕС , из-за недостатка ОЗУ не работают в Windows и в данном примере не рассмотрены . ранства . Реальные ограничения на объем такой виртуализированной оп еративной памяти отсутствуют . В физической оперативной памяти в каждый момент представлена некоторая часть полного виртуального пространства , остальная же часть которого расположена на диске По мере необходимости , например если пользователю понадоб и лся следующий фрагмент его программы , который в данный момент находится на диске , а реальная оперативная память “загружена до основания” , процессор может своппировать страницу оперативной памяти со страницей на диске . (от англ . swap менять местами ). Т аким образом , попросту будет осуществлена перестановка страниц , и та страница с которой только что работали “отправляется” на диск . В Windows 3.1 возможно несколько вариантов реализации ВП . На рисунке 8 показано использование двух видов ВП в W i ndows: разносекторного (temporary) и перманентного (permanent) swapфайлов Рис .8 Разносекторное и перманентное применение ВП Разносекторный (врем енной ) swapфайл Разносекторный swapфайл состоит из множества независимых секторов , которые разбросаны по всему диску . Каждый раз когда операционной среде Windows необходимо подгрузить в память какую-либо страницу , она должна обратится к разносекторному swapфайлу . Но неудобство применения такой разновидности ВП заключается в том , что в конце каждой части этого целого свопфайла стоит пересылка на другой сектор диска . И пользователь сталкивается с реальной потерей времени при работе с таким видом свопфайлов , так как процессору необходимо “представить” в памяти целостную картину данного файла дабы извлечь из него нужную информацию . Для этого машина собирает последовательность из этих кусочков и затем анализирует представленный в памяти файл. Если пользователь выбирает такой вид реализации ВП , то Windows автоматически создаёт разносекторный swapфайл в директории Windows. Обычно этот файл носит название WIN386.SWP. Неудобство такого метода ещё заключается в том , что разносекторный фай л (по другому называемый временным ) хранит информацию только в продолжении сеанса работы оболочки , а по завершении его автоматически удаляется . Вот как может быть представлена программа , написанная на Паскале в виде разносекторных файлов : ~pas0c4e.tmp первая страница начинается по адресу 0C4A; ~pas1158.tmp вторая находится в секторе с номером 1158; ~pas1b5a.tmp и третья расположена в секторе 1B5A. В конце каждого .tmpфайла указанна ссылка на другой такой же. Перманентный (постоянный ) swapф айл Вторая разновидность свопфайлов носит название перманентных Такой файл занимает значительную часть диска , специально зарезервированную для этих целей . Размер перманентного файла определяется наличием системных ресурсов , отведенных для работы с Wind ows (размером ОП , свободным местом на жестком диске и даже временем доступа к винчестеру ). Перманентный файл работает гораздо быстрее чем разносекторный , так как Windows знает настоящее местонахождение этого файла и нет необходимости собирать ег о из частей . Обычно этот файл носит имя 386SPART.PAR или SPART.PAR Безусловно , если пользователь имеет большой жесткий диск и мало ОП , то использование перманентного свопфайла более эффективно . Перманентный файл эмулирует реальную оперативную памя ть и , поэтому не стирается при выходе из Windows. Анализ и оценка применения разных типов ВП в Windows. Каждая из разновидностей ВП в Windows имеет свои преимущества и недостатки . Временная ВП занимает место на винчестере только при необходимости , н о для того чтобы выделить или освободить такое место нужно каждый раз тратить время . Суммарное быстродействие такой памяти ниже , чем у постоянной ВП . Что касается постоянной ВП , то она быстрее временной , но она также занимает достаточно б о льшое пространство на винчестере , даже если пользователь не обращается к своим программам и приложениям и вообще не работает в Windows. Но в целом , виртуальная память играет значительную роль в применении Windows. Как было сказано ранее , адрес н ое пространство расширяется за счет объединения ячеек реальной ОП с ячейками на магнитном диске и при этом размер физической памяти становится значительно большим . Это немаловажно , так как Windows очень популярная операционная среда , доступная как профессионалу , так и простому пользователю . Размер машинного времени “уделяемого” Windows достаточно велик . Вследствие этого различными фирмами (Microsoft® , Borland International, Lotus Development и т . д .) было написано много программног о обеспечения специально для среды  Windows. Так же было разработано множество профессиональных пакетов , ориентированных на математику , статистику , программирование , бухгалтерию и т . д . Вот здесь и нашлось место для применения виртуальной п а мяти . Благодаря возможности работы в мультипрограммном режиме , огромные массивы информации постоянно находятся в движении . Пользователь может запустить на выполнение сразу несколько программ , (каждая из которых требует памяти ). Применение ВП значительно увеличивает объем физической памяти и позволяет работать эффективнее. 8. Способы замены (свопирования ) страниц (Механизмы обмена страниц ) Как было упомянуто выше , использование ВП подразумевает применение магнитного диска на кото ром хранятся те страницы или сегменты , которые на данный момент не нужны в оперативной памяти . Метод применения ВП довольно прост : те страницы с которыми пользователь работает в данный момент находятся в памяти машины и к ним осуществляется непосред с твенный доступ . Через определённое время процессору , отработавшему с данной страницей , требуется другая страница , которая подгружается в память с диска . Страница , с которой только что отработали “вытесняется” на диск , а ни в коем случае не уничтожается. Довольно часто случается так , что вся реальная память , разбитая на страницы полностью занята . И при необходимости подгрузить новую страницу , супервизор должен установить какую страницу перенести да диск , чтобы освободить место для требующейся . Эт о достаточно сложная задача , так как удалённая страница может понадобиться на следующем этапе , а это может привести к потере времени . Для своппирования страниц в разных программах используются различные стратегии , примеры которых приведены ниже : 1. Случайное удаление страниц... Случайное удаление не является самым эффективным способом , так как оно не может дать стопроцентной гарантии , что только что удалённая страница не понадобится на следующем этапе работы . Случайное удаление осуществляется с помощью функции случайных чисел. Супервизор попросту берет начальный адрес случайной страницы в оперативной памяти и переписывает его в swapфайл (на диск ). При этом корректируется страничная (сегментная ) таблица . 2. Удаление по времени пребывания в ОП... Механизм этой стратегии можно представить как “первым вошел , первым вышел” . Это значит , что страница , дольше всех находящаяся в оперативной памяти на данном этапе будет удалена первой . Этот метод также не универсален так как каждой странице отведено о пределенное время на функционирование , и основное неудобство заключается в том , что необходимо вести механизм учёта за длительностью пребывания страниц в ОП , что также связанно с усложнением структуры и потерей времени . 3. Удаление в связи с давно стью использования... На мой взгляд , этот метод является наиболее удачным . Механизм его таков : если страница дольше всех находится в ОП , значит пользователь в течение долго времени не нуждался в ней , а значит появляется вероятность , что эта страница не понадобится и на следующем этапе. 4. Удаление по вероятности использования... Вероятность использования страницы N очень небольшая , а вероятность использования страницы M высока . В этом случае , страница N будет удалена из памяти . Этот способ также не представляется мне достаточно эффективным , так как здесь всё основано на вероятности. Но , каждый раз когда мы подбрасываем монету , неизвестно какой стороной она упадёт . Так же и здесь нет никакой гарантии , что эта страница не понадобится на следующем этапе . 5. Удаление по приоритетам... Этот способ пожалуй является достаточно эффективным , так как страницы удаляются по приоритетам. Каждая страница имеет свой приоритет , который устанавливается супервизором в соответствии с “важностью” программы , на ходящейся в определённой станице . Предположим что в странице N находятся коды важной пользовательской подпрограммы , а в странице M текстовый файл , работа с которым не является столь важной . Тогда N получает приоритет 1, а M, предположим , 9. Заметим , ч то необходимые , часто требующиеся страницы имеют приоритеты 13, менее необходимые 46, и практически ненужные 59. Это значит , что когда в следующий раз супервизору понадобится удалить из ОП страницу , он начнет со страниц , имеющих самый низкий уровен ь приоритета (9). 9. Анализ и оценка виртуальной памяти . Показатели эффективности. (При СО и ССО ) Эффективное решение задач на ЭВМ определяется не только емкостью и быстродействием запоминающих устройств , наличием мощного процессора с большой тактовой частотой , но и организацией и распределением памяти . Современные компьютеры обладают средствами и техническими характеристиками для организации виртуальной памяти . Применение виртуальной памяти получило широкое применение как среди пол ь зователей любителей , так и среди профессионалов . Основная функция ВП расширение адресного пространства . ВП создаётся для увеличения функциональных возможностей компьютера , повышения уровней мультипрограммной работы . Объединив , ячейки реальной операти вной памяти с ячейками на быстродействующих магнитных носителях , (чаще всего для этих целей используются винчестеры . Применение НГМД не было бы столь эффективно , а применение НМД или НМБ понесло бы невосполнимые потери ), пользователь имеет возможность зн ачительно расширить память и при этом не думать о том в “какой” памяти хранится его программа . ВП была создана для облегчения работы пользователей при размещении программ. Благодаря ВП появилась возможность для более эффективного применения програ мммультитаскеров (multitasker) специальных пакетов , позволяющих повысить уровень мультипрограммной работы . (Программы , которые распределяют время процессора и память так , что например связываться по модему , печатать на принтере и обрабатывать текст мо ж но одновременно ). В настоящее время , благодаря применению ВП , усилилась тенденция к использованию DeskView менеджерамультитаскера (производства фирмы QuatterDeck). Сравнивая реальную оперативную память с виртуальной , можно отметить , что объем РП ограничен , то есть в каждой микросхеме фиксированное число ячеек . Что касается ВП , то она может иметь достаточно большой объем , ограниченный только местом на диске (возможностью адресации ). Объем ВП может достигать нескольких десятков и со тен мегабайт . РП имеет линейную структуру (адресация в порядке возрастания ). ВП использует сквозную адресацию. В целом , применение виртуальной памяти является весомым вкладом в прогрессировании современных компьютерных технологий и большим шагом в развитии программирования , открывающим профессиональному программисту путь к созданию мощных мультизадачных систем и комплексов . Применение виртуальной памяти широко оценивается специалистами в компьютерной медицине , научной кибернетике , профессион а льном программировании.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Похитив с районной кроличьей фермы лицензионных кролика и крольчиху, злоумышленники сделали с них 1000 незаконных пиратских копий.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по радиоэлектронике "Виртуальная память", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru