ВУЗ:
Составители:
89
зует таблицу символьных имен. Такая схема отображения используется
чрезвычайно редко, так как отображение имен на адреса необходимо
выполнять для каждого вхождения имени (каждого нового имени), и
особенно много времени расходуется на квалификацию имен. Данную
схему можно было встретить в интерпретаторах, в которых стадии
трансляции и исполнения практически неразличимы. Это характерно
для простейших компьютерных систем, в которых вместо ОС использо-
вался встроенный интерпретатор (например, Basic).
Другим частным случаем отображения пространства символьных
имен на физическую память является полная тождественность вирту-
ального адресного пространства физической памяти. При этом нет необ-
ходимости осуществлять второе отображение. В таком случае говорят,
что система программирования генерирует абсолютную двоичную про-
грамму: в этой программе все двоичные адреса таковы, что программа
может исполняться только тогда, когда ее виртуальные адреса будут
точно соответствовать физическим. Некоторые программные модули
любой ОС обязательно должны быть абсолютными двоичными про-
граммами. Эти программы размещаются по фиксированным адресам
физической памяти, и с их помощью можно впоследствии реализовы-
вать размещение остальных программ, подготовленных системой про-
граммирования таким образом, что они могут работать на различных
физических адресах (то есть на тех адресах, на которые их разместит
ОС). Примером таких программ являются программы загрузки ОС.
Возможны и промежуточные варианты. В простейшем случае
транслятор-компилятор генерирует относительные адреса, которые, по
сути, являются виртуальными адресами, с последующей настройкой
программы на один из непрерывных разделов. Второе отображение
осуществляется перемещающим загрузчиком. После загрузки програм-
мы виртуальный адрес теряется, и доступ выполняется непосредственно
к физическим ячейкам. Более эффективное решение достигается в том
случае, когда транслятор вырабатывает в качестве виртуального адреса
относительный адрес и информацию о начальном адресе, а процессор,
используя подготавливаемую ОС адресную информацию, выполняет
второе отображение не один раз (при загрузке программы), а при каж-
дом обращении к памяти.
Следует отметить, что термин виртуальная память фактически от-
носится к системам, которые сохраняют виртуальные адреса во время
исполнения. В связи с тем, что второе отображение осуществляется в
процессе исполнения задачи, то адреса физических ячеек могут изме-
няться. При правильном применении такие изменения улучшают ис-
пользование памяти, избавляя программиста от деталей управления ею,
и повышают надежность вычислений.
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
