ऑपरेटिंग सिस्टम - प्रक्रियाएं
प्रोसेस
एक प्रक्रिया मूल रूप से निष्पादन में एक कार्यक्रम है। एक प्रक्रिया का निष्पादन क्रमबद्ध रूप से प्रगति करना चाहिए।
एक प्रक्रिया को एक इकाई के रूप में परिभाषित किया गया है जो सिस्टम में लागू होने वाली कार्य की मूल इकाई का प्रतिनिधित्व करता है।
इसे सरल शब्दों में कहें, तो हम अपने कंप्यूटर प्रोग्राम को एक टेक्स्ट फ़ाइल में लिखते हैं और जब हम इस प्रोग्राम को निष्पादित करते हैं, तो यह एक प्रक्रिया बन जाती है, जो प्रोग्राम में उल्लिखित सभी कार्यों को पूरा करती है।
जब किसी प्रोग्राम को मेमोरी में लोड किया जाता है और यह एक प्रक्रिया बन जाती है, तो इसे चार खंडों, स्टैक, हीप, टेक्स्ट और डेटा में विभाजित किया जा सकता है। निम्नलिखित छवि मुख्य मेमोरी के अंदर एक प्रक्रिया का सरलीकृत लेआउट दिखाती है -
एस.एन. | घटक विवरण |
---|---|
1 | Stack प्रक्रिया स्टैक में अस्थायी डेटा जैसे विधि / फ़ंक्शन पैरामीटर, रिटर्न पता और स्थानीय चर शामिल हैं। |
2 | Heap यह गतिशील रूप से अपने रन टाइम के दौरान एक प्रक्रिया को मेमोरी आवंटित करता है। |
3 | Text इसमें प्रोग्राम काउंटर के मूल्य और प्रोसेसर के रजिस्टरों की सामग्री द्वारा प्रस्तुत वर्तमान गतिविधि शामिल है। |
4 | Data इस खंड में वैश्विक और स्थिर चर हैं। |
कार्यक्रम
एक प्रोग्राम कोड का एक टुकड़ा है जो एक एकल लाइन या लाखों लाइनें हो सकती है। एक कंप्यूटर प्रोग्राम आमतौर पर एक प्रोग्रामिंग प्रोग्राम में कंप्यूटर प्रोग्रामर द्वारा लिखा जाता है। उदाहरण के लिए, यहाँ C प्रोग्रामिंग भाषा में लिखा गया एक सरल प्रोग्राम है -
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
कंप्यूटर प्रोग्राम निर्देशों का एक संग्रह है जो कंप्यूटर द्वारा निष्पादित किए जाने पर एक विशिष्ट कार्य करता है। जब हम किसी प्रोग्राम की किसी प्रक्रिया से तुलना करते हैं, तो हम यह निष्कर्ष निकाल सकते हैं कि एक प्रक्रिया कंप्यूटर प्रोग्राम का एक गतिशील उदाहरण है।
कंप्यूटर प्रोग्राम का एक हिस्सा जो एक अच्छी तरह से परिभाषित कार्य करता है, एक के रूप में जाना जाता है algorithm। कंप्यूटर प्रोग्राम, लाइब्रेरी और संबंधित डेटा के संग्रह को एक के रूप में संदर्भित किया जाता हैsoftware।
प्रक्रिया जीवन चक्र
जब कोई प्रक्रिया निष्पादित होती है, तो यह विभिन्न राज्यों से होकर गुजरती है। ये चरण अलग-अलग ऑपरेटिंग सिस्टम में भिन्न हो सकते हैं, और इन राज्यों के नाम भी मानकीकृत नहीं हैं।
सामान्य तौर पर, एक प्रक्रिया में एक समय में निम्नलिखित पांच राज्यों में से एक हो सकता है।
एस.एन. | राज्य और विवरण |
---|---|
1 |
Start यह प्रारंभिक अवस्था है जब एक प्रक्रिया पहली बार शुरू / बनाई जाती है। |
2 |
Ready प्रक्रिया एक प्रोसेसर को सौंपे जाने की प्रतीक्षा कर रही है। तैयार प्रक्रियाएं इंतजार कर रही हैं कि ऑपरेटिंग सिस्टम द्वारा उन्हें प्रोसेसर आवंटित किया जाए ताकि वे चल सकें। इसके बाद प्रक्रिया इस स्थिति में आ सकती हैStart राज्य द्वारा या इसे चलाते समय, लेकिन शेड्यूलर द्वारा सीपीयू को किसी अन्य प्रक्रिया में असाइन करने के लिए बाधित किया जाता है। |
3 | Running एक बार जब प्रक्रिया को ओएस अनुसूचक द्वारा प्रोसेसर को सौंपा गया है, तो प्रक्रिया की स्थिति चल रही है और प्रोसेसर अपने निर्देशों को निष्पादित करता है। |
4 | Waiting प्रक्रिया प्रतीक्षा की स्थिति में चली जाती है अगर उसे किसी संसाधन की प्रतीक्षा करने की आवश्यकता होती है, जैसे उपयोगकर्ता इनपुट की प्रतीक्षा करना, या फ़ाइल उपलब्ध होने की प्रतीक्षा करना। |
5 | Terminated or Exit एक बार जब प्रक्रिया अपना निष्पादन समाप्त कर लेती है, या इसे ऑपरेटिंग सिस्टम द्वारा समाप्त कर दिया जाता है, तो इसे समाप्त अवस्था में ले जाया जाता है, जहां इसे मुख्य मेमोरी से हटाने का इंतजार किया जाता है। |
प्रक्रिया नियंत्रण ब्लॉक (पीसीबी)
एक प्रक्रिया नियंत्रण ब्लॉक एक डेटा संरचना है जिसे हर प्रक्रिया के लिए ऑपरेटिंग सिस्टम द्वारा बनाए रखा जाता है। पीसीबी एक पूर्णांक प्रक्रिया आईडी (पीआईडी) द्वारा पहचाना जाता है। एक पीसीबी एक प्रक्रिया का ट्रैक रखने के लिए आवश्यक सभी जानकारी रखता है जैसा कि तालिका में नीचे सूचीबद्ध है -
एस.एन. | जानकारी और विवरण |
---|---|
1 | Process State प्रक्रिया की वर्तमान स्थिति अर्थात, चाहे वह तैयार हो, चल रही हो, प्रतीक्षा कर रही हो या जो भी हो। |
2 | Process privileges सिस्टम संसाधनों तक पहुँच को अनुमति / अस्वीकार करने के लिए यह आवश्यक है। |
3 | Process ID ऑपरेटिंग सिस्टम में प्रत्येक प्रक्रिया के लिए विशिष्ट पहचान। |
4 | Pointer मूल प्रक्रिया के लिए एक सूचक। |
5 | Program Counter प्रोग्राम काउंटर इस प्रक्रिया के लिए निष्पादित होने वाले अगले निर्देश के पते का एक संकेतक है। |
6 | CPU registers विभिन्न सीपीयू रजिस्टर करते हैं, जहां चलने वाले राज्य के निष्पादन के लिए प्रक्रिया को संग्रहीत करने की आवश्यकता होती है। |
7 | CPU Scheduling Information प्रक्रिया प्राथमिकता और अन्य शेड्यूलिंग जानकारी जो प्रक्रिया को शेड्यूल करने के लिए आवश्यक है। |
8 | Memory management information इसमें ऑपरेटिंग सिस्टम द्वारा उपयोग की जाने वाली मेमोरी के आधार पर पेज टेबल, मेमोरी लिमिट, सेगमेंट टेबल की जानकारी शामिल है। |
9 | Accounting information इसमें प्रक्रिया निष्पादन, समय सीमा, निष्पादन आईडी आदि के लिए उपयोग किए जाने वाले सीपीयू की मात्रा शामिल है। |
10 | IO status information इसमें प्रक्रिया के लिए आवंटित I / O उपकरणों की एक सूची शामिल है। |
एक PCB का आर्किटेक्चर पूरी तरह से ऑपरेटिंग सिस्टम पर निर्भर है और इसमें विभिन्न ऑपरेटिंग सिस्टम की अलग-अलग जानकारी हो सकती है। यहाँ एक पीसीबी का सरलीकृत चित्र है -
पीसीबी जीवन भर एक प्रक्रिया के लिए बनाए रखा जाता है, और प्रक्रिया समाप्त होने के बाद हटा दिया जाता है।