:PROPERTIES:
:ID: 23b8c096-f08e-4705-84d9-a04eceb00e7f
:mtime: 20240305031221
:ctime: 20240305031219
:END:
#+title: dispatcher
#+filetags: :public:project:
* Dispatcher
The dispatcher is a program which runs After scheduler, the Dispatcher gives control of the [[id:7147c380-ef65-4c2e-b7ad-cbac8732e0be][CPU]] to the
selected [[id:ea9ceb4e-ff99-4939-ad40-90d5dae2d567][process]] by
1) [[id:2f3155e9-a235-47f7-bc69-22471cc0f558][Switching context]],
2) Switching to [[id:d23cd605-639a-49f7-a5bc-264affd58520][user mode]],
3) Executing the user process from the selected location
** Two important questions:
1. When to make a scheduling decision to select the next process?
2. How to order the queue – which process to select next?