Виды памяти. 6

 
 

Оглавление: 
 

1.Введение.

2.Для чего нужна память? Какие бывают виды памяти?

3.Оперативная  память.

4.Внешняя память.

5.Микросхемы памяти.

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

7.Заключение. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1.Введение

История появления  первых вычислительных машин уходит в далекое пошлое. Так, еще в XVII веке немецким ученым В. Шиккардом была изобретена вычислительная машина, которая выполняла четыре вычислительных действия, а также накапливала промежуточные результаты вычислений. В 1834 году английский ученый Ч. Беббедж создал вычислительную машину, названную им аналитической, которая имела вычислительное устройство, память и элементы автоматического управления вычислительным процессором. В конце XIX века американский изобретатель Г.Голле Рит сконструировал первые перфорационные машины, которые выполняли сортировальные и некоторые вычислительные операции. В нашей стране в 1930-1950 гг. были достигнуты значительные успехи в области разработки средств вычислительной техники. В этот период были созданы полные комплекты перфорационных вычислительных машин, а также различные аналоговые вычислительные машины и моделирующие устройства.

Перспективы развития ОП

Память компьютера организована в виде множества ячеек, в которых могут храниться  значения; каждая ячейка обозначается адресом. Размеры этих ячеек и, собственно, типы значений, которые могут в них храниться, отличаются у разных компьютеров. Некоторые старые компьютеры имели очень большой размер ячеек, иногда до 64К бит в каждой ячейке. Эти большие ячейки назывались "словами". Супер-компьютеры Крей и компьютер Юниварк ориентированы на работу со словами. Трудность работы со словами большой длины заключается в том, что обычно программы работают не с целыми словами, а с их частями. Поэтому большинство современных компьютеров, и в том числе все персональные компьютеры, используют значительно меньшей размер ячейки памяти, состоящей всего из 8 бит или "байта": байт - это очень удобная единица информации, отчасти потому, что он позволяет хранить код одной буквы алфавита или одного символа. Поскольку символ занимает в точности один байт, термин "байт" и "символ" часто используются в одном и том же смысле. Так как IBM/PC использует ячейки памяти длиной 8 бит или 1 байт, в памяти могут храниться значения, которые можно выразить восемью битами. Это значение до двух в восьмой степени или 256. Смысл величины, записанной в ячейку памяти, зависит от способа ее использования> Можно считать, что байт содержит код алфавитного символа - так называемый код ASCII. В то же время его можно рассматривать и как число. Все 256 положительные числа от 0 до 255, либо как числа со знаками в диапазоне от -128 до + 127. Кроме того, байт может как часть большого объема данных, например, строки символов или двухбайтного числа.Для удобства манипулирования символьными данными компьютеру необходимо чтобы коды символов преобразовались в байтовые величины. Большинство компьютеров, включая IBM/PC, используют код ASCII, американский стандартный код для обмена информации. Большинство компьютеров фирмы "IBM" используют другую схему кодирование символов, называющуюся EBCDIC; системы ASCII и EBSDIC организованы по-разному, но перекодировка из одной системы в другую большого труда не составляет.Всем компьютерам требуется память нескольких видов. Память требуется на каждом шагу выполнения программ. Память нужна как для использования данных, так и для хранения результатов. Она необходима для взаимодействия с периферией компьютера и даже для поддержания образа, видимого на экране. В компьютерных системах работа с памятью основывается на очень простых концепциях. В принципе, все, что требуется от компьютерной памяти, - это сохранять один бит информации так, чтобы потом он мог быть извлечен оттуда. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2.Для чего нужна память? Какие бывают виды памяти?

