Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Программист адресует память с помощью набора символических имён. Имена переменных и входных точек программы - пространство символьных имён (логическое, оно не упорядочено).
Реально программа выполняется в физической памяти, с которой работает ЦП на чтение/запись. Физическая память – упорядоченное множество ячеек реально существующей ОП, к каждой можно обратиться по её порядковому номеру. Число ячеек ограничено и фиксировано.
СПО должно связать каждое имя программы с физической ячейкой памяти, т.е. отобразить пространство символических имён на физическую память.
Обычно отображение выполняется в 2 этапа:
- 1-системой программирования,
- 2 – ОС. 2-е – с помощью аппаратных средств ЦП – подсистемы управления памятью.
Между этими этапами обращение к памяти выполняется в форме виртуального адреса (ВА). Множество всех виртуальных адресов для программы – её виртуальное адресное пространство или виртуальная память.
Адреса машинной программы (после системы программирования) – виртуальные. Эти адреса м. б. как двоичными, так и символьно-двоичными (иногда двоичные адреса не могут быть определены после трансляции и компоновки и становятся известными только при загрузке программы).
Иногда отображение даёт полное тождество виртуальных и физических адресов. (т.е. система программирования генерирует абсолютную двоичную программу – часть модулей ОС, например, загрузчик, который может выполняться только в фиксированных реальных адресах.
Другой полюс – тождество виртуальных и символьных адресов. Здесь отображение делает ОС, которая при выполнении использует таблицу символьных имён. Здесь надо выполнять отображение для каждого нового имени – долго. Такая схема - в интерпретаторах, где трансляция = исполнению. Напр. Бейсик.
Нормально/эффективно - Транслятор/компилятор выдаёт относительные адреса (виртуальные) и данные о начальном адресе, а ЦП с помощью ОС делает 2-е отображение при каждом обращении к памяти.
Общая схема 2-этапного отображения – 3 ситуации соотношения виртуальной памяти программы и реальной физической памяти К:
Пв<Пф; (в 16-разр.миниЭВМ, сейчас нет,)
Пв=Пф; (бывает, в недорогих вычислительных комплексах – разные методы)
Пв>Пф; (типично)
Дата публикования: 2015-10-09; Прочитано: 190 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!