7. Управление виртуальной памятью
Виртуальная память была создана, потому что ОП не хватает, а так каждой программе, работающей в компьютере, выделяется 4Гб виртуальной памяти.
Реально ее не существует, её создает ОС. Эта память поделена на две части (чаще всего пополам): память программы (младшая) и память ядра и всех его таблиц (старшая). Из старшей памяти ничего нельзя даже считать.
Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющийся процесс, отделяются от адресов, реально существующих в физической памяти.
Несмотря на то, что процессы обращаются только к виртуальным адресам, в действительности они должны работать с реальной памятью, таким образом, во время выполнения процесса виртуальные адреса необходимо преобразовывать в реальные, причем это необходимо делать быстро, чтобы не снижалась производительность вычислительной машины.
Управление памятью можно представлять, как отображение информации в память посредством трех функций.
- Именующей функции f1, однозначно отображающей данное пользователем имя в идентификатор информации, к которой это имя относится.
- Функции памяти f2, отображающей однозначно определенные идентификаторы в истинные адреса памяти, в которых они находятся.
- Функции содержимого f3, отображающей каждый адрес памяти в значение, которое по этому адресу находится.
Имена, заданные f1 Однозначные f2 Ячейки f3
пользователям -------> идентификаторы -------> памяти ------->
значения
Термин виртуальная память обычно ассоциируется с возможностью адресовать пространство памяти, гораздо большее, чем емкость первичной (реальной, физической) памяти конкретной вычислительной машины.