Scheduler
Scheduler एक Special System Software होता है, जो Process Scheduling को Handle करता है | Scheduler का Main Work, System में Submit किये जाने वाले Jobs को Select करना और यह Decide करना की किस Process को Run करना है | Scheduler तीन प्रकार के होते है –
- Long-Term Scheduler(Job Scheduler)
- Short-Term Scheduler(CPU Scheduler)
- Medium-Term Scheduler
Long-Term Scheduler
इसे Job Scheduler भी कहते है | Long-Term Scheduler यह निर्धारित करता है की कौन-सा Program, Processing के लिए System में Submitted है | यह Queue से Process को Select करता और Execution के लिए Memory में Load करता है | यह Degree of Multi-Programming को भी Control करता है | यदि Degree of Multi-Programming Stable है तो, Average rate of Process Creation तथा Average Rate of Process Departure, बराबर होता है | Time Sharing Operating System में Long-Term Scheduler नहीं होता है | जब किसी Process का State New से Ready में Change होता है, तो वहां Long-Term Scheduler का Use होता है |
Short-Term Scheduler
इसे CPU Scheduler भी कहते है | इसका Main Objective Select हुए Criteria के अनुसार System के Performance को Increase करना है | CPU Scheduler सभी Processes में से एक Process को Select करता है, जो Execution के लिए तैयार है, उसे CPU Allocate करता है | Short-Term Scheduler को Dispatcher भी कहते है, जो यह निर्धारित करता है की किस Process को आगे Execute करना है | यह Long-term Scheduler से Fast होते है |
Medium-Term Scheduler
Medium-Term Scheduler Swapping का part होते हैं | यह Memory से Process को Remove कर देता है | यह Degree of Multi-Programming को कम करता है | Medium-term Scheduler Swapping process में Swap Out process को Handle करता है |
Scheduling Criteria
Different CPU Scheduling Algorithm में Different Properties होती है | एक Particular Algorithm का Selection Different Criteria पर निर्भर करता है | CPU Scheduling Algorithm को Compare करने के लिए Different Criteria का Use किया जाता है जो निम्नलिखित है –
1. CPU Utilization
किसी भी CPU Scheduling Algorithm का मुख्य उद्देश्य CPU को अधिकतम Busy रखना है | Theoretically CPU का Use 0 से 100 प्रतिशत तक हो सकता है | लेकिन Real Time System में, यह System पर Load के आधार पर 40 से 90 प्रतिशत तक होता है |
2. Throughput
CPU द्वारा किये गए Work का Measurement, Per unit time में Execute होने वाली Process की संख्या है | इसे Throughput कहते है | Process के Length और Duration के आधार पर Throughput अलग-अलग हो सकते है |
3. Turnaround Time
एक Particular Process के लिए Import Criteria यह है की उस Process को Execute करने में कितना समय लगता है | किसी Process के Submission से लेकर Execution Complete होने में लगने वाले Time को Turnaround Time कहते है |
Turnaround Time = Waiting Time to get into Memory + Waiting Time in Ready queue + Execution Time + Waiting Time for I/O
4. Waiting Time
Scheduling Algorithm Execution start होने के बाद Process को Execute करने में लगने वाले समय को प्रभावित नहीं करता है | किसी Process को Start Queue से Execution State में आने से पहले लगने वाले समय को Waiting Time कहते है |
5. Response Time
Interactive System में Turnaround Time Best Criteria नहीं होता है | क्योंकि Process कुछ Result को काफी जल्दी Generate कर देती है और अन्य Result को Calculate करना जारी रखती है जबकि पिछला Result use को Show हो रहा होता है | इस प्रकार Process को Submit करने से लेकर First Response Produce होने में लगने वाले Time को Response Time कहते है |