They instead view it as several disjoint linear arrays each containing logically related portions of their total addressable memory area. These regions are referred to as segments. Typically, programs can be broken up into a code segment and one or more data segments (globals vs. locals).