बीटेक या बीएससी कंप्यूटर साइंस में ऑपरेटिंग सिस्टम मुख्य सब्जेक्ट के रूप में होता है। इंटरव्यू के दौरान प्रोग्रामिंग और DSA के अलावा कंप्यूटर नेटवर्क्स, ऑपरेटिंग सिस्टम और डीबीएमएस मुख्य विषय होते हैं। ऑपरेटिंग सिस्टम में कंप्यूटर से संबंधित विभिन्न मैनेजमेंट को पढ़ना होता है जिसमें फाइल मैनेजमेंट, मेमोरी मैनेजमेंट, प्रोसेस मैनेजमेंट, डिवाइस मैनेजमेंट इत्यादि शामिल है। आज के इस लेख में हम मुख्य तौर से मेमोरी मैनेजमेंट के बारे में संक्षिप्त में जानेगें।

मेमोरी क्या है? (Memory in os in hindi )

सीपीयू कंप्यूटर का मुख्य भाग होता है जो सभी तरह के प्रोसेस को मैनेज करता है। अगर किसी कार्य को कंप्यूटर से कराना है तो उस कार्य से जुड़ी जरूरी जानकारी सीपीयू को देनी पड़ती है। लेकिन यह जरूरी जानकारी हमें कहीं पर रखनी होगी इसीलिए कंप्यूटर में मेमोरी की अवधारणा लाई गई।

कंप्यूटर में मेमोरी वह जगह होती है जहां हम किसी भी कार्य की जरूरी जानकारी को सुरक्षित करके रखते हैं ताकि जब सीपीयू इसकी मांग कर तो तेजी से प्रदान कर सके। क्योंकि जितना ज्यादा तेज हम सीपीयू को मेमोरी से जानकारी देंगे उतना ही तेज वह कार्य को कर सकेगा।

अगर बात करें कि कंप्यूटर में सबसे तेज मेमोरी कौन सी होती है? तो आपके मन में मेन मेमोरी या फिर कैश मेमोरी आएगी लेकिन इससे भी तेज रजिस्टर होते हैं। लेकिन यह बहुत ही छोटे कार्यों की जानकारी रख सकते हैं अगर कोई बड़ा कार्य आता है तो वहां रजिस्टर मेमोरी एक अच्छा विकल्प नहीं है।

इसी को हल करने के लिए कंप्यूटर के साथ एक सेकेंडरी मेमोरी जिसे आम भाषा में हार्ड डिक्स भी कहते हैं जोड़ दी ताकि बड़े कार्यो की जरूरी जानकारी यानी डाटा सुरक्षित कर सके। सेकेंडरी मेमोरी इतनी बड़ी होती है कि इसमें हम टेरा बिट्स (TB) मे भी डाटा सुरक्षित रख सकते हैं। हालांकि यह रजिस्टर की तरह तेज नहीं होते और अगर सीपीयू सीधा सेकेंडरी मेमोरी से डाटा को लाएगा तो इसमें काफी समय बर्बाद होगा जिससे सीपीयू की क्षमता कम होगी।

तो अब इसे हल करने के लिए हमें एक ऐसी मेमोरी की आवश्यकता थी जो तेज भी हो और जिसमें ज्यादा मात्रा में डाटा सुरक्षित किया जा सके। तो इसमें मेंन मेमोरी (RAM) या मुख्य मेमोरी की अवधारणा सामने आती है जो सीपीयू और सेकेंडरी मेमोरी के बीच में जुड़ी होती है।

मेमोरी क्या है? (Memory in os in hindi )

अब हमारे पास विभिन्न तरह की मेमोरी आ चुकी है जिसमें सेकेंडरी मेमोरी, मेंन मेमोरी, और कैश शामिल है। अब इनको मैनेज करना काफी आवश्यक होता है ताकि यह अच्छे से कम कर सके इसी को मेमोरी मैनेजमेंट इन ऑपरेटिंग सिस्टम कहते हैं।

मेमोरी मैनेजमेंट क्या है? (memory management in os in hindi)

किसी भी ऑपरेटिंग सिस्टम में मेमोरी मैनेजमेंट एक महत्वपूर्ण काम होता है जो सिस्टम के उपयोगकर्ताओं सही और प्रभावी रूप से मेमोरी का उपयोग करने में सहायता प्रदान करता है। यह सुनिश्चित करता है की रैम, सेकेंडरी स्टोरेज और सीपीयू आपस में इस प्रकार जुड़े की इनमें सबसे तेजी से मेमोरी का स्थानांतरण हो सके।

मेमोरी मैनेजमेंट में हम मुख्य मेमोरी (RAM) पर ज्यादा ध्यान देते हैं इसे प्राइमरी मेमोरी भी कहा जाता है। क्योंकि जब भी किसी प्रोसेस को सीपीयू में एग्जीक्यूट करना होता है तो उससे संबंधित डाटा को सेकेंडरी मेमोरी में से मेंन मेमोरी में लाना होता है जिससे सीपीयू इस मेमोरी का इस्तेमाल कर सके। अब बात करते हैं मेमोरी मैनेजमेंट के कार्य क्या है?

