The design of the UNIX Operating System 48 страница



 

 

9. Лекция: Виртуальная память. Архитектурные средства поддержки виртуаль­ ной памяти

Рассмотрены аппаратные особенности поддержки виртуальной памяти. Разбиение адресного пространст-ва процесса на части и динамическая трансляция адреса позволили выполнять процесс даже в отсутствие некоторых его компонентов в оперативной памяти. Следствием такой стратегии является возможность выполнения больших программ, размер которых может превышать размер оперативной памяти.

 

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

 

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


 

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


Основы операционных систем 82

тов решения данной проблемы – организация структур с перекрытием – рассмотрен в предыдущей лек-ции. При этом предполагалось активное участие программиста в процессе формирования перекрываю-щихся частей программы. Развитие архитектуры компьютеров и расширение возможностей операцион-ной системы по управлению памятью позволило переложить решение этой задачи на компьютер. Одним из главных достижений стало появление виртуальной памяти (virtual memory). Впервые она была реали-зована в 1959 г. на компьютере "Атлас", разработанном в Манчестерском университете.

 

Суть концепции виртуальной памяти заключается в следующем. Информация, с которой работает актив-ный процесс, должна располагаться в оперативной памяти. В схемах виртуальной памяти у процесса соз-дается иллюзия того, что вся необходимая ему информация имеется в основной памяти. Для этого, во-первых, занимаемая процессом память разбивается на несколько частей, например страниц. Во-вторых, логический адрес (логическая страница), к которому обращается процесс, динамически транслируется в физический адрес (физическую страницу ). И, наконец, в тех случаях, когда страница, к которой обраща-ется процесс, не находится в физической памяти, нужно организовать ее подкачку с диска. Для контроля наличия страницы в памяти вводится специальный бит присутствия, входящий в состав атрибутов стра-ницы в таблице страниц.

 

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

 

Возможность выполнения программы, находящейся в памяти лишь частично, имеет ряд вполне очевид-ных преимуществ.

 

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

 

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


Дата добавления: 2021-01-21; просмотров: 110; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!