CPU Scheduling

Introduction (рдкрд░рд┐рдЪрдп)

Computer system рдореЗрдВ CPU рд╕рдмрд╕реЗ important resource рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди system рдореЗрдВ рдПрдХ рд╕рдордп рдкрд░ рдХрдИ processes ready рд░рд╣рддреЗ рд╣реИрдВред

рдЕрдм рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ:
CPU рдХрд┐рд╕ process рдХреЛ рдкрд╣рд▓реЗ execute рдХрд░реЗ?

рдЗрд╕реА problem рдХреЛ solve рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CPU Scheduling рдХрд╛ use рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

CPU Scheduling рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ

CPU Scheduling рд╡рд╣ process рд╣реИ рдЬрд┐рд╕рдореЗрдВ Operating System рдпрд╣ decide рдХрд░рддрд╛ рд╣реИ рдХрд┐ ready queue рдореЗрдВ рдореМрдЬреВрдж processes рдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ process CPU рдХреЛ рдорд┐рд▓реЗрдЧрд╛ред

Simple Definition

CPU Scheduling рдПрдХ technique рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ OS processes рдХреЛ CPU allocate рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ system efficiently рдХрд╛рдо рдХрд░реЗред

Basic Idea

  • System рдореЗрдВ рдХрдИ processes рд╣реЛрддреЗ рд╣реИрдВ
  • рд╕рднреА processes рдПрдХ queue рдореЗрдВ wait рдХрд░рддреЗ рд╣реИрдВ (Ready Queue)
  • OS рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ process рдХреЛ select рдХрд░рддрд╛ рд╣реИ
  • CPU рдЙрд╕ process рдХреЛ execute рдХрд░рддрд╛ рд╣реИ

Process States (Important Concept)

CPU Scheduling рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП process states рдЬрд╛рдирдирд╛ рдЬрд░реВрд░реА рд╣реИ:

1. New

Process create рд╣реБрдЖ рд╣реИ

2. Ready

Process CPU рдХреЗ рд▓рд┐рдП wait рдХрд░ рд░рд╣рд╛ рд╣реИ

3. Running

Process CPU рдкрд░ execute рд╣реЛ рд░рд╣рд╛ рд╣реИ

4. Waiting

Process I/O operation рдХреЗ рд▓рд┐рдП wait рдХрд░ рд░рд╣рд╛ рд╣реИ

5. Terminated

Process complete рд╣реЛ рдЪреБрдХрд╛ рд╣реИ

Ready Queue Concept

  • рд╕рднреА ready processes рдПрдХ queue рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ
  • OS scheduler рдЗрд╕ queue рд╕реЗ process рдЪреБрдирддрд╛ рд╣реИ

CPU Scheduler рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ

CPU Scheduler OS рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ:

  • Ready queue рд╕реЗ process select рдХрд░рддрд╛ рд╣реИ
  • CPU allocate рдХрд░рддрд╛ рд╣реИ

Dispatcher рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ

Dispatcher рд╡рд╣ component рд╣реИ рдЬреЛ:

  • Selected process рдХреЛ CPU рджреЗрддрд╛ рд╣реИ
  • Context switch рдХрд░рддрд╛ рд╣реИ

Context Switching

рдЬрдм CPU рдПрдХ process рд╕реЗ рджреВрд╕рд░реЗ process рдкрд░ switch рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ Context Switching рдХрд╣рддреЗ рд╣реИрдВред

рдЗрд╕рдореЗрдВ:

  • Current process рдХрд╛ state save рд╣реЛрддрд╛ рд╣реИ
  • Next process load рд╣реЛрддрд╛ рд╣реИ

Types of Scheduling

1. Non-Preemptive Scheduling

  • Process CPU рддрдм рддрдХ рд░рдЦрддрд╛ рд╣реИ рдЬрдм рддрдХ рд╡рд╣ complete рди рд╣реЛ рдЬрд╛рдП

Example:
FCFS

2. Preemptive Scheduling

  • OS process рдХреЛ рдмреАрдЪ рдореЗрдВ рд░реЛрдХрдХрд░ рджреВрд╕рд░реЗ process рдХреЛ CPU рджреЗ рд╕рдХрддрд╛ рд╣реИ

Example:
Round Robin

Example

рдорд╛рди рд▓реАрдЬрд┐рдП 3 processes рд╣реИрдВ:

  • P1
  • P2
  • P3

Process flow:

  • рд╕рднреА ready queue рдореЗрдВ рд╣реИрдВ
  • OS P1 рдХреЛ select рдХрд░рддрд╛ рд╣реИ
  • P1 execute рдХрд░рддрд╛ рд╣реИ
  • рдлрд┐рд░ P2 рдФрд░ P3 рдХреЛ chance рдорд┐рд▓рддрд╛ рд╣реИ

Key Points

  • CPU Scheduling = CPU allocation decision
  • Ready Queue = waiting processes
  • Scheduler = process select рдХрд░рддрд╛ рд╣реИ
  • Dispatcher = process рдХреЛ CPU рджреЗрддрд╛ рд╣реИ

Conclusion

CPU Scheduling Operating System рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг concept рд╣реИ, рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ CPU рдХрд╛ рдЙрдкрдпреЛрдЧ efficiently рд╣реЛ рдФрд░ рд╕рднреА processes рдХреЛ рдЙрдЪрд┐рдд рд╕рдордп рдкрд░ execute рд╣реЛрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓реЗред

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top