As a consequence of DOS compatibility, Windows 95 has to keep internal DOS data structures synchronized with those of Windows 95. When starting a program, even a native 32-bit Windows program, MS-DOS momentarily executes to create a data structure known as the Program Segment Prefix. It is even possible for MS-DOS to run out of conventional memory while doing so, preventing the program from launching. Windows 3.x allocated "fixed" segments in conventional memory first. Since the segments were allocated as fixed, Windows could not move them, which would prevent any more programs from launching.