System memory is the portion of memory on which we, as C developers, have essentially no direct control. It consists of the memory used to store executable machine code, native C stacks, the C heap (malloc() and free()), dynamically linked native libraries, and any other uncontrollable memory.