1.1.2 System software Flashcards
What is processor scheduling?
The scheduler is the operating system module responsible for making sure the processor time is used as efficiently as possible.
While one app is busy using the CPU for processing, the OS can queue up the next process required by another application.
The scheduler should:
- Maximise throughput
- be far to all users on a multi-user platform.
- provide acceptable response time
ensure hardware resources are kept as busy as possible
A computer with a single processor can only carry out one instruction at a time - but the processor can appear to multi task by carrying out small parts of larger tasks in turn.
Scheduling algorithms: Describe round robin.
FIFO (First in First out) basis.
Each process allocated a given amonut of time called a time slice or a quantum.
If the process does not complete before its time expires, or a higher level interupt occurs, the despatcher gives the CPU to the next process.
Operating sets an interval timer/clock to generate interrupts at specific times. This method helps gurantee a reasonable response time to all users of the system.
In some systems, a system of priorities may allow a high priority job to have more than one consecutive time slice.
Scheduling algorithms: Describe First come first served.
Jobs are processed in order of when they arrive, with no system of priority.
Scheduling algorithms: Describe First come first served.
Jobs are processed in order of when they arrive, with no system of priority.
Scheduling algorthims: Describe Shortest remaining time.
The process with the smallest estimated time until completion is run next.
This tends to reduce the number of waiting jobs, and the number of small jobs waiting behind big jobs.
Disadvantage is that it requires knowledge of how long a job will take, so the user has to estimate the job time.
This is possible for batch jobs such as payroll, which are performed regularly and run overnight.
Scheduling algorithms: Describe Shortest job first.
The process with the smallest estimated running time is run next.
Disadvantage is that it requires knowledge of how long a job will take, so the user has to estimate the job time.
Scheduling algorithms: Describe Multi-level feedback queues.
This algorithm is designed to:
- give preference to shorter jobs
- give preference to I/O bound processes
- seperate processes into categories based on their need for the processor
Implements several job queues and jobs can move between each queue depedning on how much processor time they use.
I/O is much slower than processor speeds, therefore I/O devices are kept as continously busy as possible so that a bottleneck doesnt occur.