Standard Forth considers a Forth system as consisting of several address spaces, of which only data space is managed and accessible with the memory words in standard programs. Memory not necessarily in data space includes the stacks, the code (called code space) and the headers (called name space). Gforth allows at least read access to all these logical spaces, but does not guarantee that code accessing the stacks, the threaded or native code, or the headers is portable or will work in the next Gforth version; Gforth provides some accessor words for these purposes, however.
Another division of memory is between dictionary and heap memory.11 In heap memory you can free allocations in arbitrary order, but you cannot grow allocations in-place (see Heap allocation). In dictionary memory deallocation is impractical for the most part, but you can grow allocations in place (see Dictionary allocation). Gforth (since 1.0) allows having several sections of dictionary memory in order to allow more flexibility in this growing (see Sections).
One relevant concept in this context is the contiguous region: It means a piece of memory that is contiguous, without any system data interleaved with it. In heap memory each allocation forms one contiguous region, and separate allocations are not contiguous with any other allocations. In dictionary memory all allocations in a section are contiguous, unless something happens that ends the contiguous region; a typical reason for ending a contiguous region is defining a word in that section.
Gforth provides one big address space, and address arithmetic can be performed between any addresses. However, in the dictionary headers or code are interleaved with data, so almost the only contiguous regions are those described by Standard Forth as contiguous; but you can be sure that, within a section the dictionary is allocated towards increasing addresses even between contiguous regions. The memory order of allocations in the heap is platform-dependent (and possibly different from one run to the next).
The term dictionary is also used to refer to the search data structure embodied in word lists and headers. The search data (word headers) reside in dictionary memory.