मेमोरी मैनेजमेंट के कार्य क्या है? (functions of memory management in Hindi)

मेमोरी ट्रैक: मेमोरी मैनेजमेंट मेमोरी को ट्रैक करता है जिससे यह पता चल सके कि कौन सी मेमोरी इस्तेमाल की जा रही है और कितनी मेमोरी खाली पड़ी हुई है। साथ ही जो प्रोसेस सीपीयू पर पूरे हो चुके है उनकी मेमोरी को खाली करवाना भी इसी का ही काम होता है।

मेमोरी प्रदान करना: किसी नए प्रोसेस को उसकी जरूरत के अनुसार मेमोरी एलोकेट करना और पूरे हो चुके प्रोसेस से मेमोरी वापस लेना यानी डीएलोकेट करना भी मेमोरी मैनेजमेंट का काम होता है। कुछ विशेष प्रोग्रामिंग लैंग्वेज में हमें खुद से मेमोरी मैनेजमेंट का ध्यान रखना पड़ता है जैसे C लैंग्वेज में malloc और calloc, c++ में new और delete के माध्यम से मेमोरी एलोकेशन और डीएलोकेशन का ध्यान रखा जाता है।

मेमोरी ट्रांसफर: सेकेंडरी मेमोरी यानी हार्ड डिक्स से जरूरी मेमोरी मेंन मेमोरी में लाना और उसके बाद सीपीयू को प्रदान करना; यह सब मेमोरी एड्रेस के माध्यम से किया जाता है।

सुरक्षा: मेमोरी मैनेजमेंट यह भी सुनिश्चित करती है की एक प्रोसेस किसी दूसरे प्रोसेस की मेमोरी को उपयोग न कर सके क्योंकि यह सिक्योरिटी के नजरिया से बहुत महत्वपूर्ण होती है। इसी के साथ कोई प्रोसेस ऑपरेटिंग सिस्टम की मेमोरी एड्रेस को भी नहीं देख सकता है।

प्रोसेस स्टेटस: सीपीयू पर कोई प्रोसेस कितना पूरा हो चुका है और कितना बचा है इसकी जानकारी भी रखता है। यह जानकारी स्टेटस रजिस्टर में सुरक्षित की जाती है। क्योंकि अगर प्रोसेस को पूरा करते समय कंप्यूटर बंद हो जाता है तो सीपीयू उस प्रोसेस को शुरू से शुरू नहीं करता बल्कि जहां तक वह पूरा हो चुका होता है उससे आगे काम करता है।

ऐड्रेस ट्रांसलेशन: जब भी सीपीयू को किसी मेमोरी से डाटा उठना होता है तो वह लॉजिकल ऐड्रेस उत्पन्न करता है लेकिन रैम फिजिकल ऐड्रेस पर काम करती है तो लॉजिकल से फिजिकल ऐड्रेस बदलने का काम भी मेमोरी मैनेजमेंट यूनिट का होता है।

मेमोरी मैनेजमेंट की जरूरत ( goals of memory management in OS in Hindi)

सीपीयू क्षमता: कंप्यूटर में सीपीयू सबसे मुख्य रिसोर्स होता है जिसको हम कभी भी खाली नहीं छोड़ सकते। इसी कारण जब कोई प्रोसेस का सीपीयू इस्तेमाल पूरा हो जाता है उसी समय दूसरा प्रोसेस सीपीयू को दे देते हैं। इसमें हम मेमोरी मैनेजमेंट इस प्रकार से करते हैं की सीपीयू हमेशा प्रोसेस को एग्जीक्यूट करता रहे।

मेमोरी उपयोग: रैम सीमित मेमोरी होती है जिसका हम अधिकतम उपयोग करना चाहते हैं। इसके लिए यह बहुत जरूरी है कि विभिन्न प्रोसेस को जरूरत के अनुसार मेमोरी दी जाए और बची हुई मेमोरी में दूसरे प्रोसेस को लोड किया जाए। इसमें ऐसा नहीं होना चाहिए कि सारी मेमोरी एक प्रोसेस को एलोकेट कर दें बल्कि मेमोरी इस प्रकार से बंटनी चाहिए कि ज्यादा से ज्यादा प्रोसेस को रैम में जगह मिल सके।

प्राथमिकता के प्रोसेस: कई बार ऐसा होता है कि कंप्यूटर में कुछ कार्य हमें जरूरी करवाने होते हैं जिनकी प्राथमिकता अन्य कार्यों से ज्यादा होती है ऐसे में इन्हें सीपीयू पहले मिलना चाहिए जिसका ध्यान मेमोरी मैनेजमेंट यूनिट रखती है।

