స్టాక్ మరియు కుప్ప మధ్య వ్యత్యాసం
విషయము
స్టాక్ మరియు హీప్ మెమరీ కేటాయింపు పద్ధతుల్లో ఉపయోగించే మెమరీ విభాగాలు. స్టాక్ మరియు కుప్పల మధ్య ప్రాధమిక వ్యత్యాసం ఏమిటంటే, స్టాక్ మెమరీ యొక్క సరళ మరియు వరుస కేటాయింపులను కలిగి ఉంటుంది, ఇది స్టాటిక్ మెమరీ కేటాయింపులో ఉపయోగించబడుతుంది, అయితే కుప్ప మెమరీని యాదృచ్ఛికంగా కేటాయించిన నిల్వ ప్రాంతం యొక్క పూల్గా పనిచేస్తుంది (డైనమిక్ మెమరీ కేటాయింపు).
స్టాక్ మరియు కుప్పను వేరుచేసే ప్రధాన పరామితి వేగం; కుప్ప కంటే స్టాక్ చాలా వేగంగా ఉంటుంది.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | స్టాక్ | హీప్ |
---|---|---|
ప్రాథమిక | మెమరీ (LIFO) లో కేటాయించబడింది. | మెమరీ యాదృచ్ఛిక క్రమంలో కేటాయించబడుతుంది. |
కేటాయింపు మరియు డీలోకేషన్ | స్వయంచాలక | మాన్యువల్ |
ధర | తక్కువ | మరింత |
అమలు | హార్డ్ | సులువు |
ప్రేరేపించడం | పై) | ఓ (1) |
సమస్య | జ్ఞాపకశక్తి కొరత | మెమరీ ఫ్రాగ్మెంటేషన్ |
సూచన యొక్క ప్రాంతం | అద్భుతమైన | తగినన్ని |
వశ్యత | స్థిర పరిమాణం మరియు సరళమైనది కాదు | పున izing పరిమాణం సాధ్యమే |
ప్రాప్యత సమయం | వేగంగా | నెమ్మదిగా |
స్టాక్ యొక్క నిర్వచనం
పుష్ మరియు పాప్ ఆపరేషన్ సహాయంతో ప్రాసెస్లకు మెమరీని కేటాయించడానికి స్టాక్ కేటాయింపు ఒక LIFO (చివరిది మొదటిది) వ్యూహాన్ని అనుసరిస్తుంది. మెమరీలోని ప్రతి బ్లాక్ స్థిర పరిమాణంతో ఉంటుంది, ఇది విస్తరించబడదు లేదా కుదించబడదు. స్టాక్లోని చివరి ఎంట్రీ ఏ క్షణంలోనైనా అందుబాటులో ఉంటుంది. స్టాక్ ఒక పరస్పర జ్ఞాపకశక్తిని ఉపయోగిస్తుంది, ఇక్కడ స్టాక్ బేస్ అని పిలువబడే పాయింటర్ స్టాక్ యొక్క మొదటి ఎంట్రీకి సూచిస్తుంది మరియు స్టాక్ యొక్క పైభాగాన ఉన్న మరొక పాయింటర్ స్టాక్ యొక్క చివరి ఎంట్రీకి సూచిస్తుంది.
స్టాక్ ఫంక్షన్ కాల్లకు కూడా మద్దతు ఇస్తుంది. ఒక ఫంక్షన్ కాల్ స్టాక్ ఎంట్రీల సేకరణను కలిగి ఉంటుంది, దీనిని స్టాక్ ఫ్రేమ్ అంటారు. స్టాక్ ఫ్రేమ్ యొక్క మరొక పేరు కంపైలర్ యొక్క కాన్ లో యాక్టివేషన్ రికార్డ్, ఎందుకంటే ఇది ప్రోగ్రామ్ సంకలనం సమయంలో ఉపయోగించిన డేటాను నిల్వ చేస్తుంది. ఒక ఫంక్షన్ను స్టాక్ ఫ్రేమ్ అని పిలిచినప్పుడల్లా స్టాక్లోకి నెట్టబడుతుంది.
ఫంక్షన్ ఫ్రేమ్ ఫంక్షన్ యొక్క పరామితి మరియు రిటర్న్ అడ్రస్ యొక్క చిరునామాలు లేదా విలువలతో కూడి ఉంటుంది, ఇది ఫంక్షన్ అమలు పూర్తయిన తర్వాత నియంత్రణ ఎక్కడ తిరిగి ఇవ్వాలో సూచిస్తుంది.
కుప్ప యొక్క నిర్వచనం
కుప్ప కేటాయింపు ఎటువంటి ఖచ్చితమైన విధానాన్ని అనుసరించదు; బదులుగా ఇది మెమరీ యొక్క యాదృచ్ఛిక అసైన్మెంట్ మరియు డీసైన్మెంట్ను అనుమతిస్తుంది. ఒక ప్రక్రియ ద్వారా ఒక అసైన్మెంట్ అభ్యర్థన ఒక కుప్పలో కేటాయించిన మెమరీ ప్రాంతానికి పాయింటర్తో తిరిగి ఇస్తుంది మరియు ప్రాసెస్ కేటాయించిన మెమరీ ప్రాంతాన్ని పాయింటర్ ద్వారా యాక్సెస్ చేస్తుంది.
డీలోకేషన్ అనేది డీలోకేషన్ అభ్యర్థన ద్వారా నిర్వహించబడుతుంది, మెమరీ స్వయంచాలకంగా డీలోకేట్ చేయబడిన స్టాక్కు భిన్నంగా ఉంటుంది. డేటా నిర్మాణాలు నిర్మించినప్పుడు మరియు విముక్తి పొందినప్పుడు హీప్ మెమరీ కేటాయింపులో రంధ్రాలను అభివృద్ధి చేస్తుంది. ఇది రన్టైమ్లో ఉపయోగించబడుతుంది.
- ఒక స్టాక్లో, కేటాయింపు మరియు డీలోకేషన్ అనేది సిపియు చేత చేయబడుతుంది మరియు స్వయంచాలకంగా ఉంటుంది, అయితే, కుప్పలో, ప్రోగ్రామర్ దీన్ని మానవీయంగా చేయాలి.
- స్టాక్ ఫ్రేమ్ హ్యాండ్లింగ్ కంటే హీప్ ఫ్రేమ్ హ్యాండ్లింగ్ ఖరీదైనది.
- స్టాక్ అమలు సంక్లిష్టమైనది. దీనికి విరుద్ధంగా, కుప్పను అమలు చేయడం చాలా సులభం.
- స్టాక్లోని ఫంక్షన్ కాల్ O (N) సమయం పడుతుంది. దీనికి విరుద్ధంగా, కుప్పలో O (1) సమయం పడుతుంది.
- స్టాక్ అమలు ప్రధానంగా మెమరీ కొరత సమస్యతో బాధపడుతోంది. దీనికి విరుద్ధంగా, కుప్పలోని ప్రధాన సమస్య ఫ్రాగ్మెంటేషన్.
- స్టాక్ జ్ఞాపకశక్తి యొక్క చిన్న ప్రాంతానికి పరిమితం చేయబడినందున స్టాక్ ఫ్రేమ్కు ప్రాప్యత సులభం మరియు ఇది ఎల్లప్పుడూ కాష్ను తాకుతుంది, అయితే కుప్ప ఫ్రేమ్లు మెమరీ అంతటా చెదరగొట్టబడతాయి కాబట్టి మెమరీ యాక్సెస్ చేయడం వల్ల ఎక్కువ కాష్ తప్పిపోతుంది.
- స్టాక్ సరళమైనది కాదు, కేటాయించిన మెమరీ పరిమాణాన్ని మార్చలేము. మరోవైపు, ఒక కుప్ప అనువైనది, మరియు కేటాయించిన జ్ఞాపకశక్తిని మార్చవచ్చు.
- కుప్ప స్టాక్ కంటే ఎక్కువ ప్రాప్యత సమయం పడుతుంది.
ముగింపు
స్టాక్ కేటాయింపు వేగంగా ఉంటుంది కాని సంక్లిష్టంగా ఉంటుంది. మరోవైపు, ఒక కుప్ప నెమ్మదిగా ఉంటుంది, కానీ దాని అమలు స్టాక్ కంటే సులభం. కుప్ప స్టాక్ కంటే సమర్థవంతంగా పనిచేస్తుంది.