Типы внутренней оперативной памяти
Типы внутренней оперативной памяти
Внутренняя оперативная память разделяется на следующие области:
1) зона связи;
2) рабочая память управляющего модуля;
3) «окно» программно-управляемой виртуальной памяти, на которое могут отображаться:
3а) рабочая память функциональных модулей;
3б) текстовая виртуальная память;
3в) словарная виртуальная память.
Зона связи доступна как базовым, так и функциональным модулям. Ограниченный размер этой зоны позволяет размещать в ней только скалярные переменные. Переменные, расположенные в зоне связи, являются прямоадресуемыми. Рабочая память управляющего модуля доступна только процедурам базового уровня. В частности, в этой памяти расположены таблицы приписки для виртуальной памяти (см. ниже). Переменные, расположенные в этой зоне, также прямоадресуемые. Рабочая память функциональных модулей является участком памяти, имеющим фиксированные адреса начала и конца. Эти адреса определяются при генерации копилятора и непосредственно доступны только управляющему модулю. Функциональные модули управляют распределением рабочей памяти через базовые процедуры:
1) ДАЙ_РАБОЧУЮ_ПАМЯТЬ (< длина >); результат — адрес начала участка рабочей памяти указанной длины;
2) ОСВОБОДИ_РАБОЧУЮ_ПАМЯТЬ (< длина >).
Эти процедуры позволяют захватывать и освобождать рабочую память по стековому принципу.
Получив в качестве результата процедуры ДАЙ_РАБОЧУЮ_ПАМЯТЬ значение абсолютного адреса участка памяти можно использовать его вплоть до освобождения этого участ ка. Рабочая память функциональных модулей позволяет размещать средних размеров таблицы, буфера и т. д. Ее мак симальный размер в несколько раз больше размера зоны связи.