Компактная микроэлектронная “память” широко применяется в современной аппаратуре самого различного назначения. Но тем не менее разговор о классификации памяти, её видах следует начать с определения места и роли, отведённой памяти в ЭВМ. Память является одной из самых главных функциональных частей машины, предназначенной для записи, хранения и выдачи команд и обрабатываемых данных. Следует сказать, что команды и данные поступают в ЭВМ через устройство ввода, на выходе которого они получают форму кодовых комбинаций 1 и 0. Основная память, как правило, состоит из запоминающих устройств двух видов оперативного (ОЗУ) и постоянного (ПЗУ). ОЗУ предназначено для хранения переменной информации; оно допускает изменение своего содержимого в ходе выполнения вычислительного процесса. Таким образом, процессор берёт из ОЗУ код команды и, после обработки каких-либо данных, результат обратно помещается в ОЗУ. Причем возможно размещение в ОЗУ новых данных на месте прежних, которые при этом перестают существовать. В ячейках происходит стирание старой информации и запись туда новой. Из этого видно, что ОЗУ является очень гибкой структурой и обладает возможностью Компактная микроэлектронная “память” широко применяется в современной аппаратуре самого различного назначения. Но тем не менее разговор о классификации памяти, её видах следует начать с определения места и роли, отведённой памяти в ЭВМ. Память является одной из самых главных функциональных частей машины, предназначенной для записи, хранения и выдачи команд и обрабатываемых данных. Следует сказать, что команды и данные поступают в ЭВМ через устройство ввода, на выходе которого они получают форму кодовых комбинаций 1 и 0. Основная память, как правило, состоит из запоминающих устройств двух видов оперативного (ОЗУ) и постоянного (ПЗУ). ОЗУ предназначено для хранения переменной информации; оно допускает изменение своего содержимого в ходе выполнения вычислительного процесса. Таким образом, процессор берёт из ОЗУ код команды и, после обработки каких-либо данных, результат обратно помещается в ОЗУ. Причем возможно размещение в ОЗУ новых данных на месте прежних, которые при этом перестают существовать. В ячейках происходит стирание старой информации и запись туда новой. Из этого видно, что ОЗУ является очень гибкой структурой и обладает возможностью перезаписывать информацию в свои ячейки неограниченное количество раз по ходу выполнения программы. Поэтому ОЗУ играет значительную роль в ходе формирования виртуальных адресов ПЗУ, содержит такой вид информации, которая не должна изменяться в ходе выполнения процессором программы. Такую информацию составляют стандартные подпрограммы, табличные данные, коды физических констант и постоянных коэффициентов. Эта информация заносится в ПЗУ предварительно, и блокируется путем пережигания легкоплавких металлических перемычек в структуре ПЗУ. В ходе работы процессора эта информация может только считываться. Таким образом, ПЗУ работает только в режимах хранения и считывания. 
Из приведённых выше характеристик видно, что функциональные возможности ОЗУ шире чем ПЗУ: оперативное запоминающее устройство может работать в качестве постоянного, то есть в режиме многократного считывания однократно записанной информации, а ПЗУ 
не может быть использовано в качестве ОЗУ. Это заключение, в свою очередь, приводит к выводу, что ПЗУ не участвует в процессе формирования виртуальной памяти. Но бесспорно, ПЗУ имеет свои достоинства, например, сохранять информацию при сбоях, отключении питания (свойство энергонезависимости). Для обеспечения надежной работы ЭВМ при отказах питания нередко ПЗУ используется в качестве памяти программ. В таком случае программа заранее “зашивается” в ПЗУ.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.Оперативная память 

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

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

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

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

Можно считать, что оперативная память представляет собой последовательность пронумерованных  байтов. Каждый байт имеет свой собственный номер, который по аналогии с номерами домов на улице принято называть адресом. Содержимое любого байта памяти может обрабатываться независимым от остальных байтов образом. Указав адрес байта, можно прочитать код, который в нем записан, или занести, записать в этот байт какой-либо другой код. Поэтому оперативную память называют еще прямо адресуемой памятью, памятью с прямым доступом, и обозначают RAM (Random Access Memory— память произвольного доступа). Для оперативной памяти используются еще и некоторые другие названия и обозначения: оперативное запоминающее устройство (ОЗУ),основная оперативная память (ООП), просто основная память (ОП).

Максимально возможный  объем оперативной памяти, который  иногда называют адресным пространством, и объем памяти, фактически присутствующий в составе машины, являются важнейшими характеристиками данной модели в целом и конкретного экземпляра компьютера. .Адресное пространство является величиной постоянной для данной модели, в то время как фактический объем оперативной памяти может у разных экземпляров быть разным, но он не может быть больше, чем адресное пространство для данной модели. У последних на сегодняшний день моделей персональных компьютеров семейства IBMPC максимально возможный объем оперативной памяти равен 64 Гбайт. Стандартным для современных персональных компьютеров общего назначения (массовых ПК) считается фактический объем оперативной памяти 128—256 Мбайт, а во многих случаях уже рекомендуется 256-512 Мбайт. По-видимому, в ближайшее время этот показатель может достигнуть уровня 1 -2 Гбайт.

