सीधे मुख्य सामग्री पर जाएं

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 भी कम होगा । 



टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

half adder and full adder in hindi

  आज हम  computer in hindi  मे  आज हम half adder and full adder in hindi - computer system architecture in hindi   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं-   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं- half adder and full adder in hindi:- 1. half adder in hindi 2. full adder in hindi  1. Half adder in hindi:- half adder  सबसे basic digital arithmetic circuit 2 binary digits का जोड़ है।  एक combination circuit जो दो bits के arithmetic जोड़ को display करता है उसे half adder कहा जाता है।   half adder के इनपुट variable को Augend और addend bits कहा जाता है। आउटपुट योग और Carrie को बदलता है। दो आउटपुट variable Specified करना आवश्यक है क्योंकि 1 + 1 का योग बाइनरी 10 है, जिसमें दो अंक हैं। हम दो इनपुट वेरिएबल्स के लिए x और y और दो आउटपुट वेरिएबल के लिए S (योग के लिए) और C (कैरी के लिए) असाइन करते हैं। C output 0 है जब तक कि दोनों इनपुट 1 न हों। S आउटपुट योग के कम से कम महत्वपूर्ण बिट का Representation करता है। दो आउटपुट के लिए boolean function सीधे t

physical address and logical address in hindi

आज हम  computer course in hindi  मे हम  physical address and logical address in hindi  के बारे में बताएगें तो चलिए शुरु करते हैं-  physical address and logical address in hindi:- physical address and logical address  कोई भी address CPU द्वारा बनाया जाता है उसे लॉजिकल एड्रेस (logical address) कहते हैं और जो address memory में दिखता है उसे हम फिजिकल मैमोरी एड्रैस कहते हैं ) जिसमें Compile time और Load time address binding है कुछ converted करता है जब logical और physical address समान होते हैं अर्थात् एक जैसे होते हैं लेकिन action time address binding scheme में कुछ change आता है और जब logical और physical में अंतर होता है । इसलिये हम logic address को वर्चुअल एड्रैस ( Virtual Address ) भी कहते है और इसी का प्रयोग करते हैं । logical या virtual address हम कह सकते हैं और सारे logical address जो कि एक प्रोग्राम के द्वारा बनाये जाते हैं उन्हें लॉजिकल एड्रैस स्पेस ( Logical Address Space ) कहते हैं । इसके साथ ही जो physical address इन logical address के साथ होते हैं उन्हें हम फिजिकल एड्रैस स्पेस (