Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση"— Μεταγράφημα παρουσίασης:

1 Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
Κατάτμηση Κατάτμηση με σελιδοποίηση

2 Λογικός και Φυσικός Χώρος Διευθύνσεων
Λογική διεύθυνση: παράγεται από την ΚΜΕ (ονομάζεται και εικονική διεύθυνση) Φυσική διεύθυνση: η διεύθυνση που «βλέπει» η μονάδα μνήμης Οι λογικές και οι φυσικές διευθύνσεις δεν είναι ίδιες σε συστήματα που συνδέουν τις διευθύνσεις κατά το χρόνο εκτέλεσης

3 Μονάδα Διαχείρισης Μνήμης (MMU)
Συσκευή υλικού που αντιστοιχεί εικονικές σε φυσικές διευθύνσεις Η τιμή στον καταχωρητή μετατόπισης προστίθεται σε κάθε διεύθυνση που παράγεται από μια διεργασία όταν στέλνεται στη μνήμη Η διεργασία ασχολείται με λογικές διευθύνσεις και ποτέ δε «βλέπει» τις φυσικές

4 Δυναμική μετατόπιση με χρήση καταχωρητή

5 Εναλλαγή Μια διεργασία μπορεί να εναλλαγεί προσωρινά εκτός μνήμης σε μια δευτερεύουσα αποθήκευση, και μετά να ξαναμεταφερθεί στη μνήμη για περαιτέρω εκτέλεση Δευτερεύουσα αποθήκευση – γρήγορος δίσκος αρκετά μεγάλος ώστε να αποθηκεύει αντίγραφα όλων των εικόνων μνήμης για όλους τους χρήστες (άμεση πρόσβαση) Roll out, roll in: παραλλαγή για δρομολόγηση βασισμένη σε προτεραιότητες Χρόνος εναλλαγής είναι κυρίως χρόνος μεταφοράς (ευθέως ανάλογος του ποσού μνήμης που εναλλάσσεται)

6 Η εναλλαγή σχηματικά

7 Ανάθεση συνεχόμενης μνήμης
Συνήθως δύο διαμερίσεις της κύριας μνήμης: Παραμένον λειτουργικό σύστημα (συνήθως σε χαμηλές διευθύνσεις) Διεργασίες χρηστών στις υψηλές διευθύνσεις Καταχωρητής μετατόπισης για προστασία διεργασιών μεταξύ τους καθώς και του λειτουργικού συστήματος. Περιέχει τιμή μικρότερης φυσικής διεύθυνσης. Καταχωρητής ορίου περιέχει εμβέλεια λογικών διευθύνσεων

8 Υποστήριξη υλικού για καταχωρητές μετατόπισης και ορίου

9 Ανάθεση συνεχόμενης μνήμης
Κατανομή πολλαπλών διαμερίσεων Οπή – τμήμα διαθέσιμης μνήμης. Οπές διαφόρων μεγεθών διάσπαρτες στη μνήμη. Όταν έρχεται διεργασία της δίνεται μνήμη από μια οπή αρκετά μεγάλη. Το Λ.Σ. κρατά πληροφορίες σχετικά με: α) κατανεμημένες διαμερίσεις β) οπές ΛΣ ΛΣ ΛΣ ΛΣ Διεργασία 5 Διεργασία 5 Διεργασία 5 Διεργασία 5 Διεργασία 9 Διεργασία 9 Διεργασία 8 Διεργασία 10 Διεργασία 2 Διεργασία 2 Διεργασία 2 Διεργασία 2

10 Πρόβλημα δυναμικής ανάθεσης μνήμης
Πώς μπορεί να ικανοποιηθεί ένα αίτημα ορισμένου μεγέθους από μια λίστα οπών; Πρώτο ταίριασμα: Ανάθεσε την πρώτη οπή που είναι αρκετά μεγάλη (καλύτερο για ταχύτητα και αξιοποίηση μνήμης) Καλύτερο ταίριασμα: Ανάθεσε τη μικρότερη οπή που είναι αρκετά μεγάλη (καλύτερο για αξιοποίηση μνήμης) Χειρότερο ταίριασμα: Ανάθεσε τη μεγαλύτερη οπή

