segmentation in os in hindi - Segmentation क्या होता है

 आज हम computer course in hindi मे हम  segmentation in os in hindi - Segmentation क्या होता है के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं- 

segmentation in os in hindi (Segmentation क्या होता है) :-

segmentation एक बहुत जरूरी चीज मैमोरी मैनेजमेन्ट के लिये जिसे भूलाया नहीं जा सकता है । user view paging करता है मैमोरी को फिजिकल मैमोरी से और जो user viewहोता है वह फिजिकल मैमोरी के जैसा नहीं होता जो user view है । फिजिकल मैमोरी में वह mapped होता है mapping logical memory और physical memory में अन्तर बताती है । 

1. बेसिक मैथड ( Basic Method ) :-

आमतौर पर जो यूजर है वह इसे array की तरह लेते हैं जो मैमोरी है वह linear array byte है । और Variable Sized Segement उस Segement से मिलकर बना है जिसमें कोई क्रम की जरूरत नहीं हैं । जब हम प्रोग्राम में कुछ भी लिखते हैं तो हम क्या सोचते है कि वह कैसे लिखा जा रहा है तब हम सोचते है कि जो मेन प्रोग्राम है वह sub routine procedure और Function से मिलकर बना है जिसमें कई सारे data structure है। हर module और डाटा Element अपने नाम से जाने जाते हैं । अगर हम बात करें symbol table कि तो function main program में होता है बिना एड्रैस के यह memory element में जगह ले लेते हैं । तुम्हें कुछ नहीं पता करना , कि जो symbol table है वह फंक्शन से पहले स्टोर हुई है कि नहीं । हर सैगमेन्ट Lenth का होता है जो लम्बाई सैगमेन्ट की प्रोसेस में वह घटायी या बढ़ाई जा सकती है जरूरत पड़ने पर और लम्बाई को बताना पड़ता है कि वह किस काम के लिये रखी जा रही है । जो element है सैगमेन्ट के वह अपने offset के द्वारा start में ही पहचान लिये जाते हैं , तो इसका मतलब इसमें सब कुछ जानकारी आ गई जैसे कि पहली लाइन program, entry symbol table , में जो पाँचवा फंक्शन आ गया है । इस सैगमेन्ट मैमोरी मैनेजमेन्ट वह स्कीम है जो यूजर व्यू मेमोरी को help देता है तथा जो लॉजिकल एड्रैस स्पेस है वह सैगमेन्ट का कलैक्शन होता है । हर सैगमेन्ट के पास अपना नाम और लम्बाई होती है । एड्रैस यह बताता है कि दोनों चीजें सैगमेन्ट का नाम तथा offset यूजर यह बताता है कि दोनों चीजें एक साथ सैगमेन्ट का नाम तथा ऑफसेट पेजिंग के साथ जब हम कार्य करते थे तो यूजर एक सिर्फ ही एड्रैस बताता है जो कि हार्डवेयर द्वारा बाँटे जाते थे पेज संख्या में और offset में जो कि प्रोग्रामर के लिये Invisible है । इसे और आसान बनान के लिये सैगमेन्ट संख्या में बाँट दिये जाते हैं और यह सैगमेन्ट संख्या द्वारा जाने जाते हैं । तो जो लॉजिकल एड्रैस है वह 2 Tuple को रखता है । 
<Segment number, Offset>
यह आमतौर पर जो यूजर प्रोग्राम है वह कम्पाइलर होता है और जो कम्पाइलर है । वह अपने आप सैगमेन्ट बनाता है और इनपुट प्रोग्राम को देता है । Paascal कम्पाइलर अलग - अलग सैगमेन्ट को बनाता है । 
( 1 ) हर वेरियेबल के लिये 
( 2 ) ताकि जो स्टैक है वह प्रोसिजर को बुला कर उसमें Parameter स्टोर कर सके ताकि वह एड्रैस वापिस दे सकें
( 3 ) इसमें हर प्रोसेस और फंक्शन का कोड 
( 4 ) लोकल वेरियेबल हर प्रोसिजर और फंक्शन के इन सब के बारे में बताता है । 
FORTRAN कम्पाइलर हर common block के लिये सैगमेन्ट तैयार करता है । ऐरे अलग सैगमेन्ट बनाते हैं । लोडर इन सब सैगमेन्ट को लेकर उसे सैगमेन्ट संख्या प्रदान करता है।

