Memory Management

When a piece of software runs, it continuously needs to request more memory from the operating system and constantly returns no longer needed memory back to the system.  Programs will also move data around to different parts of allocated memory.  If they need memory for a list of items, they may request enough memory to hold the entire list, but if the list may be changing in size over time, they may break the list into manageable pieces and only allocate small pieces at a time as items are added or removed from the list.  These are forms of “memory management”.

Computer memory is a very limited resources available to programs, especially as modern operating systems generally have dozens of programs running simultaneously, all competing for the limited amount of memory.  This make memory management a critical part of software development.

One of the many tactics in memory management is garbage collection, which consists of hunting down unused memory and reclaiming it back for other programs to use.

Leave a Reply