tags: threads scheduler synchronization is_child_of: thread
Scheduler Activation
This method focuses on mimicking the functionality of kernal threads. The way kernel threads handle the scheduling threads when a thread gets blocked. If all of these process can happen in user space through the implemetation of threads package.
Whenever a thread calls blocking system call, kernel notifies run time about it by sending some parameters. Run time then manages which thread to run. When the blocking thread becomes activated, kernel again specifies run time to schedule that thread. Now it is upto run time to restart the thread or schedule it for later.
The call where kernel notfies run time is called upcall.
The main idea behind this method is to avoid the transition between user space and kernel space.