In this section, we will take about a series of scheduling policies(sometimes called disciplines)
Workload Assumptions
We will make the following assumptions about the process, or jobs, that are running in the systems
- Each job runs for the same amount of time
- All jobs arrive at the same time
- Once started, each job runs to completion
- All jobs only use the CPU
- The run-time of each job is known
Though unrealistic, we’ll start from here and explore them
Type of resources
- Preemptible: OS can take resource away, use it for something else and give it back later
- Non-Preemptible: OS cannot take resource away; have to wait after the resource is voluntarily relinquished
Decisions about resource
- Allocation: which process gets which resources
- Scheduling: how long process keeps resources
When to schedule?
When does scheduler make decisions?
When a process
- switches from running to waiting state
- switches from running to ready state
- switches from waiting to ready