Отличительными  особенностями оперативной памяти являются ее энергозависимость и относительно высокая стоимость. Энергозависимость означает, что при отключении электропитания компьютера вся информация, которая хранится в оперативной памяти, безвозвратно теряется.Кроме оперативной памяти в состав персонального компьютера входит родственная ей кэш-память, или просто кэш (cache— запас, тайный склад или наличные, карманные деньги, то есть деньги, которые всегда «под рукой»). Это сверхбыстрая память относительно небольшого объема — 128-512 Кбайт (в последних по времени разработках до 1-2 Мбайт). Иногда ее называют сверхоперативной памятью. По структуре и принципу работы кэш ничем не отличается от оперативной памяти. Однако скорость передачи данных при обмене с кэшем значительно выше, чем при обмене с оперативной памятью, но и стоит она дороже. Кэш используется как промежуточное звено между процессором и оперативной памятью, которое обеспечивает повышение скорости вычислений. Дело в том, что процессор обрабатывает данные с очень большой скоростью, которая намного превышает скорость считывания и записи в оперативную память. Поэтому при совместной работе процессор будет простаивать, подстраиваясь под скорость оперативной памяти. Чтобы избежать этого, как раз и вводится промежуточный, скоростной уровень памяти — кэш, который обеспечивает значительное сглаживание разницы в скоростях работы процессора и оперативной памяти. В тот момент, когда процессору потребуются данные для обработки, он обращается не в «далекую» оперативную память, а в кэш-память, которая находится «под рукой», поближе. В современных машинах предусматривается до трех уровней кэш-памяти. Можно упомянуть и еще один вид памяти компьютера — постоянную память, ПЗУ (постоянное запоминающее устройство), или ROM (Read Only Memory— память только для чтения). Эта память отличается от оперативной тем, что запись информации в ПЗУ осуществляется только один раз на заводе-изготовителе, И в дальнейшем из этой памяти возможно только чтение. Кроме того, при отключении электропитания данные, записанные в ПЗУ, сохраняются. Постоянная память используется для хранения наиболее важных и часто используемых служебных программ, которые осуществляют проверку работы отдельных устройств компьютера (тестирование), а также выполняют постоянно используемые операции по обмену данными между клавиатурой, монитором и памятью компьютера. Этот комплекс программ образует базовую систему ввода-вывода или сокращенно BIOS (Base Input Output System— базовая ввода-вывода система). В современных компьютерах оперативная память, а также кэш и ПЗУ реализованы на интегральных, больших или сверхбольших интегральных схемах, которые отличаются от больших схем еще большей плотностью монтажа и, соответственно, заменяют миллионы транзисторных элементов.

 
 
 

4.Внешняя  память

Этот уровень  памяти компьютера похож на вспомогательные  средства, используемые человеком для долговременного хранения важных сведений — записные книжки, всевозможные справочники, фотографии, звукозаписи, кинопленки, видеозаписи и т. д. Такие носители информации естественно считать внешними по отношению к «внутренней» памяти, «находящейся» в голове человека.

Внешней памятью  называется группа устройств, которые  предназначены для долговременного  хранения больших массивов информации — программ и данных. Внешнюю память компьютера, или ВЗУ (внешние запоминающие устройства), можно представлять себе как значительный по объему информационный склад, где программы и данные могут храниться годами до тех пор, пока они не потребуются. Несмотря на то, что фактически эти устройства находятся внутри корпуса персонального компьютера, для их обозначения используется термин «внешняя память», так как это сложилось исторически. Процессор, то есть устройство, обеспечивающее задаваемую программой обработку данных, не имеет непосредственного доступа к внешней памяти. Поэтому программа, находящаяся во внешней памяти, не может в ней выполняться, а данные не могут быть каким-либо образом обработаны. В этом и состоит самое главное функциональное отличие внешней памяти от оперативной. Во внешней памяти программы и данные хранятся в «нерабочем состоянии», а в оперативной программы и данные хранятся во время выполнения (и только во время выполнения) программ. Для того чтобы выполнить какую бы то ни было программу, ее сначала нужно «взять со склада» — найти на внешнем устройстве и перенести в оперативную память, где она и сможет выполняться. Аналогичным образом, чтобы обработать данные, физически находящиеся во внешней памяти, их нужно сначала перенести в оперативную память. Перенос программы из внешней памяти в оперативную называется загрузкой программы, а инициирование (начало) ее выполнения называют запуском программы или передачей управления этой программе. Важнейшей особенностью внешней памяти является ее энергонезависимость. Это означает, что информация хранится в ней независимо от того, включено или выключено электропитание компьютера. Кроме того, внешняя память гораздо дешевле и имеет значительно большие объемы по сравнению с оперативной. Но скорость передачи данных при обмене с внешними запоминающими устройствами значительно меньше, чем у оперативной памяти. В настоящее время в качестве внешней памяти в основном используются гибкие магнитные, жесткие магнитные и оптические диски.

 
 
 
 
 

5. Микросхемы памяти.

