Chapter 9: Main Memory (Ch 9 Silberschatz) Flashcards
Process instructions and the data they operate on must be in memory to be executed. However, a process, or a portion of a process, can be __________ temporarily out of memory to a __________ and then brought back into memory for continued execution
Process instructions and the data they operate on must be in memory to be executed. However, a process, or a portion of a process, can be swapped temporarily out of memory to a backing store and then brought back into memory for continued execution
Standard swapping
involves moving
Standard swapping involves moving entire processes between main memory and a backing store.
Swapping with paging
Standard swapping was used in traditional UNIX systems, but it is generally no longer used in contemporary operating systems because the amount of time required to move entire processes between memory and the backing store is prohibitive. (An exception to this is Solaris, which still uses standard swapping, however only under dire circumstances when available memory is extremely low.)
Most systems, including Linux and Windows, now use a variation of
swapping in which pages of a process—rather than an entire process—can be swapped.
Swapping on mobile systems
Most operating systems for PCs and servers support swapping pages. In contrast, mobile systems typically do not support swapping in any form. Mobile devices generally use
flash memory rather than more spacious hard disks for nonvolatile storage. The resulting space constraint is one reason why mobile operating-system designers avoid swapping.
Instead of using swapping, when free memory falls below a certain threshold, Apple’s IOS
asks applications to voluntarily relinquish allocated memory.
Android adopts a strategy similar to that used by IOS. It may terminate a process if insufficient free memory is available. However, before terminating a process, Android
writes its application state to flash memory so that it can be quickly restarted.
backing store:
The secondary storage area used for process swapping.