Context Switch and Operation on Processes
Context Switch
Context Swith, Process Control Block में CPU की State या Context को Store एवं Restore करने का Mechanism है, ताकि बाद में Same Point से Process Execution को फिर से Start किया जा सके | इस Technique का use करके CPU को एक से ज्यादा Process का साथ Share किया जा सकता है | जब Scheduler CPU को एक Process से दूसरी Process को Execute करने के लिए Switch करता है तो Current Runnning Process का Status, Process Control Block (PCB) में Store हो जाता है | इसके बाद आगे के Process के लिए State को उसके अपने Process Control Block (PCB) से Load किया जाता है, और इसका प्रयोग Program Counter (PC) और Register को Set करने के लिए किया जाता है | जिसके बाद Next Process का Execution Start हो जाता है |
जब Process को Switch किया जाता है तो निम्नलिखित Information को बाद में Use करने के लिए Store किया जाता है –
- Program Counter
- Scheduling information
- Base and limit register value
- Currently used register
- Changed State
- I/O State information
- Accounting information
Operation on Processes
Process Execution एक Complex Activity है | इसमें विभिन्न Operation शामिल होते हैं | Process Execution के दौरान Perform किये जाने वाले Operation निम्नलिखित है –
- Creation
- Scheduling/Dispatching
- Blocking
- Preemption
- Termination
1. Creation
यह Process Execution Activity का Initial Step है | Process Creation का अर्थ है Execution के लिए नए Process को Construct करना | इसे System User या Old Process द्वारा Perform किया जा सकता है | ऐसे कई Events हैं जो Process Creation को Lead करते है, वे Events कुछ इस प्रकार है –
- जब Computer को Start करते है तो System कई Background Process को Create करता है |
- जब User एक नई Process Create करने के लिए Request करता है |
- एक Process Execution करते समय स्वयं एक नई Process बना सकती है |
2. Scheduling/Dispatching
वह Event या Activity जिसमें Process की State, Ready से Running में बदल जाती है | इसका मतलब है की Operating System इस Activity के द्वारा Process को Ready State से Running State में Transfer करता है | operating System के द्वारा Dispatching जब Resources Free होते हैं, या Process की Priority Currently Execute हो रही Process की तुलना में High होती है |
3. Blocking
जब कोई Process एक Input/Output System Call को Invoke(Call) करती है, तो वह Process को Block करने के साथ-साथ Operating System को भी Block Mode में डाल देता है | Block Mode एक ऐसा Mode है जहां पर Process Input-Output का Wait करती है | इसलिए Operating System, Process की Demand पर उसे Block कर देता है और अन्य Process को Execute करने के लिए Processor को भेज देता है |
4. Preemption
Timeout का मतलब है की Alloted Time Interval में Process Terminate नहीं हुई और अगली Process Execution के लिए Ready है, तो Operating System Current Execution Process को Preempt कर देता है अथवा छोड़ देता है | यह Operation केवल वहीं Valid है, जहां CPU Scheduling, Preemption को Support करता हो | मूल रूप से यह Priority Scheduling में होता है जहां Higher Priority Process के आने पर Operating System Ongoing (Cureently Executing) Process को छोड़ देता है | इसलिए Process Preemption Operating में, Operating System Process को Ready State में रखता है |
5. Termination
Process Termination, Process के Execution को End करने की Actvity है | Creation की तरह Termination में भी कुछ Event होते है जो Process को Terminate कर सकते है | वे Events कुछ इस प्रकार है –
- Process अपने Execution को पूरी तरह से पूरा करते है और OS को Indicate करते है की वह Finish हो चुका है |
- Operating System, Service Error के कारण Process को Terminate कर देता है |
- Hardware में Problem के कारण Process Terminate हो जाती है |
- एक Process अन्य Process को Terminate कर देती है |