Системное и прикладное программное обеспечение. Абрахин С.И - 31 стр.

UptoLike

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

31
3.2. Управление памятью
Память является важнейшим ресурсом, требующим тща-
тельного управления со стороны мультипрограммной операци-
онной системы. Распределению подлежит вся оперативная па-
мять, не занятая операционной системой. Обычно ОС распола-
гается в самых младших адресах, однако может занимать и са-
мые старшие адреса. Функциями ОС по управлению памятью
являются [8]:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождение памя-
ти при завершении процессов;
вытеснение процессов из оперативной памяти на
диск;
когда размеры основной памяти не достаточны для
размещения в ней всех процессов, и возвращение их
в оперативную память, когда в ней освобождается
место;
настройка адресов программы на конкретную об-
ласть физической памяти.
3.2.1. Типы адресов
Для идентификации переменных и команд используются
символьные имена (метки), виртуальные адреса и физические
адреса (рис. 10).
Символьные имена присваивает пользователь при написа-
нии программы на алгоритмическом языке или ассемблере.
Виртуальные адреса вырабатывает транслятор, переводя-
щий программу на машинный язык. Так как во время трансля-
ции в общем случае не известно, в какое место оперативной па-
мяти будет загружена программа, то транслятор присваивает
переменным и командам виртуальные (условные) адреса, обыч-
но считая по умолчанию, что программа будет размещена, на-
чиная с нулевого адреса. Совокупность виртуальных адресов
   3.2. Управление памятью
     Память является важнейшим ресурсом, требующим тща-
тельного управления со стороны мультипрограммной операци-
онной системы. Распределению подлежит вся оперативная па-
мять, не занятая операционной системой. Обычно ОС распола-
гается в самых младших адресах, однако может занимать и са-
мые старшие адреса. Функциями ОС по управлению памятью
являются [8]:
        отслеживание свободной и занятой памяти;
        выделение памяти процессам и освобождение памя-
           ти при завершении процессов;
        вытеснение процессов из оперативной памяти на
           диск;
        когда размеры основной памяти не достаточны для
           размещения в ней всех процессов, и возвращение их
           в оперативную память, когда в ней освобождается
           место;
        настройка адресов программы на конкретную об-
           ласть физической памяти.


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