Как было сказано  ранее, в современных компьютерах используется так называемая электронная память. Для построения ОЗУ, ПЗУ, регистровых ЗУ в настоящее время широко применяют полупроводниковые интегральные микросхемы, которые изготавливают по специальной полупроводниковой технологии с применением интегральных схем (ИС) и больших интегральных схем (БИС) на основе кремния с высокой степенью интеграции. Основной составной частью микросхемы ОЗУ является массив элементов памяти, объединённых в матрицу накопителя. Элемент памяти (ЭП) может хранить один бит информации. Каждый ЭП обязательно имеет свой адрес. Для обращения к ЭП необходимо его “выбрать” с помощью кода адреса, сигналы которого подводят к соответствующим выводам микросхемы. ПЗУ построено аналогично, а функции ЭП в микросхемах ПЗУ выполняют перемычки в виде проводников. Это был краткий экскурс в так называемые “ресурсы” машинной памяти, необходимый для более глубокого понимания, как функционирования компьютера, так и основной темы проекта. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Что это такое? Для чего это нужно?

Проблема виртуальной памяти: что это такое и для чего это нужно? Дело в том, что с развитием и появлением новых компьютерных технологий, машины несомненно преобразились в лучшую сторону: в мире профессиональных программистов уже не существует понятия “ОЗУ на ферритовых сердечниках” или “накопителей на магнитных лентах”. Что и говорить, с изобретением персонального компьютера, даже простой непрофессиональный пользователь получил возможность использовать ПК для собственных целей и нужд. Фирмой Intel™ и другими производителями вычислительной техники были выпущены компьютеры достаточно простые в обращении (по сравнению с огромными ламповыми IBM1401 или “Унивак П”). Компьютеры нового поколения Фирмой Texas Instruments® выпущена модель 486DX475Mhz. 
имели процессоры Intel™ 80386, 80486, с 16ти и 32х разрядными шинами, огромным быстродействием (2566Mhz). Эти персоналки большой шаг вперед в развитии компьютерных технологий. Вместе с этим у пользователя появилась тенденция “оседлать” быструю машину заставить её делать как можно больше. Как экономить машинное время и в то же время производить больше? Ответ на этот вопрос был найден посредством организации 
мультипрограммной работы ЭВМ. Этот метод был признан очень удобным, так как при организации мультипрограммного цикла:

Машина  не простаивала зря: при одновременном выполнении нескольких программ и команд в работе процессора появлялась новая функция анализ и распределение машинного времени, отведённого на выполнение каждой программы;

