Processes are generally swapped out from memory to Disk (secondary memory) when they are suspended. So. Processes are not swapped during context switching.
I can't totally agree with this..
Consider a case of Round Robin scheduling where time quantum expires and context switch takes place from A to B. No what if B was not already present in the MM and also there is no free region in MM? Then in order to execute, B has to be brought to MM by swapping out a process.
This is from Galvin 7th edition :
I understand that it is not always necessary to swap out a process..it is required only when there is no free space. But swapping does occur during context switching too (and not just for suspended process).
Also, I can't understand how TLB using ASIDs won't work here. If swapping out takes time then the flushing of contents in TLB and replacing it with new process's entries will also take time. For TLBs not supporting ASIDs D) is right.
So why not C and D both correct because both of them depend on certain situations and can't be generalized?