Scheduling Queue and Scheduler
Scheduling Queue
Operating System सभी PCB(PROCESS CONTROL BLOCK) को Process Scheduling Queue में Maintain रखता है | Operating System प्रत्येक State के लिए अलग Queue Maintain करता है तथा एक ही Execution State के सभी Process के PCB को एक ही Queue में रखता है | जब एक Process की State Change हो जाती है तो उस Process का PCB अपनी Present Queue से अलग हो जाता है और अपने नए State के Queue में Add हो जाता है |
Operating System निम्नलिखित Process Queue को Maintain करता है –
- Job Queue
- Ready Queue
- Device Queue
Job Queue
यह Queue System में सभी Process को रखती है |
Ready Queue
यह Queue Main Memory में रहने वाली Process के एक Set को Store करती है, जो की Ready State में है और Execute होने का Wait कर रही होती है |
Device Queue
यह Queue I/O Device के unavailability (अनुपलब्धता) के कारण Block होने वाली Process को Store करता है |
Operating System प्रत्येक Queues को Manage करने के लिए Different Policies का प्रयोग करता है | Ex- (FIFO, Round Robin, Priority, etc.). Operating System scheduler यह निर्धारित करता है की Ready और Running Queue के बीच Process को कैसे Transfer किया जाए, जिसमे Per Processor Core केवल एक Entry हो सकती है |
Scheduler
Scheduler एक Special System Software होता है, जो Process Scheduling को Handle करता है | Scheduler का Main Work, System में Submit किये जाने वाले Jobs को Select करना और यह Decide करना की किस Process को Run करना है | Scheduler तीन प्रकार के होते है –
- Long-Term Scheduler
- Short-Term 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 का प्रयोग होता है |
Short-Term Scheduler
इसे CPU Scheduler भी कहते है | इसका Main Objective Select हुए Criteria के अनुसार System के Performance को बढ़ाना है | 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 करता है |