I'm trying to know what is the exact function in medium term scheduler in operating systems.
As far my understanding, a process may be needed to be removed from the running queue when it is faced with an I/O request. So it is usually sent to blocked list which is also situated in the main memory. Medium term scheduler is responsible for this.
It's all good till here, but it is confusing in the next part. I looked up the function for medium term scheduler, and it says that it suspends any processes which receives I/O request and are sent to secondary memory in the process of swapping.
So the process is totally removed from the main memory, as opposed to moving it to blocked state within the Main memory. So is MTS really responsible for moving processes from running state to suspension in case of I/O requests or someone else is responsible for it?