What is the main goal of the Memory Management?
It decides which process should reside in the main
memory, Manages the parts of the virtual address space
of a process which is non-core resident, Monitors the
available main memory and periodically write the
processes into the swap device to provide more processes
fit in the main memory simultaneously.
What is a Map?
A Map is an Array, which contains the addresses of the
free space in the swap device that are allocatable
resources, and the number of the resource units
This allows First-Fit allocation of contiguous blocks of
a resource. Initially the Map contains one entry –
address (block offset from the starting of the swap
area) and the total number of resources. Kernel treats
each unit of Map as a group of disk blocks. On the
allocation and freeing of the resources Kernel updates
the Map for accurate information.
What scheme does the Kernel in Unix System V follow
while choosing a swap device among the multiple swap
Kernel follows Round Robin scheme choosing a swap device
among the multiple swap devices in Unix System V.
What is a Region?
A Region is a continuous area of a process’s address
space (such as text, data and stack). The kernel in a
‘Region Table’ that is local to the process maintains
region. Regions are sharable among the process.
What are the events done by the Kernel after a process
is being swapped out from the main memory?
When Kernel swaps the process out of the primary memory,
it performs the following:
Kernel decrements the Reference Count of each region of
the process. If the reference count becomes zero, swaps
the region out of the main memory,
Kernel allocates the space for the swapping process in
the swap device,
Kernel locks the other swapping process while the
current swapping operation is going on,
The Kernel saves the swap address of the region in the
Is the Process before and after the swap are the same?
Process before swapping is residing in the primary
memory in its original form. The regions (text, data and
stack) may not be occupied fully by the process, there
may be few empty slots in any of the regions and while
swapping Kernel do not bother about the empty slots
while swapping the process out. After swapping the
process resides in the swap (secondary memory) device.
The regions swapped out will be present but only the
occupied region slots but not the empty slots that were
present before assigning. While swapping the process
once again into the main memory, the Kernel referring to
the Process Memory Map, it assigns the main memory
accordingly taking care of the empty slots in the
What do you mean by u-area (user area) or u-block?
This contains the private data that is manipulated only
by the Kernel. This is local to the Process, i.e. each
process is allocated a u-area.
What are the entities that are swapped out of the main
memory while swapping the process out of the main
All memory space occupied by the process, process’s
u-area, and Kernel stack are swapped out, theoretically.
Practically, if the process’s u-area contains the
Address Translation Tables for the process then Kernel
implementations do not swap the u-area.
What is Fork swap?
fork() is a system call to create a child process. When
the parent process calls fork() system call, the child
process is created and if there is short of memory then
the child process is sent to the read-to-run state in
the swap device, and return to the user state without
swapping the parent process. When the memory will be
available the child process will be swapped into the
What is Expansion swap?
At the time when any process requires more memory than
it is currently allocated, the Kernel performs Expansion
swap. To do this Kernel reserves enough space in the
swap device. Then the address translation mapping is
adjusted for the new virtual address space but the
physical memory is not allocated. At last Kernel swaps
the process into the assigned space in the swap device.
Later when the Kernel swaps the process into the main
memory this assigns memory according to the new address
How the Swapper works?
The swapper is the only process that swaps the
processes. The Swapper operates only in the Kernel mode
and it does not uses System calls instead it uses
internal Kernel functions for swapping. It is the
archetype of all kernel process.