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