11 Κατακερματισμός Εξωτερικός – ολόκληρη η μνήμη διαθέσιμη για εξυπηρέτηση αίτησης, αλλά όχι συνεχής. Εσωτερικός – η μνήμη που ανατίθεται είναι μεγαλύτερη από το αίτημα. Η διαφορά είναι εσωτερική της διαμέρισης, δε μπορεί να χρησιμοποιηθεί. Μείωση εξωτερικού κατακερματισμού με συμπύκνωση (compaction) Μετακίνησε περιεχόμενα μνήμης για να είναι συνεχόμενη όλη η ελεύθερη μνήμη Δυνατή μόνο αν η μετατόπιση είναι δυναμική και κατά το χρόνο εκτέλεσης

12 Σελιδοποίηση Φυσικός χώρος διευθύνσεων μπορεί να μην είναι συνεχόμενος (ανατίθεται φυσική μνήμη σε διεργασία όταν αυτή είναι διαθέσιμη) Διαίρεση φυσικής μνήμης σε τμήματα σταθερού μεγέθους (πλαίσια) με μέγεθος δύναμη του 2 (συνήθως 512 bytes ως 16 ΜB) Διαίρεση λογικής μνήμης σε τμήματα ίδιου μεγέθους (σελίδες) Διατήρηση πληροφορίας για τα ελεύθερα πλαίσια Για εκτέλεση προγράμματος ν σελίδων χρειάζεται να βρεθούν ν ελεύθερα πλαίσια και να φορτωθεί Καταρτίζεται ένας πίνακας σελίδων για τη μετάφραση λογικών σε φυσικές διευθύνσεις Εσωτερικός κατακερματισμός

13 Σχήμα μετάφρασης διεύθυνσης
Η διεύθυνση που παράγεται από την ΚΜΕ διαιρείται σε: Αριθμό σελίδας (p) – χρησιμοποιείται ως δείκτης σε ένα πίνακα σελίδων που περιέχει τη διεύθυνση βάσης κάθε σελίδας στη φυσική μνήμη Σχετική διεύθυνση σελίδας (d) – συνδυάζεται με τη διεύθυνση βάσης για να ορίσει τη διεύθυνση φυσικής μνήμης που στέλνεται στη μνήμη

14 Αρχιτεκτονική μετάφρασης διεύθυνσης

15 Παράδειγμα σελιδοποίησης

16 Παράδειγμα σελιδοποίησης

17 Ελεύθερα πλαίσια

18 Υλοποίηση πίνακα σελίδων
Ο πίνακας σελίδων τηρείται στην κύρια μνήμη. Καταχωρητής βάσης πίνακα σελίδων (PTBR) δείχνει στον πίνακα σελίδων. Καταχωρητής μήκους πίνακα σελίδων (PΤLR) δείχνει το μέγεθος του πίνακα σελίδων. Κάθε προσπέλαση δεδομένων/εντολής απαιτεί δύο προσπελάσεις στη μνήμη: μία για τον πίνακα σελίδων και μία για τα δεδομένα/εντολή. Το πρόβλημα των δύο προσπελάσεων λύνεται με τη χρήση μιας ειδικής γρήγορης κρυφής μνήμης που λέγεται συσχετιστική μνήμη ή ενδιάμεση μνήμη μετάφρασης (TLB).

19 Συσχετιστική μνήμη Παράλληλη αναζήτηση: Μετάφραση διεύθυνσης
Αν ο αριθμός σελίδας υπάρχει σε εγγραφή της TLB, επέστρεψε τον αντίστοιχο αριθμό πλαισίου Αν όχι επέστρεψε τον αριθμό πλαισίου από τον πίνακα σελίδων στην κύρια μνήμη Σελίδα # Πλαίσιο #

20 Υλικό σελιδοποίησης με TLB

21 Πραγματικός χρόνος πρόσβασης στη μνήμη
Αναζήτηση στην TLB = ε χρονικές μονάδες Προσπέλαση RAM = μ χρονικές μονάδες Λόγος επιτυχίας – ποσοστό των φορών που ένας αριθμός σελίδας βρίσκεται στην TLB (έχει σχέση με το πλήθος εγγραφών) Λόγος επιτυχίας = α Πραγματικός χρόνος πρόσβασης (EAT) EAT = (μ + ε) α + (2μ + ε)(1 – α) = μ (2 - α) + ε

22 Προστασία μνήμης Υλοποιείται συσχετίζοντας ένα bit προστασίας με κάθε πλαίσιο Bit εγκυρότητας-ακυρότητας για κάθε καταχώρηση του πίνακα σελίδων: «έγκυρο» δείχνει ότι η σχετική σελίδα είναι στο λογικό χώρο διευθύνσεων της διεργασίας, άρα είναι νόμιμη σελίδα. «άκυρο» δείχνει ότι η σελίδα δεν είναι στο λογικό χώρο διευθύνσεων της διεργασίας

