Cold Resume

During a context switch between two processes, which of the following contributes the MOST to performance overhead beyond just saving and restoring registers?

A

Sending an IPC message to the scheduler to request the next process

B

Flushing the TLB and the resulting cache/TLB misses when the new process resumes

C

Copying the entire address space of the old process to disk

D

Recompiling the new process's code for the current CPU core