मेंन मेमोरी कंफीग्रेशन

मेमोरी मैनेजमेंट दो भागों में बटी हुई है कंटीन्यूअस मेमोरी मैनेजमेंट और नॉन-कंटीन्यूअस मेमोरी मैनेजमेंट। इसे समझने से पहले अन्य अवधारणाओं के बारे में समझते हैं जो शुरुआत में होती थी। (memory management in OS in Hindi)

बेयर मशीन (Bare):

इसमें शुरुआत में कोई भी ऑपरेटिंग सिस्टम नहीं होता था। यह एप्लीकेशन वशिष्ट होते थे यानी यह सिर्फ एक विशेष काम के लिए बने होते थे। जबकि आजकल के कंप्यूटर में विभिन्न तरह के सॉफ्टवेयर डालकर अनेक तरह के काम किया जा सकते हैं। सभी तरह के process को डिजाइनर द्वारा मैनेज किया जाता था तब ऑपरेटिंग सिस्टम जैसा कुछ नहीं होता था। बेयर मशीन एक-एक करके प्रोसेस को एग्जीक्यूट करती थी जिसे sequential instruction execution कहा जाता है।

रेसिडेंट मॉनिटर (Resident):

इस सिस्टम में हमने मेमोरी का उपयोग किया जहां इसे दो भागों में बांट दिया। मेमोरी का कुछ निश्चित भाग ऑपरेटिंग सिस्टम को दे दिया गया और बाकी यूजर स्पेस यानी उपभोक्ता के विभिन्न कार्यों के लिए रखा गया। इसमें एक समय पर एक ही प्रोसेस रैम में आ सकता था। इसमें सिक्योरिटी का भी ध्यान रखा गया अगर कोई प्रोसेस ऑपरेटिंग सिस्टम की आवंटित मेमोरी को लेना चाहता है तो यह ऐसा नहीं कर सकता।

इसमें fence ऐड्रेस का इस्तेमाल किया जैसे मान ले की ऑपरेटिंग सिस्टम का एड्रेस 0000 से शुरू होकर 1000 तक गया तो 1000 fence एड्रेस होगा। अगर कोई प्रक्रिया इस एड्रेस के बीच में किसी मेमोरी को इस्तेमाल करना चाहता है तो वह ऐसा नहीं कर सकता और एक ट्रैप (trap, यानी उसे आगे नहीं बढ़ पाएगा) में फंस जाएगा।

memory management in OS in Hindi

ऊपर चित्र में देखें सीपीयू सबसे पहले एक एड्रेस उत्पन्न करता है जिसे लॉजिकल ऐड्रेस कहते हैं। इसके बाद एक रजिस्टर में fence ऐड्रेस सुरक्षित होता है। सीपीयू का एड्रेस अगर fence एड्रेस से ज्यादा और बराबर है तो ही वह आगे बढ़ जाएगा नहीं तो वह एक ट्रैप में फंस जाएगा। उदाहरण के लिए अगर fence एड्रेस 1000 है और सीपीयू ने 2000 का एड्रेस की मांग की क्योंकि 2000 >1000 से बड़ा है तो यह आगे मेंन मेमोरी में चला जाएगा लेकिन अगर यह एड्रेस 900 होता तो यह एक ट्रैप में फंस जाता।

मेमोरी मैनेजमेंट के प्रकार

ऑपरेटिंग सिस्टम में मेमोरी प्रबंधक के दो मुख्य प्रकार होते हैं:

1. संयुक्त स्वयं संचालित मेमोरी मैनेजमेंट ( continuous memory management)

इस तरह की मेमोरी मैनेजमेंट में जब कोई प्रोसेस मेमोरी की मांग करता है तो उसे एक साथ आवश्यक मेमोरी प्रधान की जाती है। यह भी आगे दो तरह की होती है fixed partitioning और variable partitioning।

2. विभाजित स्वयं संचालित मेमोरी मैनेजमेंट ( non-continuous memory management)

इस प्रकार के मेमोरी मैनेजमेंट में प्रोसेस को छोटे भागों में बांट दिया जाता है और फिर रैम मेमोरी में जगह दी जाती है। यह भी कई प्रकार की होती है जिसमें प्रमुख है पेजिंग और सेगमेंटेशन। जिसे हम आगे के लेख में विस्तार से जानेंगे।

मेमोरी मैनेजमेंट इन ऑपरेटिंग सिस्टम:डिमांड पेजिंग क्या है? Demand Paging in OS in Hindi
Compaction in OS in Hindiपेजिंग क्या होता है? Paging in OS in Hindi

Memory management in OS in Hindi मे आगे की जानकारी के लिए इन आर्टिकल को पड़े।

Shares:

Leave a Reply

Your email address will not be published. Required fields are marked *