suspensions of programs running in a multi - programming environment are made to occur when the footprint of a program to be suspended is relatively small . this occurs when a process releases data or instruction storage in the cache because the program has moved to a different phase of behavior . an interrupt is armed to occur at small - footprint points , and then the point where that occurs is detected .