प्रक्रिया और कार्यक्रम के बीच कई-से-एक संबंध मौजूद हैं, जिसका अर्थ है कि एक कार्यक्रम कई प्रक्रियाओं को लागू कर सकता है या दूसरे शब्दों में कई प्रक्रियाएं एक ही कार्यक्रम का हिस्सा हो सकती हैं।
तुलना चार्ट
तुलना के लिए आधार | कार्यक्रम | प्रक्रिया |
---|---|---|
बुनियादी | कार्यक्रम निर्देश का एक सेट है। | जब किसी कार्यक्रम को निष्पादित किया जाता है, तो इसे प्रक्रिया के रूप में जाना जाता है। |
प्रकृति | निष्क्रिय | सक्रिय |
जीवनकाल | लंबे समय तक | सीमित |
स्रोतों की आवश्यकता | प्रोग्राम को कुछ फ़ाइल में डिस्क पर संग्रहीत किया जाता है और किसी अन्य संसाधन की आवश्यकता नहीं होती है। | प्रोसेस में CPU, मेमोरी एड्रेस, डिस्क, I / O आदि जैसे संसाधन होते हैं। |
कार्यक्रम की परिभाषा
एक कार्यक्रम, सरल शब्दों में, सिस्टम गतिविधि के रूप में माना जा सकता है। बैच प्रोसेसिंग सिस्टम में इन्हें एग्जिक्यूटिंग जॉब कहा जाता है जबकि रियल-टाइम ऑपरेटिंग सिस्टम में इसे टास्क या प्रोग्राम कहा जाता है। एक उपयोगकर्ता कई प्रोग्राम चला सकता है जहां ऑपरेटिंग सिस्टम कुछ तकनीकों का उपयोग करके अपने स्वयं के आंतरिक प्रोग्राम्ड गतिविधियों जैसे मेमोरी मैनेजमेंट की सुविधा देता है।
एक कार्यक्रम एक निष्क्रिय इकाई है, उदाहरण के लिए, निष्पादन योग्य (निष्पादन योग्य फ़ाइल) के निर्देशों के एक समूह को समायोजित करने वाली फ़ाइल। यह इसलिए कहा जाता है क्योंकि यह अपने आप से कोई कार्रवाई नहीं करता है, इसे इसमें निर्दिष्ट कार्यों को महसूस करने के लिए निष्पादित किया जाना है।
एक कार्यक्रम का पता स्थान निर्देश, डेटा और स्टैक से बना है। मान लें कि पी हम प्रोग्राम लिख रहे हैं, पी के निष्पादन को महसूस करने के लिए, ऑपरेटिंग सिस्टम पी के एड्रेस स्पेस को समायोजित करने के लिए मेमोरी आवंटित करता है।
प्रक्रिया की परिभाषा
एक प्रक्रिया एक कार्यक्रम का एक निष्पादन है। यह एक सक्रिय इकाई के रूप में माना जाता है और एक कार्यक्रम में निर्दिष्ट कार्यों का एहसास करता है। एकाधिक प्रक्रियाएं एक ही कार्यक्रम से संबंधित हो सकती हैं। यह पीसीबी (प्रोसेस कंट्रोल ब्लॉक) के माध्यम से ऑपरेटिंग सिस्टम की गतिविधियों को संभालता है जिसमें प्रोग्राम काउंटर, स्टैक, स्टेट आदि शामिल हैं। प्रोग्राम काउंटर निर्देश के अगले अनुक्रम को संग्रहीत करता है जिसे बाद में निष्पादित किया जाना है।
इसे प्रबंधन कार्यों को पूरा करने के लिए संसाधन, स्मृति और I / O संसाधनों जैसे संसाधनों की आवश्यकता होती है। एक कार्यक्रम के निष्पादन के दौरान, यह प्रोसेसर या I / O ऑपरेशन को संलग्न कर सकता है जो एक प्रक्रिया को एक कार्यक्रम से अलग बनाता है।
इसे एक उदाहरण से समझते हैं; हम एक सी प्रोग्राम लिख रहे हैं। किसी फ़ाइल में प्रोग्राम लिखते और संग्रहीत करते समय, यह सिर्फ एक स्क्रिप्ट है और कोई कार्रवाई नहीं करता है, लेकिन जब इसे निष्पादित किया जाता है तो यह प्रक्रिया में बदल जाता है इसलिए प्रक्रिया प्रकृति में गतिशील है। कई प्रक्रियाओं के बीच संसाधनों को साझा करना वर्तमान मशीनों द्वारा नियोजित किया जाता है, लेकिन वास्तविक में एक प्रोसेसर को कई प्रक्रियाओं के बीच वितरित किया जाता है।
कार्यक्रम और प्रक्रिया के बीच महत्वपूर्ण अंतर
- एक प्रोग्राम आदेशित संचालन का एक निश्चित समूह है जिसे निष्पादित किया जाना है। दूसरी ओर, प्रोग्राम को निष्पादित किए जाने का एक उदाहरण एक प्रक्रिया है।
- कार्यक्रम की प्रकृति निष्क्रिय है क्योंकि यह निष्पादित होने तक कुछ नहीं करता है जबकि एक प्रक्रिया प्रकृति में गतिशील या सक्रिय है क्योंकि यह प्रोग्राम निष्पादित करने और विशिष्ट कार्रवाई करने का एक उदाहरण है।
- एक कार्यक्रम में एक लंबा जीवनकाल होता है क्योंकि यह मेमोरी में संग्रहीत किया जाता है जब तक कि इसे मैन्युअल रूप से हटा नहीं दिया जाता है जबकि एक प्रक्रिया में एक छोटी और सीमित जीवनकाल होता है क्योंकि यह कार्य पूरा होने के बाद समाप्त हो जाता है।
- प्रक्रिया के मामले में संसाधन की आवश्यकता बहुत अधिक है; इसे सफल निष्पादन के लिए प्रसंस्करण, मेमोरी, I / O संसाधनों की आवश्यकता हो सकती है। इसके विपरीत, एक प्रोग्राम को स्टोरेज के लिए सिर्फ मेमोरी की आवश्यकता होती है।
निष्कर्ष
कार्यक्रम और प्रक्रिया प्रासंगिक हैं, लेकिन असमान हैं। एक कार्यक्रम सिर्फ डिस्क पर संग्रहीत एक स्क्रिप्ट है या प्रक्रिया के पिछले चरण के रूप में प्रतीत होता है। इसके विपरीत, प्रक्रिया निष्पादन में एक कार्यक्रम की एक घटना है।