Προς το περιεχόμενο

Prog gia anlysh xrhsh mnhmhs efarmoghs


DeCoN

Προτεινόμενες αναρτήσεις

Δημοσ.

Πόση μνήμη θα χρησιμοποιήσει ΑΝ τρέξει;

Δεν γίνεται αυτό. Η δέσμευση μνήμης είναι συνήθως δυναμική, π.χ. τρέχεις το photoshop, θέλει 20 Mb, ανοίγεις μερικές τεράστιες εικόνες => θέλει 200 Mb.

 

Για να δεις πόση μνήμη χρησιμοποιεί ένα πρόγραμμα τη στιγμή που τρέχει πάτα (στα 2000/XP) alt+ctrl+del και στην καρτέλα διεργασίες δες την "Χρήση μνήμης".

 

Το μόνο που μπορείς να δεις στατικά από ένα .exe header είναι το stack size, όχι το heap size...

Δημοσ.

Kala nai, to to trexw kai anoigw task manager to hksera, bazw na mou deixnei kai page file used kai to blepw,

epishs ennoeitai pws to ti mnhmh 8a xrhsimopoiei eksartatai apo to ti exei fortomeno,

 

Ki emena mou to zhthsane basika, kai eipa mhpws kapoios edw exei kati ypopshn tou.

(nomizw gia DOS yphrxe tetoia efarmogh)

 

Xazh erwthsh:

What is stack kai what is heap?

Mhn prospa8hseis na to yperaploustefseis, katalabainw,

mila sa na milas se texniko pou exei kapoia mikrh epafh me programming :P

 

Thanks for the reply

Δημοσ.

Για DOS έχεις δίκιο, υπήρχε, επειδή το DOS δεν είχε virtual μνήμη (paging κτλ). Συνήθως ο compiler ζήταγε 640Kb (δηλαδή όλη τη μνήμη) και το DOS του έδινε όλη την ελεύθερη, π.χ. 550Kb... Στην ειδική περίπτωση των TSR (Terminate and Stay Resident) προγραμμάτων ο προγραμματιστής μέτραγε συγκεκριμένα πόση μνήμη θα χρειαζόταν και την δήλωνε (π.χ. 10Kb) ώστε να αφήσει ελεύθερη RAM και για τα άλλα προγράμματα. Αλλά τα TSR στο DOS δεν είχαν δυναμικές απαιτήσεις μνήμης, π.χ. αλλάζαν μόνο από ελληνικά σε αγγλικά.

 

Stack = στοίβα = μία μικρή μνήμη, βοηθητική, για τις ανάγκες της εκτέλεσης του προγράμματος, που δεν εξαρτάται από τα δεδομένα του (εικόνες κτλ). Χρησιμοποιείται εσωτερικά από το πρόγραμμα για να ξέρει ποια διαδικασία κάλεσε ποια άλλη, και τι παραμέτρους πέρασε.

 

Heap = σωρός = η "μεγάλη" μνήμη που αποθηκεύεται το μεγαλύτερο μέρος των δεδομένων του προγράμματος. Εκεί πάνε και οι εικόνες του photoshop και τα κείμενα του word κτλ.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...