Real-time scheduling
What are real-time systems?
Systems that carry real-time tasks are known as real-time systems.
These tasks can be divided into two categories:
- Soft real-time tasks: The task can be rescheduled.
- Hard real-time tasks: The tasks need to be performed within a certain time period.
In this system, the scheduler is considered the most important component.
The scheduler aims to reduce the response time for each process.
Real-time scheduling algorithms:
In a simple real-time system, there might be no need for a scheduler, one task can simply call the next.
But for more complex real-time systems, that have a large but fixed number of tasks that do not function in pipeline function, one may need static scheduling.
And for real-time systems where the workload keeps changing, one may need dynamic scheduling.
In dynamic scheduling two important question arises:
- How to handle the overload?
To handle the overload these processes can be used:
- Best efforts
- Work shedding
- How to choose which process to execute first?
To decide which process to execute first from the ready queue these methods may be used:
- SJF
- Static priority
- Slack time.
Real Time Scheduling Of Operating system.