Концепция виртуальной памяти

Глава 7. Виртуальная память

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

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

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

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

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

Термин виртуальная память иногда интерпретируют как несуществующий (мнимый) объект, как нечто воображаемое, но в компьютере нет ничего мнимого, а тем более не реального. Программист создает программу произвольного размера, и эта программа, размер которой может значительно превышать объем физической оперативной памяти в конкретном реальном компьютере, будет выполнена как-будто этот реальный компьютер имеет физическую оперативную память необходимого объема.

Значение, противоположное виртуализации, имеет слово transparency («прозрачность»). Сравним: виртуализированный объект видим и ощутим, но в реальности он не существует, а прозрачный — и невидим, и неощутим, но у него есть физическое соответствие.

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

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

Возникает много вопросов: как реализуется концепция виртуальной памяти, как она функционирует, каким образом при использовании виртуальной памяти ресурсы обычной физической оперативной памяти “увеличиваются” во много раз, используются ли для этой цели какие-либо “подручные” средства и т.п.?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: