
- •Введение
- •История виртуальной памяти.
- •Система управления памятью.
- •Принцип управления виртуальной памятью.
- •Организация и управление виртуальной памятью
- •Страничная организация виртуальной памяти
- •Сегментная организация виртуальной памяти
- •Сегментно-страничная организация виртуальной памяти
- •Заключение
- •Список литературы
Оглавление
Введение 2
1. История виртуальной памяти. 4
2. Система управления памятью. 5
3. Принцип управления виртуальной памятью. 6
4. Организация и управление виртуальной памятью 7
4.1. Страничная организация виртуальной памяти 10
4.2. Сегментная организация виртуальной памяти 11
4.3. Сегментно-страничная организация виртуальной памяти 12
Заключение 14
Список литературы 15
Введение
Достаточно давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых превышал имеющуюся в наличии свободную память.
Понятие виртуальной памяти было впервые введено в 1956 году немецким физиком Фрицем-Рудольфом Гюнтшем (нем. Fritz-Rudolf Güntsch) из Берлинского технического университета в его докторской диссертации «Логическое проектирование цифровой вычислительной машины с несколькими асинхронными вращающимися барабанами и автоматическим высокоскоростным управлением памятью». В ней описывается машина с 6 блоками памяти на магнитных сердечниках ёмкостью 100 слов каждый, и адресным пространством в 1000 блоков по 100 слов.
Аппаратное обеспечение машины автоматически перемещает блоки между основной и внешней памятью на магнитных барабанах.
Подкачка страниц впервые была реализована в Манчестерском университете как способ расширения памяти компьютера Atlas путём объединения его основной памяти на магнитных сердечниках объёмом 16000 слов с памятью на магнитных барабанах ёмкостью 96000 слов. Первая поставка машины Atlas состоялась в 1962 году, но работающие прототипы подкачки страниц были разработаны уже в 1959 году.
В 1961 году Burroughs Corporation независимо выпустила первый промышленно производившийся компьютер с виртуальной памятью B5000, использующий сегментацию вместо подкачки страниц.[6][7] В 1965 году виртуальная память была реализована в отечественной машине БЭСМ-6, хотя реализованный механизм не позволял расширить 15-разрядное адресное пространство процесса и ограничивал удобство программирования.
Решением было разбиение программы на части, называемые оверлеями. 0-ой оверлей начинал выполняться первым. Когда он заканчивал свое выполнение, он вызывал другой оверлей. Все оверлеи хранились на диске и перемещались между памятью и диском средствами операционной системы. Однако разбиение программы на части и планирование их загрузки в оперативную память должен был осуществлять программист.
Развитие методов организации вычислительного процесса в этом направлении привело к появлению метода, известного под названием виртуальная память. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает. Так, например, пользователю может быть предоставлена виртуальная оперативная память, размер которой превосходит всю имеющуюся в системе реальную оперативную память.
Таким образом, виртуальная память – это совокупность программно-аппаратных средств, позволяющих использовать оперативную память, размер которой превосходит реально имеющуюся в системе ОП. Для организации виртуальной памяти вычислительная система должна решать следующие задачи:
· преобразование виртуальных адресов в физические.
· размещение данных в ЗУ разного типа, например, часть ОП, а часть на диске;
· перемещение по мере необходимости данные между ЗУ разного типа, например, подгрузка нужной части программы с диска в ОП;
Все действия выполняются автоматически, без участия программиста, т.е. механизм виртуальной памяти является прозрачным по отношению к пользователю.