Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ
Ειςαγωγό Όπωσ είδαμε, ο χϊροσ εικονικϊν διευκφνςεων μνιμθσ που χρθςιμοποιεί κάκε διεργαςία, είναι αρκετά μεγαλφτεροσ από το χϊρο των φυςικϊν διευκφνςεων. Ζτςι, διάφορεσ εικονικζσ διευκφνςεισ για μια διεργαςία δεν αντιςτοιχοφν ςτθν κφρια, αλλά ςτθ δευτερεφουςα μνιμθ. Για να χρθςιμοποιθκοφν όμωσ από τθ διεργαςία, πρζπει τα αντίςτοιχα δεδομζνα να μεταφερκοφν ςτθν κφρια μνιμθ, αφοφ κάποια άλλα δεδομζνα μεταφερκοφν από τθν κφρια ςτθ δευτερεφουςα μνιμθ και να αλλάξουν οι αντιςτοιχίςεισ εικονικϊν και φυςικϊν διευκφνςεων, ϊςτε να απεικονίηουν ςωςτά τθ νζα κατάςταςθ.
Επομϋνωσ Μια διεφκυνςθ δε μεταφζρεται μόνθ τθσ από τθ δευτερεφουςα ςτθν κφρια μνιμθ, αλλά μαηί με τισ γειτονικζσ τθσ, γιατί αυτζσ ζχουν πολφ αυξθμζνθ πικανότθτα να χρθςιμοποιθκοφν ςτθ ςυνζχεια από τθ διεργαςία, εξαιτίασ τθσ τοπικότθτασ αναφοράσ των προγραμμάτων. Ζτςι μεταφζρεται ολόκλθρθ θ ςελίδα μνιμθσ ςτθν οποία περιζχεται θ διεφκυνςθ αυτι.
Κρύςιμα ερωτόματα Η διαχείριςθ τθσ εικονικισ μνιμθσ από το ΛΣ πρζπει να δίνει απάντθςθ ςε τρεισ ουςιαςτικζσ ερωτιςεισ: Τα δυο πρϊτα ερωτιματα αφοροφν τα ςυςτιματα ςελιδοποίθςθσ και τα ςυςτιματα κατάτμθςθσ, ενϊ το τρίτο αφορά κυρίωσ τα ςυςτιματα κατάτμθςθσ όπου τα τμιματα των δεδομζνων ζχουν διαφορετικά μεγζκθ και πρζπει να βρεκεί μια ςυνεχόμενθ περιοχι φυςικισ μνιμθσ όπου να χωροφν.
Μεταφορϊ ςελύδων Το ΛΣ επιδιϊκει να εξυπθρετεί πολλζσ διεργαςίεσ ταυτόχρονα, αλλά ζτςι δεν είναι δυνατόν να βρίςκονται ςυγχρόνωσ φορτωμζνεσ ςτθν κφρια μνιμθ όλεσ οι ςελίδεσ για κάκε διεργαςία. Ανάλογα με τισ ανάγκεσ τθσ κάκε διεργαςίασ γίνεται μεταφορά ςελίδων από και προσ τθν κφρια μνιμθ. Η ςτρατθγικι μεταφοράσ που εφαρμόηει το ΛΣ κα ζχει ςαν ςκοπό να αποφαςίςει πότε κα γίνεται μεταφορά ςελίδων ϊςτε να εξοικονομείται χρόνοσ. Δυο είναι οι κφριεσ ςτρατθγικζσ μεταφοράσ: 1. Η ςελιδοποίηςη με αίτηςη (demand paging) και 2. Η ςελιδοποίηςη με πρόβλεψη (anticipatory paging).
Σελιδοπούηςη με αύτηςη Μια ςελίδα μεταφζρεται ςτθν κφρια μνιμθ μόνο όταν ηθτθκεί κάποια διεφκυνςθ που περιζχεται ςε αυτι και διαπιςτωκεί ότι θ ςελίδα βρίςκεται ςτθ δευτερεφουςα μνιμθ. Η ςτρατθγικι αυτι εξαςφαλίηει ότι μια ςελίδα κα μεταφερκεί από τθ δευτερεφουςα ςτθν κφρια μνιμθ μόνο όταν αυτό είναι απαραίτθτο. Η υλοποίθςθ αυτι τθσ τεχνικισ είναι ςχετικά απλι.
Σελιδοπούηςη με πρόβλεψη Η ςτρατθγικι αυτι προβλζπει ποιεσ ςελίδεσ κα προςπελάςει βραχυπρόκεςμα μια διεργαςία και τισ μεταφζρει εκ των προτζρων ςτθν κφρια μνιμθ. Η διεργαςία δεν χρειάηεται να περιμζνει να φορτωκεί θ ςελίδα (αφξθςθ ταχφτθτασ). Μειονζκτθμα είναι ότι πικανόν να φορτϊνονται ςελίδεσ που δεν κα χρειαςτοφν ποτζ και καταλαμβάνουν χϊρο κακϊσ και ότι ο υπολογιςμόσ τουσ απαιτεί χρόνο και επιβαρφνει το Λ/Σ.
Αντικατϊςταςη ςελύδων Όταν το ΛΣ αποφαςίςει ότι κα μεταφζρει μια ςελίδα από τθ δευτερεφουςα ςτθν κφρια μνιμθ, πρζπει να επιλζξει μια ςελίδα ςτθν κφρια μνιμθ που κα αντικαταςτακεί και κα μεταφερκεί ςτθ δευτερεφουςα μνιμθ. Στόχοσ του ΛΣ είναι να επιλζξει για μεταφορά ςτθ δευτερεφουςα μνιμθ μια ςελίδα που ζχει μικρι πικανότθτα να χρθςιμοποιθκεί ςφντομα.
Αντικατϊςταςη με βϊςη το χρόνο παραμονόσ Στθ μία ςτρατθγικι, αυτι τθσ αντικατάςταςησ με βάςη το χρόνο παραμονήσ (First In First Out, FIFO), επιλζγεται θ ςελίδα που βρίςκεται για το μεγαλφτερο χρονικό διάςτθμα ςτθν κφρια μνιμθ και αντικακίςταται με τθ νζα. Για να εντοπίηεται θ παλαιότερθ ςελίδα, κάκε φορά που μια ςελίδα μεταφζρεται ςτθν κφρια μνιμθ ςθμειϊνεται με τον τρζχοντα χρόνο (από το ρολόι του υπολογιςτι). Η ςελίδα που είναι ςθμειωμζνθ με το μικρότερο χρόνο είναι θ παλαιότερθ.
Αντικατϊςταςη με βϊςη το χρόνο τησ τελευταύασ προςπϋλαςησ Η δεφτερθ ςτρατθγικι είναι αυτι τθσ αντικατάςταςησ με βάςη το χρόνο τησ τελευταίασ προςπζλαςησ (Least Recently Used, LRU), οπότε επιλζγεται για αντικατάςταςθ εκείνθ θ ςελίδα που ζχει τον περιςςότερο χρόνο να προςπελαςτεί. Κάθε φορά που μια ςελίδα προςπελάζεται, ςθμειϊνεται με τον τρζχοντα χρόνο του υπολογιςτι για να βρεκεί αυτι που ζχει πολφ χρόνο να προςπελαςτεί. Όταν πρζπει να αντικαταςτακεί μια ςελίδα, το ΛΣ διαλζγει εκείνθ που είναι ςθμειωμζνθ με το μικρότερο (δθλαδι τον παλαιότερο) χρόνο.
Τοποθϋτηςη ςελύδων Στθν περίπτωςθ αυτι, το Λ/Σ αναηθτά κατάλλθλεσ περιοχζσ ςτθ μνιμθ για να φορτωκοφν οι ςελίδεσ. Χρθςιμοποιοφνται τρεισ ςτρατθγικζσ 1. Στρατθγικι 1ουταιριάςματοσ. 2. Στρατθγικι καλφτερου ταιριάςματοσ. 3. Στρατθγικι χειρότερου ταιριάςματοσ.
1. Στρατηγικό πρώτου ταιριϊςματοσ Σαρϊνεται ο κατάλογοσ των ελεφκερων τμθμάτων και επιλζγεται το πρϊτο αρκετά μεγάλο τμιμα. Πλεονεκτιματα: Ταχφτθτα. Μειονεκτιματα: Δθμιουργία μικρϊν τμθμάτων ελεφκερθσ μνιμθσ.
2. Στρατηγικό καλύτερου ταιριϊςματοσ Εξετάηονται όλα τα ελεφκερα τμιματα και επιλζγεται το κομμάτι που ταιριάηει περιςςότερο ςτθν υπό φόρτωςθ ςελίδα. Πλεονεκτιματα: Δεν αφινει μεγάλα κενά. Μειονεκτιματα: Αφινει πάρα πολφ μικρά τμιματα τα οποία δεν μποροφν να χρθςιμοποιθκοφν και είναι αργι.
3. Στρατηγικό χειρότερου ταιριϊςματοσ Εξετάηεται ολόκλθροσ ο κατάλογοσ (εκτόσ κι αν είναι ταξινομθμζνοσ) και επιλζγεται κάκε φορά το μεγαλφτερο κομμάτι για τθ φόρτωςθ τθσ ςελίδασ.
Ερωτόςεισ 1. Ποια είναι τα πλεονεκτιματα και τα μειονεκτιματα τθσ μεταφοράσ ςελίδων με πρόβλεψθ; 2. Περιγράψτε τθ μζκοδο αντικατάςταςθσ ςελίδων με βάςθ το χρόνο τελευταίασ προςπζλαςθσ. 3. Ποια νομίηεισ ότι είναι θ βαςικι ιδζα τθσ ςτρατθγικισ του χειρότερου ταιριάςματοσ;
Αςκόςεισ