За каждый машинный такт (вследствие с очередностью или уровнем приоритета, общим временем, требующимся на выполнения команды) выполнялась одна или несколько команд. Действительно, метод мультипрограммной работы оказался потрясающе эффективным, но для его успешной реализации требовалось очень много оперативной памяти, так как всякая программа, которая может быть вызвана впоследствии, оставляет небольшую (а иногда и очень большую!) свою часть резидентной в оперативной памяти. Возможны два варианта: сохранить большую часть ОЗУ свободной, по надобности загружая в ОП ту или иную программу, требующую непосредственного выполнения и, после этого, отработав с данной программой, отчистить содержимое ОП для загрузки новой программы. Второй вариант состоит в том, чтобы сразу загрузить в ОП Машины все требующиеся программы, таким образом, заполнив её до основания и потом дать процессору команду на выполнение. Первый вариант не является примером мультипрограммной организации. Второй вариант является. Итак, несомненно, второй вариант наиболее подходящий, но здесь мы сталкиваемся с проблемой нехватки оперативной памяти. В современных компьютерах емкость ОЗУ (аналог RAM) не превышает 1MB, 384KB из которых зарезервированы под ПЗУ, ППЗУ, BIOS... Итого остаётся 640KB “чистой” оперативной памяти, но в ней поместятся две три программы и не более. Хорошо видно, что внедрение более рационального решения сталкивается с единственной проблемой памяти. Но можно ли каким-то образом решить эту проблему? Именно на этом этапе на помощь пользователю приходит виртуальная память, которая позволяет модифицировать ресурсы памяти, сделать объём оперативной памяти намного больше, для того чтобы пользователь, поместив туда как можно больше программ, реально сэкономил время и повысил эффективность своего труда. “Открытие” виртуальной памяти (далее ВП) внесло огромную контрибуцию в развитие современных технологий, облегчило работу как профессионального программиста, так и обычного пользователя, обеспечивая процесс более эффективного решения задач на ЭВМ. Возникает много вопросов: как устроена ВП, как она функционирует, каким образом при использовании ВП ресурсы обычной физической памяти “увеличиваются” во много раз, используются ли для этой цели какие-либо “подручные” средства (устройства)..? Действительно, возникает множество интереснейших вопросов, ответы на которые будут даны в следующих параграфах. Почему 
виртуальная память также носит название математической, кажущейся? Как можно реорганизовать ОЗУ таким образом, чтобы её объём удвоился, утроился? Преимущество ВП состоит в том, что объем ОЗУ 
не может быть увеличено ни практически, ни теоретически. (Это попросту невозможно ни какими средствами нельзя оптимизировать или преобразовать ячейки памяти, для того, чтобы, скажем, помещать туда два бита информации вместо одного). Но как же построена ВП? Дело в том, что при работе машины, использующей виртуальную память, обязательно используется Внешнее Запоминающее Устройство (ВЗУ), которое обычно представляет собой накопитель на гибком магнитном диске или жестком диске типа “винчестер”. (Последнее устройство используется чаще). 
Действительно, использование виртуальной памяти обязательно подразумевает обращение к диску так как при разработке и внедрению систем с таким методом организации памяти, было представлено, что ячейки оперативной памяти и памяти на диске будут представлять собой единое целое. По своей сути ВП не такая уж сложная структура напротив, недостаток оперативной памяти компенсируется наличием свободного дискового пространства, которое задействовано в роли ОП. Необходимо понимать, что часть программ, которые мы не смогли разместить в ОП из-за её нехватки, теперь будут размещены на диске и это будет эквивалентно размещению в оперативной памяти. Виртуальная память представляет собой совокупность всех ячеек памяти оперативной и внешней, имеющих сквозную нумерацию от нуля до предельного значения адреса. Использование ВЗУ очень удобно, так как в это время пользователь оперирует с общим адресным пространством и ему безразлично какая физическая память при этом используется внешняя или внутренняя. При работе ВП всего лишь подразумевается различие между виртуальными адресами и физическими. Интересно проследить за формированием адресного пространства при использовании ВП. Как же адресное поле может быть увеличено? Дело в том, что при работе машины с ВП, используются методы страничной и сегментной организации памяти, смысл которых рассмотрен в следующих параграфах. 
Виртуальная Память при страничной организации (Страничная организация ВП, формирование виртуальных адресов). Как было сказано ранее, для более эффективного функционирования ЭВМ используется 
динамический метод распределения памяти. Это значит, что процесс распределения памяти осуществляется непосредственно в ходе решения задачи с учетом предыдущего состояния машины и описания массивов данных. Например, процесс компиляции с языков высокого уровня отводит определённую область памяти под каждую переменную, массив, структуру. В настоящее время процесс динамического распределения памяти осуществляется методом относительной адресации (с использованием виртуальных адресов), в виде страничной и сегментной организации памяти. Рассмотрим первую форму организации ВП при её страничной организации (СО). Нужно отметить очень важный пункт, что при СО, все ресурсы памяти, как оперативной, так и внешней представляются для пользователя единым целым. Пользователь работает с общим адресным пространством и не задумывается, какая память при этом используется: оперативная или внешняя, а эта общая память носит название виртуальной (моделируемой). Виртуальная память разбивается на страницы, которые содержат определённое фиксированное количество ячеек памяти. При этом одна страница математической памяти не может быть больше или меньше других все страницы должны быть одинаковы по количеству ячеек. Типичные размеры страниц 256, 512, 1024, 2048 Байт и более (числа кратные 256). 
Так называемая физическая память, которая включает в себя ОЗУ и ВЗУ так же разбивается на страницы, объем которых должен соответствовать размерам ВП, иначе, из-за неправильности размеров, ячейки физической памяти не будут совпадать с ячейками ВП, что приведёт к путанице и “зависанию” системы. Ячейки ОЗУ разбиваются на страницы одинакового объема (например 1024 Байт), каждая из которых может содержать какую-либо информацию. В ВЗУ, представленным накопителем типа “винчестер”, процессор резервирует определённые сектора, с которыми впоследствии будет работать ВП. Всё это складывается вместе и представляет собой единую структуру ВП. При работе пользователя, одна из его программ может находится в ОП, а другая в ВЗУ (на диске). При этом совершенно не заметно, что пользователь работает с математическими адресами, поэтому в процессе операций процессор может обращаться только к ОП (или СОП Сверхоперативная память) в случае выполнения первой программы, или к диску, если выполняется вторая программа. Но при работе второй программы, операционная система должна организовать перепись той страницы, где находится вторая программа, в Оперативную Память. Пользователь не задумывается над этим, но в этот момент страница ВП с диска, как бы накладывается на свободную* страницу ОП. Таким образом, при выполнении даже одной программы, различные части этой программы могут находится в ОП (СОП) или на магнитных носителях, а одни и те же ячейки общей физической памяти могут называться различными адресами. Адресная часть команды в пользовательских программах должна содержать адрес математической страницы и адрес слова, которое должно находится в этой странице (искомое слово). При распределении памяти между различными частями программы, процессор берёт на себя функции преобразования адреса, находящегося в математической странице, в адрес физической страницы. По этому адресу располагается требуемое слово, которое может хранится как в ОП, так и во внешней памяти. Совокупность адреса физической страницы и адреса слова внутри этой страницы образует физический адрес операнда. Соответствие между номерами физических и математических страниц устанавливается специальной программой операционной системы, которая носит название менеджер (диспетчер) памяти. Как правило эта программа является резидентной и управляет всеми ресурсами машинной памяти. Для 286х процессоров используют менеджер himem.sys, а для 386х и 486х машин emm386.sys и qemm.sys. С помощью таких программ формируется так называемая страничная таблица, которая помещается в сверхоперативную память, обладающую наибольшим быстродействием. Эта таблица является неотъемлемой частью организации ВП с СО, так как в ней содержится вся информация о страницах, на данный момент находящихся в памяти. В страничной таблице находятся адреса программ, уровень их приоритета и т.д.

