Составители:
дополнительной памяти во время выполнения. После того как приложение
перестает нуждаться в дополнительной памяти, оно может возвратить ее
системе. Выделение памяти случайной длины в случайные моменты времени
из общего пула памяти приводит к фрагментации и, вследствие этого, к
неэффективному ее использованию. Дефрагментация памяти тоже является
функцией операционной системы.
3.3 Типы адресации
Для идентификации переменных и команд на разных этапах
жизненного цикла программы используются символьные имена (метки),
виртуальные адреса и физические адреса (рис. 5.1):
-
Символьные имена присваивает пользователь при написании
программы на алгоритмическом языке или ассемблере.
-
Виртуальные адреса, называемые иногда математическими, или
логическими адресами, вырабатывает транслятор, переводящий
программу на машинный язык. Поскольку во время трансляции в
общем случае не известно, в какое место оперативной памяти будет
загружена программа, то транслятор присваивает переменным и
командам виртуальные (условные) адреса, обычно считая по
умолчанию, что начальным адресом программы будет нулевой
адрес.
-
Физические адреса соответствуют номерам ячеек оперативной
памяти, где в действительности расположены или будут
расположены переменные и команды.
Совокупность виртуальных адресов процесса называется
виртуальным адресным пространством.
Рис. 3.1. Типы адресов
Диапазон возможных адресов виртуального пространства у всех
процессов является одним и тем же. Например, при использовании 32-
разрядных виртуальных адресов этот диапазон задается границами
48
дополнительной памяти во время выполнения. После того как приложение
перестает нуждаться в дополнительной памяти, оно может возвратить ее
системе. Выделение памяти случайной длины в случайные моменты времени
из общего пула памяти приводит к фрагментации и, вследствие этого, к
неэффективному ее использованию. Дефрагментация памяти тоже является
функцией операционной системы.
3.3 Типы адресации
Для идентификации переменных и команд на разных этапах
жизненного цикла программы используются символьные имена (метки),
виртуальные адреса и физические адреса (рис. 5.1):
- Символьные имена присваивает пользователь при написании
программы на алгоритмическом языке или ассемблере.
- Виртуальные адреса, называемые иногда математическими, или
логическими адресами, вырабатывает транслятор, переводящий
программу на машинный язык. Поскольку во время трансляции в
общем случае не известно, в какое место оперативной памяти будет
загружена программа, то транслятор присваивает переменным и
командам виртуальные (условные) адреса, обычно считая по
умолчанию, что начальным адресом программы будет нулевой
адрес.
- Физические адреса соответствуют номерам ячеек оперативной
памяти, где в действительности расположены или будут
расположены переменные и команды.
Совокупность виртуальных адресов процесса называется
виртуальным адресным пространством.
Рис. 3.1. Типы адресов
Диапазон возможных адресов виртуального пространства у всех
процессов является одним и тем же. Например, при использовании 32-
разрядных виртуальных адресов этот диапазон задается границами
48
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
