The design of the UNIX Operating System 48 страница
9. Лекция: Виртуальная память. Архитектурные средства поддержки виртуаль ной памяти
Рассмотрены аппаратные особенности поддержки виртуальной памяти. Разбиение адресного пространст-ва процесса на части и динамическая трансляция адреса позволили выполнять процесс даже в отсутствие некоторых его компонентов в оперативной памяти. Следствием такой стратегии является возможность выполнения больших программ, размер которых может превышать размер оперативной памяти.
|
|
В этой и следующей лекциях речь пойдет о наиболее распространенной в настоящее время схеме управ-ления памятью, известной как виртуальная память, в рамках которой осуществляется сложная связь меж-ду аппаратным и программным обеспечением. Вначале будут рассмотрены аппаратные аспекты вирту-альной памяти, а затем вопросы, возникающие при ее программной реализации.
|
|
Понятие виртуальной памяти
Разработчикам программного обеспечения часто приходится решать проблему размещения в памяти больших программ, размер которых превышает объем доступной оперативной памяти. Один из вариан-
Основы операционных систем | 82 |
тов решения данной проблемы – организация структур с перекрытием – рассмотрен в предыдущей лек-ции. При этом предполагалось активное участие программиста в процессе формирования перекрываю-щихся частей программы. Развитие архитектуры компьютеров и расширение возможностей операцион-ной системы по управлению памятью позволило переложить решение этой задачи на компьютер. Одним из главных достижений стало появление виртуальной памяти (virtual memory). Впервые она была реали-зована в 1959 г. на компьютере "Атлас", разработанном в Манчестерском университете.
|
|
|
|
Суть концепции виртуальной памяти заключается в следующем. Информация, с которой работает актив-ный процесс, должна располагаться в оперативной памяти. В схемах виртуальной памяти у процесса соз-дается иллюзия того, что вся необходимая ему информация имеется в основной памяти. Для этого, во-первых, занимаемая процессом память разбивается на несколько частей, например страниц. Во-вторых, логический адрес (логическая страница), к которому обращается процесс, динамически транслируется в физический адрес (физическую страницу ). И, наконец, в тех случаях, когда страница, к которой обраща-ется процесс, не находится в физической памяти, нужно организовать ее подкачку с диска. Для контроля наличия страницы в памяти вводится специальный бит присутствия, входящий в состав атрибутов стра-ницы в таблице страниц.
Таким образом, в наличии всех компонентов процесса в основной памяти необходимости нет. Важным следствием такой организации является то, что размер памяти, занимаемой процессом, может быть больше, чем размер оперативной памяти. Принцип локальности обеспечивает этой схеме нужную эффек-тивность.
Возможность выполнения программы, находящейся в памяти лишь частично, имеет ряд вполне очевид-ных преимуществ.
• Программа не ограничена объемом физической памяти. Упрощается разработка программ, по-скольку можно задействовать большие виртуальные пространства, не заботясь о размере исполь-зуемой памяти.
• Поскольку появляется возможность частичного помещения программы (процесса) в память и гиб-кого перераспределения памяти между программами, можно разместить в памяти больше про-грамм, что увеличивает загрузку процессора и пропускную способность системы.
Дата добавления: 2021-01-21; просмотров: 110; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!