Преимущества  и недостатки ВП со страничной организацией. (Анализ и оценка эффективности СО при рассмотрении преимуществ и недостатков) 
Несомненно, применение виртуальной памяти в современных машинах это важнейшее достижение как в компьютерной технологии, так и в максимизации удобств создаваемых для пользователя. Но, как известно, каждая система имеет свои преимущества и недостатки. Предлагаю проанализировать суть применения ВП; её слабости и критерии эффективности, её плюсы и минусы. Во-первых одним из преимуществ ВП с СО является достаточно большой объём прямо адресуемой памяти. Действительно объем памяти может исчисляться сотнями мегабайт (и даже гигабайтами). Размер виртуальной памяти целиком зависит от объёма накопителя на [жестком] магнитном диске. Созданный SWAP файл размещается на диске и эмулирует оперативную память. При этом пользователь не задумывается о том, куда будет помещен “кусок” его программы, с которой он только что отработал. Таким образом, ещё одним преимуществом ВП с СО является то, что программы пользователя могут размещаться в любых свободных страницах. И наконец, одним из важнейших преимуществ ВП с СО (то, ради чего, собственно и была изобретена виртуальная память) повышение уровня мультипрограммной работы. Как было сказано выше, эта цель была одной из самых главных. С организацией ВП с СО пользователь получил реальную возможность загружать в память большее количество программ для того чтобы машина обрабатывала программы сразу (в действительности процессор устанавливает приоритет для каждой программы, находящейся в памяти, и далее в соответствии с приоритетом выделяет определённое количество времени на реализацию каждой программы или команды). Сам процессор постоянно “занят” каждый машинный такт выполняет определённую программу. Метод организации виртуальной памяти со страничной организацией значительно повысил эффективность работы с машиной. У каждого гениального изобретения, к сожалению, есть свои недостатки. Таковые есть и у ВП с СО. Попытаемся проанализировать их. Основным недостатком виртуальной памяти, пожалуй, является то количество времени, которое машина тратит на обращение к внешней памяти. Извлечь необходимую информацию из ячеек оперативной памяти не представляет особого труда и больших затрат времени. Совсем иначе обстоит дело с диском: для того чтобы найти необходимую информацию, нужно сначала “раскрутить” диск, потом найти необходимую дорожку, в дорожке найти сектор, кластер, далее считать побитовую информацию в ОП. Все это требует времени и, порой, если при методе 
случайного удаления страниц, процессору понадобятся сразу несколько страниц, хранящихся во внешней памяти, большого времени. К сожалению, этот недостаток принадлежит к виду “неисправимых”. И если другие недостатки, рассмотренные ниже ещё можно каким-то образом устранить (например путем расширения технических средств и т. д.), то данный недостаток не может быть устранён никоим образом, так как понятие 
виртуальной памяти ассоциируется с применением внешней памяти (магнитного диска). Следующий недостаток скорее относится к вопросу о технической характеристике компьютера: наличие сверхоперативной памяти (СОП). Как было сказано выше, СОП, как правило, имеет не большую ёмкость и достаточно высокое быстродействие. СОП используется для хранения управляющей информации, служебных кодов, а также информации, к которой осуществляется наиболее частое обращение в процессе выполнения программы. Этот недостаток в работе с ВП к счастью можно ликвидировать. Что касается технической характеристики, есть ли в микросхемах оперативной памяти дополнительные интегральные схемы, которые являются запоминающими устройствами СОП? Если есть, то проблема с СОП решена, а если нет..? Тогда, благодаря достижениям в области компьютерной технологии, могут использоваться драйверы, резервирующие маленькую область ОП для имитирования СОП. Итак, что касается этого недостатка, то, мне кажется, что он не настолько серьёзен, чтобы о нём беспокоится. И, наконец, третьим недостатком является 
внутренняя фрагментация страниц. 
Сегментно-страничная организация виртуальной памяти (Структура, функционирование, отличия от ВП с СО, преимущества и недостатки) 
При использовании метода сегментно-страничной организации ВП, пользовательские программы разбиваются на отдельные массивы. Эти массивы независимые участки называются сегментами. Сегмент представляет собой единый логический объект, содержащий какую-либо процедуру, массив или набор данных. Как правило информация, содержащаяся в сегменте, однородная, то есть в одном сегменте могут находится только служебные коды программы, другой может являться сегментом стека, третий содержать коды связи с объектными (.obj) файлами и т. д. Каждый сегмент представляет собой последовательность адресов от нуля до определённого максимального значения. Отличие сегмента от страницы состоит в том, что длинна сегмента может изменяться в процессе работы. Сегменты, как и любая структура виртуальной памяти, могут размещаться как в ОП, так и во внешней памяти (магнитных носителях). ВП с ССО функционирует подобно ВП с СО: если требующийся на данный момент сегмент отсутствует в оперативной памяти, то при надобности работы с ним, он предварительно перемещается в ОП. Сегментно-страничная организация памяти требует более сложной аппаратурно-программной организации. Рассмотрим как же осуществляется обращение к ВП посредством ССО. По самому названию “сегментно-страничный” нетрудно догадаться, что при таком методе используется как сегментная, так и 
страничная таблицы. Это очень похоже на сложно структурированный метод “процедуры в процедуре” во многих алгоритмических языках.

