Introduction (рдкрд░рд┐рдЪрдп)
рдЬрдм Operating System CPU Scheduling рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд░реНрдл process select рдХрд░рдирд╛ рд╣реА enough рдирд╣реАрдВ рд╣реЛрддрд╛ред
рдпрд╣ рднреА рдЬрд░реВрд░реА рд╣реИ рдХрд┐ scheduling efficient рдФрд░ fair рд╣реЛред
рдЗрд╕реА рдХреЛ measure рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреБрдЫ parameters use рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ Scheduling Criteria рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Scheduling Criteria рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
Scheduling Criteria рд╡реЗ parameters рд╣реИрдВ рдЬрд┐рдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдХрд┐рд╕реА scheduling algorithm рдХреА performance рдХреЛ evaluate рдХрд░рддреЗ рд╣реИрдВред

Main Scheduling Criteria
рдЕрдм рд╣рдо рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рднреА important criteria рд╕рдордЭрддреЗ рд╣реИрдВ:
1. CPU Utilization
рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ CPU рдХрд┐рддрдирд╛ рд╕рдордп busy рд╣реИред
- Goal: CPU рдХреЛ maximum busy рд░рдЦрдирд╛
- Ideal: CPU ideal рди рд░рд╣реЗ
Example:
рдЕрдЧрд░ CPU 100% time рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ тЖТ best utilization
2. Throughput
рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ unit time рдореЗрдВ рдХрд┐рддрдиреЗ processes complete рд╣реБрдПред
- Goal: рдЬреНрдпрд╛рджрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ processes complete рд╣реЛрдВ
Example:
1 second рдореЗрдВ 10 processes complete тЖТ high throughput than 1 second рдореЗрдВ 2 processes complete
3. Turnaround Time
рдХрд┐рд╕реА process рдХреЛ start рд╕реЗ finish рд╣реЛрдиреЗ рддрдХ рдЬрд┐рддрдирд╛ total time рд▓рдЧрддрд╛ рд╣реИред
Formula (conceptually):
Turnaround Time = Completion Time – Arrival Time
Example:
Process 2 sec рдореЗрдВ рдЖрдпрд╛ рдФрд░ 10 sec рдореЗрдВ complete рд╣реБрдЖ
Turnaround Time = 8 sec
4. Waiting Time
Process ready queue рдореЗрдВ рдЬрд┐рддрдирд╛ рд╕рдордп wait рдХрд░рддрд╛ рд╣реИред
- Goal: waiting time рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
Example:
Process 5 sec рддрдХ queue рдореЗрдВ wait рдХрд░рддрд╛ рд╣реИ
5. Response Time
Process request рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА response рдорд┐рд▓рдиреЗ рддрдХ рдХрд╛ рд╕рдордпред
- Goal: fast response рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП
Example:
рдЖрдкрдиреЗ click рдХрд┐рдпрд╛ рдФрд░ 1 sec рдореЗрдВ response рдорд┐рд▓рд╛
Important Relationship
- Waiting Time рдХрдо тЖТ Performance better
- Turnaround Time рдХрдо тЖТ Fast execution
- Throughput рдЬреНрдпрд╛рджрд╛ тЖТ Efficient system
Simple Example
рдорд╛рди рд▓реАрдЬрд┐рдП:
- 3 processes рд╣реИрдВ
- рд╕рднреА queue рдореЗрдВ wait рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдЕрдЧрд░ OS:
- рдЬрд▓реНрджреА process execute рдХрд░реЗ тЖТ waiting time рдХрдо рд╣реЛрдЧрд╛
- рдЬреНрдпрд╛рджрд╛ processes complete рдХрд░реЗ тЖТ throughput рдмрдврд╝реЗрдЧрд╛
Key Points
- Scheduling Criteria = Performance measurement tools
- рд╣рд░ algorithm рдХрд╛ comparison рдЗрдиреНрд╣реАрдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ
- Goal: efficiency + fairness
Conclusion
Scheduling Criteria рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ scheduling algorithm рдмреЗрд╣рддрд░ рд╣реИред
рдПрдХ рдЕрдЪреНрдЫрд╛ scheduler рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬреЛ CPU utilization рдмрдврд╝рд╛рдП, waiting time рдХрдо рдХрд░реЗ рдФрд░ fast response рджреЗред