⟩ List reasons why a Mode switch between threads may be cheaper than a Mode switch between processes?
1. reason – the control blocks for processes are larger
than for threads (hold more state information), so the
amount of information to move during the thread switching
is less than for process context switching
2. reason – the major reason is that the memory management
is much simpler for threads than for processes. Threads
share their memory so during mode switching, memory
information does not have to be exchanged/changed, pages
and page tables do not have to be switched, etc. This makes
the thread context switch much cheaper than for processes.
In case of processes the memory pieces (pages) need to be
exchanged, etc. (Will talk about the details in few weeks).
3. reason – threads do not have to worry about accounting,
etc, so do not have to fill out all the information about
accounting and other process specific information in their
thread control block, so keeping the thread control block
consistent is much faster
4. reason – threads share files, so when mode switch
happens in threads, these information stay the same and
threads do not have to worry about it (similar to
accounting information) and that makes the mode switch much
faster.