Scheduling is the process of arranging, controlling and optimizing work and workloads in a production process or manufacturing process. In manufacturing, the purpose is to minimize the production time and costs, by telling a production facility when to make, with which staff, and on which equipment.
In real-time environments, such as embedded systems for automatic control in industry (for example robotics), the scheduler also must ensure that processes can meet deadlines; this is crucial for keeping the system stable.
In general, most processes can be described as either I/O-bound or CPU-bound. An I/O-bound process is one that spends more of its time doing I/O than it spends doing computations. A CPU(Central Processing Unit)-bound process, in contrast, generates I/O requests infrequently, using more of its time doing computations. It is important that a long-term scheduler selects a good process mix of I/O-bound and CPU-bound processes.
How do you manage ?
- Create a routine. No matter what you are working on, create a routine.
- Group meetings and calls into blocks.
- Optimize time for different meeting types.
- Use appointment slots.
- Block time for email.
- Plan your exercise and family time.
- Actually manage your time.
- First-Come First-Serve , FCFS.
- Shortest-Job-First , SJF.
- Round Robin .
- Multilevel Queue .
- Multilevel Feedback-Queue .
A sc. discipline (also called sc. policy or sc. algorithm) is an algorithm used for distributing resources among parties which simultaneously and asynchronously request them. Scheduling disciplines are used in routers (to handle packet traffic) as well as in operating systems (to share CPU time among both threads and processes), disk drives (I/O), printers (print spooler), most embedded systems, etc.
The main purposes of this algorithms are to minimize resource starvation and to ensure fairness amongst the parties utilizing the resources. There are many different scheduling algorithms. In this section, we introduce several of them.