
- •5.1.Функции системы прерывания и общие решения по реализации
- •7. Организация системы прерывания в pdp 11
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организация виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
Глава 8. Организация виртуальной памяти
Предпосылки появления виртуальной памяти
Виртуальная память появилась для решения проблем многопрограммных пакетных режимов работы и режимов коллективного доступа высокопроизводительных ЭВМ.
Основными требованиями этих режимов являлись:
независимость подготовки программ,
исключение взаимных помех.
Требование независимости подготовки программ
Это требование заключается в том, что при написании программ программист может использовать любые адреса оперативной памяти без учета потребностей других программ, т.е. учитывать возможности и ограничения только математической памяти. Все проблемы по распределению оперативной памяти и переписыванию программ под выделенные адреса оперативной памяти должны решаться на аппаратном уровне или уровне операционных систем.
Проблема переадресации программ
Проблема переадресации программ заключается в том, что в большинстве программ операнды в командах и целевые точки передачи управления задаются абсолютными адресами физической памяти, а не адресами математической памяти программиста. Поэтому при распределении программ по свободным участкам памяти требуется настройка команд программы на новые адреса.
Проблема свопинга
Проблема свопинга заключается в том, что емкость оперативной памяти, в большинстве случаев, меньше емкости математической памяти. Поэтому изначально сегменты программ и данных хранятся в памяти прямого доступа (память на магнитных дисках) и отдельными порциями переписываются в оперативную память, после сохранения содержимого этих участков в памяти прямого доступа. Этот обмен и называется свопингом.
Требование исключения взаимных помех
Требование исключения взаимных помех заключается в том, что возможные конфликты программ должны разрешаться также на уровне операционных систем.
Для исключения взаимных помех в ЭВМ используются операционные системы, которые реализуют заданные стратегии многопрограммной обработки, многие функции управления ЭВМ для пользовательских программ становятся недоступными, команды разделяются на обычные и привилегированные, программы – на пользовательские и программы операционных систем. Использование привилегированных команд в пользовательских программах запрещено. Их появление вызывает прерывание по некорректному использованию команд.
Но такое решение ограничивает возможности программиста по управлению ресурсами ЭВМ. Поэтому в пределах программ операционной системы предусмотрен ряд корректно написанных сервисных программ по управлению этими ресурсами. Для их использования предусмотрены стандартные вызовы, например, через команды прерывания.
Вопросы для самопроверки:
1. Требование независимости подготовки программ.
2. Требование исключения взаимных помех.
3. Проблема переадресации программ.
4. Проблема свопинга.
8.2. Основные задачи виртуальной памяти
Основными задачами виртуальной памяти являются реализации:
динамической переадресации программ,
памяти единого уровня.
Переадресации программ
В соответствии с основной концепцией виртуальной памяти пользователи могут писать программы с использованием любых адресов математической памяти. Переадресация программ заключается в изменении всех адресов обращения к памяти за командами и данными в соответствии с адресами памяти, выделенными операционной системой.
Имеется два способа переадресации программ: программный и аппаратный.
Аппаратный способ переадресации используется в механизме виртуальной памяти – памяти единого уровня
В современных ЭВМ используется многоуровневая физическая память: оперативная, энергонезависимая память на основе магнитных дисков и архивная память на основе записи на магнитных лентах. В многопрограммных режимах работы программисту подконтрольна только математическая память (набор адресов, которые можно использовать в программах). Если этого достаточно для управления работой процессора, включая подкачку данных из памяти прямого доступа (свопинг), то говорят о реализации виртуальной памяти.
Таким образом, в понятие виртуальной памяти входят два механизма: динамическая переадресация и построение памяти единого уровня.