Memory allocation Techniques (Fixed and variable)

Fixed और variable partitioning तय करते हैं कि operating system RAM को स्थायी, अपरिवर्तनीय slots में बाँटता है या चलते student programs के लिए dynamic, लचीली जगहों में।

10 min read · 10 cards · 3 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

LabOne Classroom का संकट

कल्पना कीजिए आप एक 15 MB Python data analysis script चलाने के लिए LabOne server में log in करते हैं। उसी समय, आपका classmate एक छोटी 2 MB SQL query चलाना चाहता है। अगर LabOne operating system किसी के log in करने से पहले अपनी physical RAM को सख़्त, अपरिवर्तनीय 20 MB slots में बाँट देता है, आपकी script perfectly फिट होती है, पर आपका classmate बस 2 MB code के लिए एक पूरा 20 MB slot बर्बादी से घेर लेता है। OS क़ीमती megabytes बर्बाद किए बिना RAM में desk space कैसे बाँट सकता है?

Theory

Parking Lot बनाम खुला Playground

fixed partitioning को एक मानक college parking lot की तरह सोचिए जहाँ हर slot एक बड़ी SUV फिट करने के लिए painted है। भले एक student वहाँ एक छोटी bicycle park करे, वह slot पूरी तरह लिया गया है और कुछ और नहीं रख सकता। Variable partitioning एक खुले घास के playground की तरह है जहाँ students बिल्कुल अपनी ज़रूरत के आकार के tents लगाते हैं। एक tent के अंदर कोई जगह बर्बाद नहीं होती, पर जैसे लोग समेटकर जाते हैं, बचे gaps नए tents के फिट होने के लिए बहुत अजीब हो सकते हैं।

Theory

Fixed बनाम Variable Partitioning

contiguous memory management में, fixed partitioning system startup के दौरान RAM को static, अपरिवर्तनीय क्षेत्रों में बाँटता है। हर क्षेत्र ठीक एक process रखता है। इसके उलट, variable partitioning RAM को पहले से नहीं बाँटता। बजाय इसके, operating system memory को मुफ़्त space के एक contiguous block, जिसे एक hole कहते हैं, से dynamically allocate करता है, LabOne server में load होते हुए एक process द्वारा माँगे गए बिल्कुल आकार से मेल खाते हुए।

At a glance

static और dynamic allocation techniques के बीच मुख्य संरचनात्मक व्यापार।

FeatureFixed PartitioningVariable Partitioning
Partition Sizeस्थायी और पूर्वनिर्धारितDynamic और तुरंत बदलता है
Process Limitpartitions की संख्या के बराबरसिर्फ़ कुल RAM आकार से सीमित
Fragmentationinternal fragmentation से नुक़सान झेलता हैexternal fragmentation से नुक़सान झेलता है
OS Overheadबहुत कम और track करने में सरलज़्यादा क्योंकि यह मुफ़्त holes track करता है

Think first

एक Fixed Partition बर्बादी को ट्रेस करना

मान लीजिए LabOne में 10 MB, 20 MB, और 30 MB के 3 fixed slots में बँटा एक RAM क्षेत्र है। तीन student programs क्रम में आते हैं: P1 (8 MB), P2 (12 MB), और P3 (25 MB)। समाधान प्रकट करने से पहले हल कीजिए कि हर process कौन सा partition घेरती है और slots के अंदर कुल बर्बाद जगह calculate कीजिए।

Show the answer

Step 1: P1 (8 MB) 10 MB slot में फिट होता है। इस slot के अंदर बर्बाद जगह 10 minus 8 है जो 2 MB बराबर है।

Step 2: P2 (12 MB) बचे 10 MB slot में फिट नहीं हो सकता, तो यह 20 MB slot लेता है। अंदर बर्बाद जगह 20 minus 12 है जो 8 MB बराबर है।

Step 3: P3 (25 MB) 30 MB slot लेता है। अंदर बर्बाद जगह 30 minus 25 है जो 5 MB बराबर है।

Step 4: partitions के अंदर कुल बर्बाद जगह 2 plus 8 plus 5 है जो 15 MB बराबर है। यह slot-के-अंदर बर्बादी internal fragmentation कहलाती है।

