Два сегмента памяти

Рассмотрим структуру памяти кластера и способы работы с ней. Пока будем считать, что кластеры не имеют об­щих данных, и что параметры от кластера к кластеру переда­ются только по значению (определенные послабления в этом вопросе мы рассмотрим ниже).

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

Метки: , , , ,

Связанные записи