Виртуальная память в современных  компьютерах (ВП в современных машинах, отличия, преимущества...) Как было сказано выше, с развитием компьютерных технологий стали появляться новые перспективы использования персональных компьютеров. В п. 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 представляет собой механизм, обеспечивающий расширение адресного пространства за счет дискового пространства. Реальные ограничения на объем такой виртуализированной оперативной памяти отсутствуют. В физической оперативной памяти в каждый момент представлена некоторая часть полного виртуального пространства, остальная же часть которого расположена на диске По мере необходимости, например если пользователю понадобился следующий фрагмент его программы, который в данный момент находится на диске, а реальная оперативная память “загружена до основания”, процессор может своппировать страницу оперативной памяти со страницей на диске. (от англ. swap менять местами). Таким образом, попросту будет осуществлена перестановка страниц, и та страница с которой только что работали “отправляется” на диск. В Windows 3.1 возможно несколько вариантов реализации ВП.

Использование двух видов ВП в Windows: разносекторного (temporary) и перманентного (permanent) swapфайлов. Разносекторный swapфайл состоит из множества независимых секторов, которые разбросаны по всему диску. Каждый раз, когда операционной среде Windows необходимо подгрузить в память какую-либо страницу, она должна обратится к разносекторному swapфайлу. Но неудобство применения такой разновидности ВП заключается в том, что в конце каждой части этого целого свопфайла стоит пересылка на другой сектор диска. И пользователь сталкивается с реальной потерей времени при работе с таким видом свопфайлов, так как процессору необходимо “представить” в памяти целостную картину данного файла дабы извлечь из него нужную информацию. Для этого машина собирает последовательность из этих кусочков и затем анализирует представленный в памяти файл. Если пользователь выбирает такой вид реализации ВП, то Windows автоматически создаёт разносекторный swapфайл в директории Windows. Обычно этот файл носит название WIN386.SWP. Неудобство такого метода ещё заключается в том, что разносекторный файл (по другому называемый временным) хранит информацию только в продолжении сеанса работы оболочки, а по завершении его автоматически удаляется. Вот как может быть представлена программа, написанная на Паскале в виде разносекторных файлов:

~pas0c4e.tmp первая  страница начинается по адресу 0C4A; ~pas1158.tmp вторая находится в  секторе с номером 1158; ~pas1b5a.tmp и третья

