Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Классы памяти



Распределение рабочего пространства оперативной памяти не является жестким, а происходит во время выполнения программы (см. рис. 14).

 
 


Рис. 14. Распределение рабочего пространства оперативной памяти

В нижних адресах располагаются системные программы. Выше располагается код исполняемого файла (файла с расширением.EXE), размер которого может превышать 64 К. Выполняемому файлу придается сегмент данных, размер которого не превышает 64 К. Далее располагается область системного стека, которая необходима для работы процедур и функций. Размер стека составляет не более 64 К. Стек заполняется от своей верхней границы по направлению к началу. Размер стека может быть назначен директивой $M. Выше стека располагается буфер для работы оверлеев – перекрывающихся частей программы. В верхних адресах оперативной памяти размещается куча (heap), необходимая для работы с динамическими объектами программы. Размером кучи пользователь может управлять при помощи директивы $M, которая имеет следующий формат:

{$M < stacksize >,< heapmin >,< heapmax > } – установить размеры памяти.

< stacksize > - размер стека, изменяется от 1024 до 65520 байт;

< heapmin > - минимальный размер динамической памяти, изменяется от 0

до 655360 байт;

< heapmax > - максимальный размер динамической памяти, изменяется от

< heapmin > до 655360 байт.

Размеры памяти по умолчанию - {$M 16384,0,655360}.

Создание объекта следует рассматривать как выделение памяти под его элемент хранения. Согласно такому подходу рабочее пространство оперативной памяти подразделяется на три класса: статическая память, автоматическая память, динамическая память.





Дата публикования: 2014-11-26; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...