Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων Εκπαιδεφτρια: Μαρία Πολίτθ
Σύνδεςη με προηγούμενα Κάκε μονάδα ενόσ υπολογιςτι που χρθςιμεφει για τθ μόνιμθ ι προςωρινι αποκικευςθ δεδομζνων ανικει ςτθ μνήμη (memory) του υπολογιςτι.
Σύνδεςη με προηγούμενα Οι μονάδεσ μνιμθσ ανικουν ςε δυο αρκετά διαφορετικζσ κατθγορίεσ ανάλογα με το αν αποκθκεφουν τα δεδομζνα προςωρινά ι μόνιμα:
Κύρια μνήμη RAM τθν κφρια ι κεντρική μνήμη (main memory) του υπολογιςτι αποκθκεφονται τα προγράμματα που εκτελεί θ ΚΜΕ και τα δεδομζνα για τα προγράμματα αυτά. Η αποκικευςθ αυτι είναι προςωρινι, και διαρκεί όςο και θ λειτουργία του υπολογιςτι. Όταν κλείςει ο υπολογιςτισ τα δεδομζνα αυτά χάνονται. Επειδι θ κφρια μνιμθ των υπολογιςτϊν είναι ζτςι οργανωμζνθ ϊςτε να μπορεί να προςπελαςτεί άμεςα οποιαδιποτε κζςθ τθσ, αναφζρεται ωσ μνιμθ τυχαίασ προςπζλαςησ (Random Access Memory) και αποκαλείται RAM 1.
ROM Συμπλιρωμα τθσ κφριασ μνιμθσ είναι θ μνήμη ROM (Read Only Memory), ςτθν οποία είναι καταγραμμζνα μόνιμα από τον καταςκευαςτι του υπολογιςτι οριςμζνα βαςικά προγράμματα ι μικρά τμιματα του ΛΣ.
Δευτερεύουςα μνήμη Στθ δευτερεφουςα ι περιφερειακή μνήμη (secondary memory) τα δεδομζνα αποκθκεφονται μόνιμα. Τα δεδομζνα που κα καταγραφοφν ςτθ δευτερεφουςα μνιμθ δε χάνονται όταν κλείςει ο υπολογιςτισ, και είναι διακζςιμα τθν επόμενθ φορά που κα λειτουργιςει. Μονάδεσ δευτερεφουςασ μνιμθσ είναι οι ςκλθροί δίςκοι, οι εφκαμπτοι δίςκοι, τα CD ROM κλπ.
Παραδειγμα Η φυςικι μνιμθ του ηαχαροπλάςτθ είναι θ κφρια μνιμθ του, ενϊ δευτερεφουςα μνιμθ για αυτόν είναι ζνα ςθμειωματάριο με αρικμθμζνεσ ςελίδεσ που περιζχει τισ ςυνταγζσ του ηαχαροπλάςτθ και λευκζσ ςελίδεσ για τισ ςθμειϊςεισ του. Όταν ο ηαχαροπλάςτθσ διαβάηει μια ςυνταγι και τθ κυμάται για λίγθ ϊρα, τθν μεταφζρει ςτθν κφρια μνιμθ του από τθ δευτερεφουςα. Επίςθσ κυμάται διάφορεσ πλθροφορίεσ για τθν πρόοδο των ςυνταγϊν. Επειδι δεν μπορεί να κυμάται όλεσ τισ ςυνταγζσ που εκτελεί ταυτόχρονα και όλεσ τισ ςχετικζσ πλθροφορίεσ, όταν πρόκειται να διαβάςει μια νζα ςυνταγι καταγράφει ςτο ςθμειωματάριο τισ πλθροφορίεσ που χρειάηεται για κάποιεσ άλλεσ (όπωσ π.χ. ςε ποιο ςθμείο τθσ εκτζλεςισ τουσ βρίςκονται) ϊςτε να μθν τισ ξεχάςει. Όταν ψάχνει κάποια πλθροφορία ςτο ςθμειωματάριό του, ο ηαχαροπλάςτθσ δε διαβάηει μία ςελίδα για να διαπιςτϊςει αν είναι αυτι που κζλει, αλλά τθ βρίςκει απευκείασ από τον αρικμό τθσ ςελίδασ τθσ, το όνομα του πελάτθ ι το όνομα τθσ ςυνταγισ.
Στατική και δυναμική κατανομή τησ κύριασ μνήμησ Για να μποροφν πολλζσ διεργαςίεσ να εκτελοφνται ταυτόχρονα ςε ζνα υπολογιςτι, πρζπει θ κφρια μνιμθ του να είναι διαιρεμζνθ ςε τμιματα και ςε κακζνα από αυτά να βρίςκεται το πρόγραμμα ι τα δεδομζνα μίασ διεργαςίασ. Με τον τρόπο αυτό, θ ΚΜΕ μπορεί να εναλλάςςεται μεταξφ των διεργαςιϊν, διαβάηοντασ από και γράφοντασ ςε διαφορετικζσ κζςεισ τθσ μνιμθσ κάκε φορά. Επίςθσ, για να λειτουργεί ο υπολογιςτισ ομαλά, κάκε διεργαςία πρζπει να ζχει πρόςβαςθ μόνο ςε εκείνα τα τμιματα τθσ μνιμθσ που τθσ αντιςτοιχοφν και όχι ςτα τμιματα άλλων διεργαςιϊν. Ιδιαίτερα προςτατευμζνα πρζπει να είναι τα τμιματα τθσ μνιμθσ όπου είναι αποκθκευμζνοσ ο κϊδικασ και τα δεδομζνα του ίδιου του ΛΣ. Η κατανομι τθσ κφριασ μνιμθσ μπορεί να είναι ςτατική (static allocation) ι δυναμική (dynamic allocation).
Στατική Κατανομή Μνήμησ Στθ στατική κατανομή θ μνιμθ είναι χωριςμζνθ από το ΛΣ ςε προκακοριςμζνα τμιματα πριν από τθν εκτζλεςθ των διεργαςιϊν. Όταν ζνα πρόγραμμα πρόκειται να εκτελεςτεί, το ΛΣ επιλζγει ζνα τμιμα μνιμθσ που καλφπτει τισ ανάγκεσ τθσ νζασ διεργαςίασ ςε μνιμθ και τθσ το παραχωρεί. Η ςτατικι κατανομι μνιμθσ είναι απλι και λφνει το πρόβλθμα τθσ προςταςίασ τθσ μνιμθσ. Όμωσ, τα τμιματα μνιμθσ δε χρθςιμοποιοφνται πλιρωσ από τισ διεργαςίεσ και ζτςι μζνουν αναξιοποίθτα. Επιπλζον οι διεργαςίεσ δεν μποροφν να χρθςιμοποιιςουν μνιμθ από κοινοφ, κάτι που είναι χριςιμο όταν πολλζσ διεργαςίεσ εκτελοφν το ίδιο πρόγραμμα.
Δυναμική κατανομή μνήμησ Στθ δυναμική κατανομή το ΛΣ κάνει τθ διαίρεςθ τθσ μνιμθσ κάκε φορά που μία διεργαςία αρχίηει να εκτελείται και τθσ διακζτει ακριβϊσ όςθ μνιμθ χρειάηεται. Η δυναμικι κατανομι τθσ μνιμθσ είναι ευζλικτθ και μπορεί να αξιοποιιςει μικρζσ περιοχζσ τθσ μνιμθσ. Με τον τρόπο αυτό βελτιϊνεται το πρόβλθμα τθσ αναξιοποίθτθσ μνιμθσ, χωρίσ όμωσ να λφνεται τελείωσ. Το βαςικό μειονζκτθμα τθσ λφςθσ αυτισ είναι θ αυξθμζνθ πολυπλοκότθτα των μθχανιςμϊν προςταςίασ τθσ μνιμθσ.
Φυςικέσ Διευθύνςεισ μνήμησ Η κεντρικι μνιμθ του υπολογιςτι αποτελείται από διαδοχικζσ κζςεισ, με μζγεκοσ θ κάκε μια π.χ. 16 ι 32 bits, που ονομάηονται λζξεισ (words). Κάκε λζξθ τθσ μνιμθσ ζχει τθ δικι τθσ διεφκυνςθ, με τθν οποία αναφζρονται τα προγράμματα ςε αυτι. Αν θ μνιμθ ζχει μζγεκοσ Ν λζξεων, τότε θ πρϊτθ λζξθ ζχει διεφκυνςθ 0, θ δεφτερθ ζχει διεφκυνςθ 1 κ.ο.κ., ενϊ θ τελευταία λζξθ ζχει διεφκυνςθ Ν-1. Το ςφνολο αυτϊν των Ν διευκφνςεων είναι ςτακερό και ονομάηεται χώροσ φυςικών διευθφνςεων (physical address space) ι χώροσ απολφτων διευθφνςεων (absolute address space) ι χώροσ πραγματικών διευθφνςεων (real address space).
Προβλημα Κάκε πρόγραμμα πρζπει να χρθςιμοποιιςει διευκφνςεισ για να αναφερκεί ςτα δεδομζνα του, τα οποία βρίςκονται ςτθ μνιμθ. Τι γίνεται όμωσ αν οι διευκφνςεισ των δεδομζνων για δυο διεργαςίεσ ςυμπίπτουν;
Παράδειγμα Μια διεργαςία δ 1 υπολογίηει ζνα άκροιςμα, το οποίο τοποκετεί ςτθ κζςθ μνιμθσ με διεφκυνςθ 156. Μια άλλθ διεργαςία δ 2 ηθτά διάφορουσ αρικμοφσ από το χριςτθ, τουσ οποίουσ τοποκετεί επίςθσ ςτθ κζςθ μνιμθσ με διεφκυνςθ 156. Οι δυο διευκφνςεισ ςυμπίπτουν, γιατί τα δυο προγράμματα γράφτθκαν ανεξάρτθτα το ζνα από το άλλο. Αν και οι δυο διεργαςίεσ εκτελοφνται ταυτόχρονα, θ κζςθ μνιμθσ 156 κα χρθςιμοποιείται πότε από τθ μια διεργαςία και πότε από τθν άλλθ. Ζτςι όμωσ καμία από τισ δυο δε κα χρθςιμοποιεί τισ ςωςτζσ τιμζσ, αφοφ ςε τυχαίεσ χρονικζσ ςτιγμζσ επεμβαίνει θ άλλθ και τισ αλλάηει, και τελικά καμία δε κα δϊςει τα ςωςτά αποτελζςματα. Τι γίνεται επίςθσ όταν θ διακζςιμθ κφρια μνιμθ δε χωρά όλεσ τισ διεργαςίεσ;
Προτεινόμενη λυςη Η πρϊτθ και πιο απλι ςκζψθ που μπορεί να γίνει για να λυκεί το πρόβλθμα τθσ επικάλυψθσ των διευκφνςεων είναι να γράφονται ζτςι τα προγράμματα ϊςτε κακζνα να χρθςιμοποιεί διαφορετικζσ διευκφνςεισ μνιμθσ. Με τον τρόπο αυτό δεν υπάρχει περίπτωςθ θ μια διεργαςία να επθρεάςει τθν άλλθ. Αυτι θ λφςθ όμωσ δεν είναι ςτθν πράξθ και πολφ αποτελεςματικι για δυο λόγουσ: 1. Τα προγράμματα γράφονται ςυνικωσ ανεξάρτθτα από διάφορουσ ανκρϊπουσ, και δεν είναι δυνατό να βρεκεί ζνασ τρόποσ ςυνεννόθςθσ και ςυντονιςμοφ τουσ. 2. Το πλικοσ των διακζςιμων διευκφνςεων κφριασ μνιμθσ είναι πεπεραςμζνο και μάλλον μικρό, οπότε αρκετά γριγορα κα εξαντλθκοφν.
Εικονικέσ διευθύνςεισ Θζλουμε λοιπόν μια λφςθ που να επιτρζπει ςτα προγράμματα να χρθςιμοποιοφν ελεφκερα οποιεςδιποτε διευκφνςεισ, και να εξαςφαλίηεται από το ΛΣ ότι δε κα υπάρχει επικάλυψθ μεταξφ τουσ. Η λφςθ αυτι είναι εκείνθ των εικονικών διευθύνσεων (virtual addresses): κάκε πρόγραμμα μεταφράηεται ςε γλϊςςα μθχανισ ςαν να ζχει όλο το χϊρο διευκφνςεων ςτθ διάκεςι του, και αναφζρεται ςτα δεδομζνα του χρθςιμοποιϊντασ εικονικζσ -δθλαδι όχι πραγματικζσδιευκφνςεισ όταν το πρόγραμμα φορτϊνεται για εκτζλεςθ, το ΛΣ επιλζγει κζςεισ μνιμθσ που είναι ελεφκερεσ και τισ αντιςτοιχίηει ςτισ εικονικζσ διευκφνςεισ.
Εικονικέσ διευθύνςεισ Κατά τθν εκτζλεςθ του προγράμματοσ, κάκε αναφορά ςε μια εικονικι διεφκυνςθ μεταφράηεται από το ΛΣ ςτθν αντίςτοιχθ φυςικι διεφκυνςθ, θ οποία τελικά προςπελάηεται. Η διαδικαςία αυτι τθσ μετάφραςθσ εικονικισ διεφκυνςθσ ςε φυςικι ςυνικωσ γίνεται πολφ γριγορα, γιατί οι ΚΜΕ περιζχουν ειδικά κυκλϊματα για αυτι.
Εικονικέσ διευθύνςεισ Ο χώροσ εικονικών διευθφνςεων (virtual address space), που πολλζσ φορζσ αναφζρεται και ωσ εικονική μνήμη (virtual memory), ζχει ςυνικωσ μεγαλφτερο μζγεκοσ από το χϊρο φυςικϊν διευκφνςεων για να ζχουν οι διεργαςίεσ περιςςότερο «χϊρο μνιμθσ» ςτθ διάκεςι τουσ. Οι εικονικζσ διευκφνςεισ που δεν ζχουν αντίςτοιχεσ ςτθ φυςικι μνιμθ, ςυνικωσ αντιςτοιχίηονται ςε κάποια διεφκυνςθ τθσ δευτερεφουςασ μνιμθσ. Με τον τρόπο αυτό θ δευτερεφουςα μνιμθ ςυμβάλλει ςτθν αφξθςθ τθσ διακζςιμθσ κφριασ μνιμθσ του ςυςτιματοσ.
Τρόποι αντιςτοίχηςησ Ο τρόποσ αντιςτοίχιςθσ των διευκφνςεων για διαφορετικά προγράμματα μπορεί να γίνει με διάφορουσ τρόπουσ, δθλαδι με διάφορεσ ςτρατθγικζσ διαχείριςθσ εικονικισ μνιμθσ. Οι βαςικζσ ςτρατθγικζσ είναι δυο, θ ςελιδοποίηςη (paging) και θ κατάτμηςη (segmentation), και υπάρχει ζνασ ςυνδυαςμόσ των δφο, θ κατατμημζνη ςελιδοποίηςη (segmented paging). Αυτζσ οι ςτρατθγικζσ ζχουν τθν ιδιότθτα να επιτρζπουν πολλζσ διεργαςίεσ να χρθςιμοποιοφν από κοινοφ μνιμθ, όπωσ π.χ. διεργαςίεσ που εκτελοφν ταυτόχρονα το ίδιο πρόγραμμα χρθςιμοποιοφν από κοινοφ τθ μνιμθ ςτθν οποία είναι αυτό αποκθκευμζνο.
Διαχείριςη εικονικήσ μνήμησ με ςελιδοποίηςη Στθ μζκοδο τθσ ςελιδοποίθςθσ, θ εικονικι μνιμθ διαιρείται ςε ίςα και ςυνεχόμενα μζρθ, τα οποία ονομάηονται ςελίδεσ (pages). Με τον ίδιο τρόπο διαιρείται και θ φυςικι μνιμθ ςε ενότητεσ (blocks, frames). Το μζγεκοσ τθσ ενότθτασ είναι ίδιο με αυτό τθσ ςελίδασ ζτςι μια ςελίδα τθσ εικονικισ μνιμθσ και όλεσ οι διευκφνςεισ που αυτι περιζχει αντιςτοιχοφν ακριβϊσ ςε μια ενότθτα τθσ φυςικισ μνιμθσ και τισ διευκφνςεισ τθσ. Το ΛΣ κρατά ζνα πίνακα αντιςτοίχιςθσ ςελίδων και ενοτιτων. Για κάκε ςελίδα τθσ εικονικισ μνιμθσ φαίνεται ςτον πίνακα αυτό θ ενότθτα τθσ φυςικισ μνιμθσ ςτθν οποία αντιςτοιχεί ι, αν δεν αντιςτοιχεί ςε κάποια ενότθτα, ςθμειϊνεται ότι θ ςελίδα βρίςκεται ςτθ δευτερεφουςα μνιμθ. Για να μεταφραςτεί μια εικονικι διεφκυνςθ (ΕΔ), πρϊτα βρίςκεται θ ςελίδα (Σ) ςτθν οποία ανικει. Το ΛΣ αναηθτά τθ ςελίδα αυτι ςτον πίνακα αντιςτοίχιςθσ, και βρίςκει ότι αντιςτοιχεί ςτθν ενότθτα Ε. Η φυςικι διεφκυνςθ (ΦΔ) κα ανικει ςτθν ενότθτα αυτι, και κα βρίςκεται ςε αντίςτοιχθ κζςθ με αυτι τθσ ΕΔ μζςα ςτθ ςελίδα Σ.
Σε ζναν υπολογιςτι θ εικονικι μνιμθ ζχει μζγεκοσ 100 (εικονικζσ διευκφνςεισ από 0 ωσ 99) και χωρίηεται ςε 10 ςελίδεσ ενϊ θ φυςικι μνιμθ ζχει μζγεκοσ 50 (φυςικζσ διευκφνςεισ από 0 ωσ 49) και διαιρείται ςε 5 ενότθτεσ. Το μζγεκοσ ςελίδων και ενοτιτων είναι 10. Ζτςι π.χ. οι εικονικζσ διευκφνςεισ από 0 ωσ 9 ανικουν ςτθ ςελίδα με αρικμό 0, ενϊ οι φυςικζσ διευκφνςεισ από 30 ωσ 39 ανικουν ςτθν ενότθτα με αρικμό 3.
τον πίνακα αντιςτοίχιςθσ του ςχιματοσ, θ ςελίδα 0 αντιςτοιχεί ςτθν ενότθτα 1, δθλαδι οι εικονικζσ διευκφνςεισ 0-9 αντιςτοιχοφν ςτισ φυςικζσ διευκφνςεισ 10-19. Η εικονικι διεφκυνςθ 2 τελικά κα μεταφραςτεί ςτθ φυςικι διεφκυνςθ 12. Παρατθροφμε ότι κάκε διεφκυνςθ μπορεί να χωριςτεί ςε δυο τμιματα: οι δεκάδεσ τθσ διεφκυνςθσ δείχνουν τθ ςελίδα ι τθν ενότθτα ςτθν οποία ανικει θ διεφκυνςθ, και οι μονάδεσ δείχνουν τθ κζςθ τθσ διεφκυνςθσ μζςα ςτθ ςελίδα ι τθν ενότθτα.
Για να υπολογίςουμε τη φυςική διεύθυνςη ΦΔ από την εικονική διεύθυνςη ΕΔ, ακολουθούμε τα εξήσ βήματα: Βρίςκουμε τον αρικμό ςελίδασ Σ, που είναι οι δεκάδεσ τθσ ΕΔ. Βρίςκουμε τθ κζςθ Θ τθσ διεφκυνςθσ μζςα ςτθ ςελίδα, που είναι οι μονάδεσ τθσ ΕΔ. Από τον πίνακα αντιςτοίχιςθσ, βρίςκουμε τον αρικμό ενότθτασ Ε για τθ φυςικι μνιμθ. Η ΦΔ ζχει για δεκάδεσ τον αρικμό ενότθτασ Ε και για μονάδεσ τθ κζςθ Θ μζςα ςτθν ενότθτα.για τθν εικονικι διεφκυνςθ ΕΔ = 5, ο αρικμόσ Σ τθσ ςελίδασ είναι 0 και θ κζςθ Θ είναι 5. Από τον πίνακα βρίςκουμε ότι θ αντίςτοιχθ ενότθτα Ε είναι θ 1, ζτςι θ φυςικι διεφκυνςθ κα είναι 15.
Κάκε εικονικι διεφκυνςθ ςε ζναν υπολογιςτι χωρίηεται ςε δφο τμιματα: το πρϊτο είναι ο αρικμόσ τθσ ςελίδασ και το δεφτερο ο αρικμόσ τθσ λζξθσ μζςα ςτθ ςελίδα. Στο παράδειγμά μασ, κάκε τζτοιο τμιμα ιταν ζνα δεκαδικό ψθφίο ςτουσ υπολογιςτζσ κάκε τμιμα τθσ εικονικισ διεφκυνςθσ αποτελείται από πολλά ψθφία, αφενόσ γιατί χρθςιμοποιείται το δυαδικό ςφςτθμα, αφετζρου γιατί το μζγεκοσ τθσ εικονικισ μνιμθσ είναι μεγάλο. Αντίςτοιχα και κάκε φυςικι διεφκυνςθ χωρίηεται ςτον αρικμό ενότθτασ και τον αρικμό λζξθσ. Όταν μεταφράηεται μια εικονικι διεφκυνςθ ςε φυςικι, ο αρικμόσ λζξθσ μζνει ο ίδιοσ.
Ο πίνακασ αντιςτοίχιςθσ τθσ διεργαςίασ βρίςκεται ςτθν κφρια μνιμθ, και θ διεφκυνςθ όπου αρχίηει κρατείται ςε μια μονάδα αποκικευςθσ τθσ ΚΜΕ που ονομάηεται καταχωρητήσ πίνακα ςελίδων (ΚΠΣ, page table register). Κάκε «κζςθ» του πίνακα ςελίδων κρατά τον αρικμό ενότθτασ για τθν αντίςτοιχθ ςελίδα. Ζτςι, αν ςτθν αρχικι διεφκυνςθ του πίνακα ςελίδων προςκζςουμε ζνα αρικμό ςελίδασ, κα πάρουμε τθ κζςθ του πίνακα που αντιςτοιχεί ςτθ ςελίδα αυτι, και κα βροφμε τον αντίςτοιχο αρικμό ενότθτασ για τθ ςελίδα.
Αν ο πίνακασ ςελίδων αρχίηει ςτθ διεφκυνςθ 10 τθσ μνιμθσ, ο αρικμόσ ενότθτασ για τθ ςελίδα 0 βρίςκεται ςτθ διεφκυνςθ 10, ο αρικμόσ ενότθτασ για τθ ςελίδα 1 βρίςκεται ςτθ διεφκυνςθ 11, κλπ. Γενικά ο αρικμόσ ενότθτασ για τθ ςελίδα κ βρίςκεται ςτθ διεφκυνςθ 10+κ.
Για να βροφμε λοιπόν τον αρικμό ενότθτασ για μια εικονικι διεφκυνςθ προςκζτουμε τον αρικμό ςελίδασ τθσ με το περιεχόμενο του καταχωρθτι πίνακα ςελίδων. Το αποτζλεςμα είναι μια διεφκυνςθ μνιμθσ, και ςτθ διεφκυνςθ αυτι κα βροφμε τον αρικμό ενότθτασ ςτθ φυςικι μνιμθ. Αυτόσ ο αρικμόσ ενότθτασ ςυνδυάηεται με τον αρικμό λζξθσ για να δϊςουν τθν τελικι φυςικι διεφκυνςθ. Αν για μια ςελίδα δεν υπάρχει αντίςτοιχθ ενότθτα ςτθν κφρια μνιμθ, τότε πρζπει να ενεργοποιθκεί μια διαδικαςία μεταφοράσ τθσ ενότθτασ αυτισ από τθ δευτερεφουςα ςτθν κφρια μνιμθ, ενϊ ςυγχρόνωσ κάποια άλλθ ςελίδα μεταφζρεται από τθν κφρια ςτθ δευτερεφουςα μνιμθ για να απελευκερϊςει τθν ενότθτα που χρειάηεται. Η κζςθ ςτθ δευτερεφουςα μνιμθ όπου βρίςκονται όςεσ ςελίδεσ είναι εκτόσ κφριασ μνιμθσ μπορεί να καταγράφεται ςτον πίνακα ςελίδων ι ςε κάποιον άλλο πίνακα.
Ο πίνακασ ςελίδων είναι και αυτόσ αποκθκευμζνοσ ςτθ μνιμθ. Ζτςι κάκε μετάφραςθ εικονικισ διεφκυνςθσ ςε φυςικι απαιτεί μια επιπλζον προςπζλαςθ μνιμθσ για τθν ανάγνωςθ του πίνακα 2. Αυτι θ προςπζλαςθ ειςάγει μια ανεπικφμθτθ κακυςτζρθςθ ςτθν εκτζλεςθ των εντολϊν. Μια λφςθ ςτο πρόβλθμα αυτό είναι θ χριςθ ειδικισ, γριγορθσ μνιμθσ, για τθν αποκικευςθ του πίνακα ςελίδων. Το κυριότερο μειονζκτθμα τθσ ςελιδοποίθςθσ είναι ότι κάκε διεργαςία καταλαμβάνει περιςςότερο χϊρο από ό,τι χρειάηεται. Συνικωσ θ μνιμθ που απαιτεί μια διεργαςία δεν είναι πολλαπλάςιο του μεγζκουσ τθσ ςελίδασ, αλλά χρειάηεται π.χ. 10 ςελίδεσ ολόκλθρεσ και 20 λζξεισ επιπλζον. Επειδι ο χϊροσ εικονικϊν διευκφνςεων που τθσ δίνεται ζχει μζγεκοσ που είναι πολλαπλάςιο τθσ ςελίδασ, κα τθσ δοκοφν 11 ςελίδεσ από τθν 11 θ κα χρθςιμοποιθκοφν μόνο οι 20 πρϊτεσ λζξεισ. Η τελευταία ςελίδα κάκε διεργαςίασ ζτςι ζχει ζνα τμιμα, μικρότερο ι μεγαλφτερο, το οποίο μζνει αχρθςιμοποίθτο. Αυτό το φαινόμενο ονομάηεται εςωτερικόσ κατακερματιςμόσ (internal fragmentation)
Διαχείριςη εικονικήσ μνήμησ με κατάτμηςη και κατατμημένη ςελιδοποίηςη Η ςελιδοποίθςθ είναι θ πιο κοινά χρθςιμοποιοφμενθ μζκοδοσ για τθ διαχείριςθ τθσ εικονικισ μνιμθσ, γιατί ςυνικωσ υποςτθρίηεται από το υλικό των υπολογιςτϊν. Δυο άλλεσ μζκοδοι που χρθςιμοποιοφνται, αλλά όχι τόςο ευρζωσ, είναι θ κατάτμθςθ και θ κατατμθμζνθ ςελιδοποίθςθ θ δεφτερθ είναι ςυνδυαςμόσ κατάτμθςθσ και ςελιδοποίθςθσ. Η μζκοδοσ τθσ κατάτμθςθσ προςπακεί να αποφφγει τον εςωτερικό κατακερματιςμό δίνοντασ ςε κάκε διεργαςία ακριβϊσ όςθ μνιμθ τθσ χρειάηεται. Χωρίηει τθ μνιμθ ςε τμιματα διαφορετικϊν μεγεκϊν, και για κάκε ζνα από αυτά κρατά τθν αρχικι διεφκυνςθ και το μζγεκόσ του. Για να μεταφράςει μια εικονικι διεφκυνςθ ςε φυςικι, αναηθτεί τισ πλθροφορίεσ που ζχει κρατιςει για το αντίςτοιχο τμιμα, ελζγχει αν θ δεδομζνθ διεφκυνςθ είναι μζςα ςτα όρια του τμιματοσ, βρίςκει τθν αρχικι του διεφκυνςθ ςτθ φυςικι μνιμθ, και τζλοσ τθ ςυνδυάηει με τθ κζςθ μνιμθσ μζςα ςτο τμιμα για να υπολογίςει τθν τελικι φυςικι διεφκυνςθ.
Όταν δθμιουργείται μια νζα διεργαςία, το ΛΣ αναηθτά ζνα τμιμα εικονικϊν διευκφνςεων αρκετά μεγάλο για να χωρζςει τθ μνιμθ που χρειάηεται θ διεργαςία, και τθσ αποδίδει τισ διευκφνςεισ αυτζσ Η κατατμθμζνθ ςελιδοποίθςθ ςυνδυάηει τισ δυο τεχνικζσ, εργαηόμενθ πάλι με τμιματα, τα οποία όμωσ αποτελοφνται από ςελίδεσ ςτακεροφ μεγζκουσ. Η κατάτμθςθ ζτςι είναι θ ειδικι περίπτωςθ τθσ κατατμθμζνθσ ςελιδοποίθςθσ όπου κάκε ςελίδα αποτελείται μόνο από μία λζξθ.