расположена в  секторе 1B5A. В конце каждого .tmpфайла указанна ссылка на другой такой же. Перманентный (постоянный) swapфайл, вторая разновидность свопфайлов. Такой файл занимает значительную часть диска, специально зарезервированную для этих целей. Размер перманентного файла определяется наличием системных ресурсов, отведенных для работы с Windows (размером ОП, свободным местом на жестком диске и даже временем доступа к винчестеру). Перманентный файл работает гораздо быстрее чем разносекторный, так как Windows знает настоящее местонахождение этого файла и нет необходимости собирать его из частей. Обычно этот файл носит имя 386SPART.PAR или SPART.PAR. Безусловно, если пользователь имеет большой жесткий диск и мало ОП, то использование перманентного свопфайла более эффективно. Перманентный файл эмулирует реальную оперативную память и, поэтому не стирается при выходе из Windows.

Анализ  и оценка применения разных типов ВП в Windows. 
Каждая из разновидностей ВП в Windows имеет свои преимущества и недостатки. Временная ВП занимает место на винчестере только при необходимости, но для того чтобы выделить или освободить такое место нужно каждый раз тратить время. Суммарное быстродействие такой памяти ниже, чем у постоянной ВП. Что касается постоянной ВП, то она быстрее временной, но она также занимает достаточно большое пространство на винчестере, даже если пользователь не обращается к своим программам и приложениям и вообще не работает в Windows. Но в целом, виртуальная память играет значительную роль в применении Windows. Как было сказано ранее, адресное пространство расширяется за счет объединения ячеек реальной ОП с ячейками на магнитном диске и при этом размер физической памяти становится значительно больше. Это немаловажно, так как Windows очень популярная операционная среда, доступная как профессионалу, так и простому пользователю. Размер машинного времени “уделяемого” Windows достаточно велик. Вследствие этого различными фирмами (Microsoft®, Borland International, Lotus Development и т. д.) было написано много программного обеспечения специально для среды Windows. Так же было разработано множество профессиональных пакетов, ориентированных на математику, статистику, программирование, бухгалтерию и т. д. Вот здесь и нашлось место для применения виртуальной памяти. Благодаря возможности работы в мультипрограммном режиме, огромные массивы информации постоянно находятся в движении. Пользователь может запустить на выполнение сразу несколько программ, (каждая из которых требует памяти). Применение ВП значительно увеличивает объем физической памяти и позволяет работать эффективнее.

Способы замены (свопирования) страниц (Механизмы обмена страниц). Как было упомянуто выше, использование ВП подразумевает применение магнитного диска, на котором хранятся те страницы или сегменты, которые на данный момент не нужны в оперативной памяти. Метод применения ВП довольно прост: те страницы, с которыми пользователь работает в данный момент, находятся в памяти машины и к ним осуществляется непосредственный доступ. Через определённое время процессору, отработавшему с данной страницей, требуется другая страница, которая подгружается в память с диска. Страница, с которой только что отработали “вытесняется” на диск, а ни в коем случае не уничтожается. Довольно часто случается так, что вся реальная память, разбитая на страницы полностью занята. И при необходимости подгрузить новую страницу, супервизор должен установить какую страницу перенести да диск, чтобы освободить место для требующейся. Это достаточно сложная задача, так как удалённая страница может понадобиться на следующем этапе, а это может привести к потере времени. Для своппирования страниц в разных программах используются различные стратегии, примеры которых приведены ниже: 
1.Случайное удаление страниц...Случайное удаление не является самым эффективным способом, так как оно не может дать стопроцентной гарантии, что только что удалённая страница не понадобится на следующем этапе работы. Случайное удаление осуществляется с помощью функции случайных чисел. Супервизор попросту берет начальный адрес случайной страницы в оперативной памяти и переписывает его в swapфайл (на диск). При этом корректируется страничная (сегментная) таблица. 
2.Удаление по времени пребывания в ОП...Механизм этой стратегии можно представить как “первым вошел, первым вышел”. Это значит, что страница, дольше всех находящаяся в оперативной памяти на данном этапе будет удалена первой. Этот метод также не универсален, так как каждой странице отведено определенное время на функционирование, и основное неудобство заключается в том, что необходимо вести механизм учёта за длительностью пребывания страниц в ОП, что также связанно с усложнением структуры и потерей времени.

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

4.Удаление по вероятности использования...Вероятность использования страницы N очень небольшая, а вероятность использования страницы M высока. В этом случае, страница N будет удалена из памяти. Этот способ также не представляется мне достаточно эффективным, так как здесь всё основано на вероятности. Но, каждый раз, когда мы подбрасываем монету, неизвестно какой стороной она упадёт. Так же и здесь нет никакой гарантии, что эта страница не понадобится на следующем этапе.