Chapter 6: S cheduling | 🗒️ Ben's Notes
When multiple tasks need to be done on a single CPU, we need to figure out a way to distribute the work done by the CPU across all of the tasks. At any point there are running, waiting, and blocked threads. A processor’s scheduling policy determines how and when threads transition between these states. There are three primary goals for an effective scheduling algorithm. No single scheduling policy can achieve every goal; there must be some tradeoffs. For example, minimizing response time results in more context switching, so throughput cannot also be maximized. Workload: the input to a scheduling algorithm, which includes the set of tasks to perform, when they arrive, and how long they will take. Compute-bound tasks primarily use the CPU, whereas IO-bound tasks spend most of their time blocked by IO and only a small amount of time using the CPU. Preemption is the process of interrupting a running thread to allow for the scheduler to decide which thread runs next. Priority Inversion occ
When multiple tasks need to be done on a single CPU, we need to figure out a way to distribute the work done by the CPU across all of the tasks. At any point there are running, waiting, and blocked threads. A processor’s scheduling policy determines how and when threads transition between these states. There are three primary goals for an effective scheduling algorithm. No single scheduling policy can achieve every goal; there must be some tradeoffs. For example, minimizing response time results in more context switching, so throughput cannot also be maximized. Workload: the input to a schedul
Explore this link on the map →