Операционные системы, среды и оболочки. Макаренко С.И. - 48 стр.

UptoLike

Составители: 

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

                        3.3 Типы адресации

     Для идентификации переменных и команд на разных этапах
жизненного цикла программы используются символьные имена (метки),
виртуальные адреса и физические адреса (рис. 5.1):
     - Символьные имена присваивает пользователь при написании
       программы на алгоритмическом языке или ассемблере.
     - Виртуальные адреса, называемые иногда математическими, или
       логическими адресами, вырабатывает транслятор, переводящий
       программу на машинный язык. Поскольку во время трансляции в
       общем случае не известно, в какое место оперативной памяти будет
       загружена программа, то транслятор присваивает переменным и
       командам виртуальные (условные) адреса, обычно считая по
       умолчанию, что начальным адресом программы будет нулевой
       адрес.
     - Физические адреса соответствуют номерам ячеек оперативной
       памяти, где в действительности расположены или будут
       расположены переменные и команды.
     Совокупность   виртуальных  адресов         процесса   называется
виртуальным адресным пространством.




                        Рис. 3.1. Типы адресов

      Диапазон возможных адресов виртуального пространства у всех
процессов является одним и тем же. Например, при использовании 32-
разрядных виртуальных адресов этот диапазон задается границами

                                  48