TheHingineer

  • Operating System


  • OS Part-1

  • OS Part-2

  • OS Part-3

  • OS Part-4

  • OS Part-5

  • Real-Time Scheduling in Operating System

    Introduction

    Real time scheduling ek aisa scheduling mechanism hai jo time-critical applications ke liye use hota hai. Isme processes ko fixed deadlines ke andar complete karna hota hai. Agar deadline miss hoti hai, toh system fail ho sakta hai.

    Real-Time Systems ke Features

    ✅ Predictability: Tasks ko fixed time ke andar execute hona hota hai.
    ✅ Priority-Based Execution: High-priority tasks ko pehle execute kiya jata hai.
    ✅ Minimal Jitter: Tasks execution me delay minimum hona chahiye.
    ✅ Resource Reservation: CPU, memory, aur I/O devices ko allocate karna padta hai taaki deadlines meet ho sakein.


    Types of Real-Time Systems

    1. Hard Real-Time Systems

    • Deadlines strict hoti hain. Agar ek bhi deadline miss ho jaye, toh system fail ho sakta hai.

    • Example:

      • Airbag deployment system in cars 🚗💥

      • Medical systems like pacemakers 🏥❤️

      • Industrial automation 🤖

    Diagram:

    Task |—-|—-|—-| (strict deadlines me complete hona chahiye)

    2. Soft Real-Time Systems

    • Deadlines ko follow karna zaroori hai, par ek chhoti delay allow hoti hai.

    • Example:

      • Online video streaming 🎥 (Frame drop allow hota hai)

      • Online gaming 🎮 (Some lag acceptable)

    Diagram:

    Task |—-|—-|—>| ( Thoda delay hosakta hai pr jaldi complete hona chahiye)


    Real-Time Scheduling Algorithms

    1. Rate Monotonic Scheduling (RMS)

    • Fixed priority-based scheduling algorithm hai.

    • Jitna chhota period hoga, utni high priority milegi.

    • Example:

      • Suppose system me do tasks hain:

        • T1 (Period = 4ms, Execution Time = 1ms)

        • T2 (Period = 6ms, Execution Time = 2ms)

      • T1 ki priority T2 se zyada hogi kyunki uska period chhota hai.

    Diagram:

    Time:0 1 2 3 4 5 6 7 8 9 10 11 12
    Task:T1 T2 T2 - T1 T2 T2 - T1 T2 T2 -
     

    ✔ Advantages: Simple aur predictable hai.
    ❌ Disadvantages: CPU utilization ka limitation hota hai (~69%).


    2. Earliest Deadline First (EDF)

    • Dynamic priority scheduling algorithm hai.

    • Jo task sabse pehle complete hone wala hota hai, usko highest priority milti hai.

    Example:

    TaskArrival TimeExecution TimeDeadline
    T10ms2ms5ms
    T21ms1ms4ms

    Scheduling:

    Time: 0 1 2 3 4 5 6
    Task: T1 T1 T2 - - -
    • T2 ki deadline pehle hai (4ms), isliye pehle execute hoga.

    • EDF ensures ki sabhi tasks apni deadline se pehle complete ho sakein.

    ✔ Advantages: CPU utilization 100% tak ho sakta hai.
    ❌ Disadvantages: Algorithm complex ho sakta hai.


    3. Least Laxity First (LLF)

    • Laxity = Deadline – (Current Time + Remaining Execution Time)

    • Jiska laxity sabse kam hota hai, usko highest priority milti hai.

    Example:

    TaskExecution TimeDeadlineLaxity
    T12ms6ms4ms
    T21ms4ms3ms
    • T2 ka laxity kam hai, toh pehle execute hoga.

    ✔ Advantages: Deadline miss hone ka risk kam hota hai.
    ❌ Disadvantages: Frequent calculations lagti hain.


    Comparison of Real-Time Scheduling Algorithms

    AlgorithmTypePriorityComplexityCPU Utilization
    RMSFixed PriorityStaticLow~69%
    EDFDynamic PriorityDynamicMedium100%
    LLFDynamic PriorityDynamicHigh100%

    Conclusion

    • Real-Time Scheduling ka use time-critical systems me hota hai.

    • Hard Real-Time Systems me deadlines strict hoti hain, jabki Soft Real-Time Systems me slight delays allow hote hain.

    • RMS, EDF, aur LLF jaise scheduling algorithms system ki efficiency improve karne ke liye use hote hain.

    Scroll to Top