Multi Programming के बारे में जानकारी


हेलो दोस्तों।

आज के पोस्ट में हम मल्टी प्रोग्रामिंग के बारे में समझेंगे।


मल्टी प्रोग्रामिंग (Multi Programming)

बैच प्रोसेसिंग में बैच प्रोग्राम्स एक के बाद एक क्रम से मेन मेमोरी में प्रोसेसिंग के लिए लोड किए जाते है। एक बार लोड किए जाने पर प्रोग्राम एसेक्यूशन पूरा हो जाने तक मेन मेमोरी में ही रहते है।


अतः वह प्रोग्राम हो अभी एक्सीक्यूट किया जा रहा है, मेन मेमोरी के यूजर का अकेला हकदार होगा। और CPU मात्र इसके लिए उपलब्ध होगा। जब मेन मेमोरी में सिर्फ एक प्रोग्राम होता है तो सिस्टम के दो अत्यधिक शक्तिशाली रिसोर्सेज की उपयोगिता कम हो जाती है, एक महंगी मेमोरी और दूसरी CPU की पूर्ण क्षमताएं।




Multi Programming के बारे में जानकारी
Multi Programming के बारे में जानकारी




I/O bound programs और CPU bound programs व्यावसायिक डेटा प्रोसेसिंग के लिए प्रयुक्त प्रोग्राम सामान्यतः अधिक मात्रा में डेटा read करते है, बहुत कम गणनाएं करते है और अधिक मात्रा में सूचनाएं आउटपुट करते है। ऐसे प्रोग्राम्स को I/O bound प्रोग्राम कहा जाता है, क्योकि अधिकांश कार्य इनपुट आउटपुट होता है। दूसरी तरफ scientific और engineering एप्लीकेशन के लिए प्रयुक्त प्रोग्रामों को I/O की बहुत कम जरूरत होती है, लेकिन गणनाओं की अधिक।



मल्टी प्रोग्रामिंग की आवश्यकताएं :

मल्टी प्रोग्रामिंग के दो मुख्य लाभ है : throughput में बढ़ोतरी और कम response time मेन मेमोरी में पहले से स्थित दूसरे प्रोग्रामो को run करवा कर CPU के खाली समय का उपयोग किए जाने से throughput बढ़ जाता है। Response time को कम करने के लिए, जैसे ही जॉब सिस्टम के पास आये तो उसकी प्रधानता को पहचाना जाना चाहिए और सभी जॉब को प्रायोरिटी के आधार पर प्रोसेस किया जाए।


दूसरी तरफ operating system में मल्टी प्रोग्रामिंग हासिल करना एक जटिल प्रक्रिया है। अनेको प्रोग्रामों पर एक साथ कार्य करने के लिए कम्प्यूटर को निम्नलिखित अतिरिक्त हार्डवेयर और सॉफ्टवेयर विशेषताओं की आवश्यकता होती है -


1. Large Memory - मल्टी प्रोग्रामिंग के तृप्तिपूर्वक कार्य करनर के लिए बड़ी मेन मेमोरी की आवश्यकता होती है। और गति में तेज सेकेंडरी स्टोरेज डिवाइस जैसे डिस्क और तेज CPU आदि। मेन मेमोरी इतनी बड़ी होनी चाहिए कि उसमें supervisor के साथ अधिक संख्या में यूजर प्रोग्राम भी आ जाए।



2. Memory Protection - मल्टी प्रोग्रामिंग के लिए डिज़ाइन कम्प्यूटर में मेमोरी की सुरक्षा का कोई प्रावधान होना चाहिए। जिससे कि एक मेमोरी पार्टिशन में स्थित प्रोग्राम दूसरे पार्टिशन में स्थित का कोई प्रावधान होना चाहिए। जिससे कि एक मेमोरी पार्टिशन में स्थित प्रोग्राम दूसरे पार्टिशन में स्थित प्रोग्राम की सूचना या इंस्ट्रक्शन को बदलने से रोका जा सके।



3. Program Status Prevention - मल्टी प्रोग्रामिंग में हम देख चुके है कि एक प्रोग्राम का कुछ भाग एक्सीक्यूट किया जाता है, फिर दूसरे प्रोग्राम और उसी तरह से आगे। इसके लिए आवश्यक है एक प्रोग्राम के एसेक्यूशन को रोकना और कुछ देर बाद उसे एसेक्यूशन के लिए फिर से शुरू करना। प्रोग्राम को restart करने के लिए इसे stop करने के समय मेमोरी और cpu registers में जो भी values संरक्षित थी। उन सभी को restore करना पड़ता है। हालांकि एक नए प्रोग्राम को सारे cpu trhodyrtd उपयोग के लिए चाहिए होते है, और वह उन्हें खाली कर देता है। अतः प्रोग्राम के suspend और कंट्रोल दूसरे प्रोग्राम के पास जाने से पहले सभी cpu रजिस्टर्स के मान उस प्रोग्राम के मेमोरी एरिया में सुरक्षित कर दिए जाने चाहिए।



4. Proper Job Mix - I/O bound और CPU bound जॉब का एक उपयुक्त मिश्रण चाहिए। जिससे कि CPU और I/O डिवाइस की क्रियाओं को अच्छी तरह से overlap किया जा सके। यह जरूरी है कि जब एक प्रोग्राम I/O के लिए इंतजार कर रहा हो, तो दूसरे प्रोग्राम के पास CPU को व्यस्त रखने के लिए पर्याप्त गणनाएं होनी चाहिए। अगर सभी प्रोग्रामों को एक समय पर ही I/O चाहिए, तो CPU फिर खाली हो जाएगा। अतः मेन मेमोरी में अपने विभिन्न पार्टिशन में कुछ cpu bound प्रोग्राम और कुछ I/O bound प्रोग्राम होने चाहिए जिससे कि एक प्रोग्राम जिसे I/O नही चाहिए वह cpu के पास प्रोसेसिंग के लिए हमेशा उपलब्ध हो। 

Post a Comment