Quiz

अगर LabOne server पर एक 4 MB process एक 16 MB fixed partition में load होती है, उस partition के अंदर बचे 12 MB का क्या होता है?

  1. OS अपने-आप इसे एक और 12 MB process को सौंप देता है
  2. यह पूरी तरह locked और किसी भी दूसरी process द्वारा अनुपयोगी रहता है
  3. partition memory बचाने के लिए dynamically 4 MB तक सिकुड़ जाता है
  4. यह तुरंत secondary backing store space में बदल जाता है
Show the answer

यह पूरी तरह locked और किसी भी दूसरी process द्वारा अनुपयोगी रहता है

fixed partitioning में, एक slot एक समय में सिर्फ़ एक process रख सकता है। भले process slot के एक छोटे अंश का उपयोग करे, उस slot का बाक़ी हिस्सा पूरी तरह locked और बर्बाद है। यह सिकुड़ नहीं सकता या दूसरी process स्वीकार नहीं कर सकता। यह internal fragmentation पैदा करता है।

Watch out

Fragmentation Interchange का जाल

university exams में marks खोने का एक पक्का तरीक़ा यह उलझाना है कि internal और external fragmentation कहाँ होती हैं। इस सख़्त नियम को याद रखिए: fixed partitioning internal fragmentation की ओर ले जाता है क्योंकि जगह एक पूर्वनिर्धारित box के अंदर बर्बाद होती है। Variable partitioning external fragmentation की ओर ले जाता है क्योंकि पुराने programs ख़त्म होकर LabOne की RAM से निकलते हुए allocated blocks के बाहर बेतरतीब छोटे holes विकसित होते हैं।

Think first

Dynamic Growth की समस्या

मान लीजिए एक variable partition में चलती एक student program को एक नई data array load करने के लिए अचानक 5 MB अतिरिक्त RAM चाहिए। अगर इसके मौजूदा block से तुरंत सटी कोई मुफ़्त जगह नहीं है, क्या एक contiguous variable partition बस जगह पर ही बढ़ सकता है? प्रकट करने से पहले contiguous allocation के नियम के बारे में सोचिए।

Show the answer

नहीं, यह जगह पर नहीं बढ़ सकता। क्योंकि variable allocation के लिए ज़रूरी है कि एक process RAM का एक अकेला निरंतर block घेरे, अगर सटी जगह पहले से किसी दूसरे student के program द्वारा ली गई है, OS को या तो एक बिल्कुल नया बड़ा hole खोजना होगा, पूरी process वहाँ move करनी होगी, या program को एक out of memory error से crash करना होगा।

Theory

असली दुनिया की Memory और Unit 4

हालाँकि आधुनिक operating systems उन्नत paging techniques इस्तेमाल करते हैं, इन बुनियादी partition mechanics को समझना अहम है। जब हम Unit 4 में अपनी Linux installation lab के दौरान hard drives partition करते हैं आप fixed layout का एक रूप देखेंगे। वहाँ, आप system boot करने से पहले एक अकेली disk को स्पष्ट, अपरिवर्तनीय partitions जैसे root और swap में बाँटेंगे।

Summary

Key takeaways

  • Fixed partitioning startup पर अपरिवर्तनीय memory सीमाएँ set करता है, सक्रिय tasks की संख्या सीमित करते हुए।
  • Variable partitioning हर process द्वारा माँगे गए बिल्कुल आकार के आधार पर dynamically slots बनाता है।
  • Fixed partitioning slots के अंदर बची जगह के कारण internal fragmentation से नुक़सान झेलता है।
  • Variable partitioning slots के बीच बिखरे holes के कारण external fragmentation से नुक़सान झेलता है।
  • Contiguous allocation का मतलब हर process को RAM के एक अकेले अटूट block में रहना चाहिए।
  • Memory hook: Fixed partitions अंदर जगह बर्बाद करते हैं: variable holes बाहर gaps छोड़ते हैं!

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from File and Memory Management

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Memory allocation Techniques (Fixed and variable) · Operating System · Gri-Learn