2. Hardware :-

यूजर अब ऑबजैक्ट को प्रोग्राम में 2 Dimensional एड्रैस में रखता है । एक फिजिकल मैमोरी बाइट में single dimensional है ।  2 Dimensional user को बताये हुये एड्रैस को हम एक dimensional physical address में मैप करेंगे । यह paging segment table के द्वारा होगा । हर entry segment table को अपने पास Segment Base और Segment Limit रखता है । Segment Base शुरू का physical address रखता है जहाँ पर वह मैमारी में है और Segment Limit Segment की लम्बाई बताता है । एक लॉजिकल एड्रैस दो नाम रखता है एक सैगमेन्ट संख्या और offset segment D । जो सैगमेन्ट संख्या है इन्डैक्स की तरह सैगमेन्ट टेबल में काम आती है । ऑफसेट D लॉजिकल एड्रैस 0 का और सैगमेन्ट लिमिट के बीच होगा । अगर ऐसा नहीं तो फिर ऑपरेटिंग सिस्टम को देखा जायेगा । अगर यह offset लीगल है तो यह सैगमेन्ट बेस के साथ जुड़ जाता है ताकि यह एड्रेस बना सके । सैगमेन्ट टेबल एक तरह से पेपर है जो ऐरे बेस रजिस्टर हेतु काम में ली जाती है।

3. Fregmentation:-

 Logn Term scheduler सारे user program के Segment को मैमोरी बताता है । वह पेजिंग की तरह है सिर्फ इसके Segment variable length है और पेज सेम आकार के हैं । Variable size partition scheme के साथ जो मैमोरी एलोकेट डायनामिक एलोकेश समस्या है बेस्ट फिट और पहला फिट एल्गो से समाप्त हो जाती है । जो सैगमेन्ट है बाद में external fragmentation करता है जब सारे ब्लॉक फ्री मैमोरी के इतने छोटे हो कि उसमें पूरा सैगमेन्ट न आ सके । इस केस में प्रोसेस को तब तक इन्तजार करना पड़ेगा जब तक वह और मैमारी जुटा नहीं पाता ( ओर उसे एक बड़ा हॉल नहीं मिल जाता ताकि उसमें सैगमेन्ट पूरा आ सके । ) और या फिर Comection इस्तेमाल एक बड़ा हॉल तैयार करना पड़ेगा । क्योकि जो सैगमेन्ट है वह अपने आप डायनामिक एलोकेशन एल्गो से तैयार करता है और जब हम चाहें । हम compact कर मैमोरी तैयार कर सकते हैं अगर सी.पी.यू. शेड्यूलर इन्तजार कर रहा है एक प्रोसेस का तो मैमोरी एलोकेशन प्रॉब्लम होने के कारण सी.पी.यू. इसे छोड़ देगा और फिर पंक्ति में छोटा priority वाला प्रोसेस ढूँढ़ कर उसे अपने में ले लेगा । external fragmentation एक समस्या है सैगमेन्टेशन स्कीम के लिये क्या Long Term Scheduling Compaction मदद करेगा ? जो अन्तर है उसके एवरेज सैगमेन्ट आकार पर और एक समय हम हर एक प्रासेस को एक सैगमेन्ट देते थे । यह जो तरीका है वह Variable size partition scheme को कम करता है । अगर हम देखे तो हर बिट जो है वह अपने सैगमेन्ट में ही होती है । यह जो तरीका है वह external fragmentation को कम करता है हालांकि हर बिट को बेस रजिस्टर की जरूरत होती है तब वह मैमोरी इस्तेमाल करके जगह बनाता है । जो अलग लॉजिकल कदम है वह फिक्सड आकार , छोटे सैगमेन्ट पेजिंग में होता है । आमतौर पर अगर जो सैगमेन्ट का आकार है वह छोटा होगा तो external fragmentation भी कम होगा । 



टिप्पणियाँ