Два сегмента памяти
Рассмотрим структуру памяти кластера и способы работы с ней. Пока будем считать, что кластеры не имеют общих данных, и что параметры от кластера к кластеру передаются только по значению (определенные послабления в этом вопросе мы рассмотрим ниже).
Каждый кластер состоит, по крайней мере, из двух сегментов памяти: сегмента программного кода и сегмента локального поля. При выполнении кластера оба эти сегмента должны находиться в виртуальной памяти кластера. (Поскольку КЛОС — переносимая система, мы трактуем понятие виртуальной памяти достаточно вольно — это просто адресное пространство кластера). Если архитектура ЭВМ позволяет, разные экземпляры одного кластера (разные кластеры-объекты, соответствующие одному кластеру-программе) используют общий программный сегмент. Если архитектура ЭВМ требует наличия стека, то он выделяется в локальном поле кластера. Сама КЛОС не использует стековую организацию памяти (конечно, для организации процедур внутри кластера может быть полезен стек, но это дело компиляторов).
Метки: сегменты памяти, КЛОС, кластер, сегмент программного кода, сегмент локального поля