我目前正在攻读操作系统本科课程。对于进程调度中的调度程序(dispatcher)和中期调度器(medium term scheduler)的功能,我感到有些困惑。根据我所学的知识,中期调度器选择要进行换入和换出的进程,一旦进程被选定,实际的交换操作是由调度程序通过上下文切换(Context Switching)来执行的。而短期调度器则负责调度进程并分配它们的CPU时间,这基于所遵循的调度算法。如果我理解错了,请纠正我。我真的很困惑中期调度器和调度程序之间的功能以及换页(Swapping)和上下文切换(Context Switching)之间的区别。