Memory management

Single-process system

one process in memory at a time:

Memory management is very simple in this scheme. There is a single block of memory usable by an a process (typically the OS takes up room at both ends of the address space). When the OS loads a program, it checks that there is enough space for the process, then loads in the program code and sets it running. Thereafter, there is next to no memory management to be done until the process terminates, and the next program must be run.

Overlays

If the application is very large, it may have to resort to overlays: loading in parts of itself as required. For example, if it is a word processing package, it may not load the printing routines until the user wishes to print, at which stage, it might discard the search-replace overlay, and load the printing overlay. This requires that the programmer (or compiler) perform the job of splitting up the program into overlays, and that the software explicitly load and unload overlays as the software runs. This is awkward.



last updated 18 May 1998