Виртуальная память обычно используется для упрощения программирования на компьютерах, на которых запущено несколько программ.
Если на вашем компьютере запущено несколько программ, каждая из них видит виртуальное адресное пространство памяти, соответствующее их потребностям. Что касается этой программы, жизнь проста. Они могут использовать любую память, какую захотят, по любому конкретному адресу, и им не нужно прилагать никаких усилий, чтобы избежать использования памяти другими программами.
Кроме того, в целях безопасности они не могут видеть память, используемую другими программами, даже если захотят. Их адресное пространство памяти полностью принадлежит им, и они могут играть с ними по своему усмотрению.
Таким образом, в простом случае, когда каждый объект данных принадлежит ровно одной программе, каждый объект данных действительно имеет ровно один адрес.
Однако программы могут ссылаться на общие ресурсы. Например, двум программам проверки орфографии может потребоваться использовать большой файл с написанием слов на диске. Вместо того, чтобы дважды загружать его в память, операционная система обычно загружает его один раз, но две программы, которые его используют, могут видеть его по разным виртуальным адресам. Так что в этом случае у одного объекта данных действительно может быть несколько виртуальных адресов.
person
Adrian Taylor
schedule
25.04.2013