23 Bit εγκυρότητας/ακυρότητας σε πίνακα σελίδων

24 Διαμοιραζόμενες σελίδες
Διαμοιραζόμενος κώδικας Ένα αντίγραφο κώδικα μόνο για ανάγνωση (reentrant) διαμοιραζόμενο μεταξύ διεργασιών (π.χ. συντάκτες κειμένου, μεταγλωττιστές, παραθυρικά συστήματα). Ο διαμοιραζόμενος κώδικας πρέπει να εμφανίζεται στην ίδια θέση του λογικού χώρου διευθύνσεων όλων των διεργασιών. Ιδιωτικός κώδικας και δεδομένα Κάθε διεργασία διατηρεί ξεχωριστό αντίγραφο του κώδικα και των δεδομένων. Οι σελίδες για τον ιδιωτικό κώδικα και τα δεδομένα μπορούν να εμφανίζονται οπουδήποτε στο λογικό χώρο διευθύνσεων.

25 Διαμοιραζόμενες σελίδες

26 Κατάτμηση Σχήμα διαχείρισης μνήμης που υποστηρίζει άποψη του χρήστη για τη μνήμη. Ένα πρόγραμμα είναι συλλογή από τμήματα. Ένα τμήμα είναι μια λογική μονάδα όπως: κύριο πρόγραμμα, συνάρτηση, τοπικές μεταβλητές, σφαιρικές μεταβλητές, στοίβα, πίνακες κλπ.

27 Άποψη χρήστη για ένα πρόγραμμα

28 Λογική άποψη της κατάτμησης
1 4 2 3 1 2 3 4 Χώρος χρήστη Χώρος φυσικών διευθύνσεων

29 Αρχιτεκτονική κατάτμησης
Η λογική διεύθυνση αποτελείται από ένα ζεύγος: <αριθμός τμήματος, σχετική διεύθυνση>, Πίνακας τμημάτων – αντιστοιχεί διευθύνσεις. Κάθε εγγραφή έχει: βάση – περιέχει την αρχική φυσική διεύθυνση όπου βρίσκεται το τμήμα στη μνήμη. όριο – καθορίζει το μήκος του τμήματος. Καταχωρητής βάσης πίνακα τμημάτων (STBR) δείχνει στη θέση του πίνακα στη μνήμη. Καταχωρητής μήκους πίνακα τμημάτων (STLR) δείχνει τον αριθμό των τμημάτων που χρησιμοποιούνται από ένα πρόγραμμα. Ο αριθμός τμήματος s είναι νόμιμος αν s < STLR.

30 Αρχιτεκτονική κατάτμησης
Επανατοποθέτηση: δυναμική με πίνακα τμημάτων Διαμοιρασμός: διαμοιραζόμενα τμήματα ίδιος αριθμός τμήματος Ανάθεση: πρώτου/καλύτερου ταιριάσματος εξωτερικός κατακερματισμός

31 Αρχιτεκτονική κατάτμησης
Προστασία: Με κάθε εγγραφή του πίνακα τμημάτων συσχέτισε bit εγκυρότητας=0παράνομο τμήμα δικαιώματα ανάγνωσης/εγγραφής/εκτέλεσης Τα bits προστασίας συσχετίζονται με τα τμήματα – ο διαμοιρασμός κώδικα γίνεται σε επίπεδο τμήματος. Αφού τα τμήματα ποικίλουν σε μέγεθος, η ανάθεση μνήμης είναι ένα πρόβλημα δυναμικής αποθήκευσης-ανάθεσης. Ένα παράδειγμα κατάτμησης φαίνεται στο παρακάτω διάγραμμα

32 Υλικό κατάτμησης

33 Παράδειγμα κατάτμησης

34 Διαμοιρασμός τμημάτων

35 Κατάτμηση με σελιδοποίηση
Το παράδειγμα του MULTICS : έλυσε το πρόβλημα εξωτερικού κατακερματισμού μείωσε το χρόνο αναζήτησης σελιδοποιώντας τα τμήματα Η εγγραφή του πίνακα τμημάτων δεν περιέχει τη διεύθυνση βάσης του τμήματος αλλά τη διεύθυνση βάσης ενός πίνακα σελίδων για αυτό το τμήμα.

36 Μετάφραση διεύθυνσης στο MULTICS


Κατέβασμα ppt "Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google