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

Slides:



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

5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λειτουργικά Συστήματα
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
Το υλικο του Υπολογιστη
Λειτουργικό Σύστημα 2ο μέρος.
ΚΕΦΑΛΑΙΟ 3 Το υλικό των υπολογιστών.
Κατανομή με ευρετήριο.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Ζητήματα Σελιδοποίησης
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Μνήμη και Προγραμματίσιμη Λογική
7. Διαχείριση κύριας μνήμης
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Στο μάθημα αυτό θα περιγραφεί η βασική εσωτερική δομή ενός συστήματος υπολογιστή και ιδιαίτερα τα χαρακτηριστικά και η λειτουργία της Κεντρικής Μονάδας.
Κεφάλαιο 2 Το Εσωτερικό του υπολογιστή
Πληροφορική, Β Γυμνασίου
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Ο προσωπικός υπολογιστής εσωτερικά
Τα χαρακτηριστικά των επεξεργαστών By ΔΙΟΝΥΣΗ ΣΚΕΓΙΑ ΕΠΑ-Λ ΚΡΕΣΤΕΝΩΝ!
ΕΜΠΙΣΤΕΥΤΙΚΟ. Η διανομή επιτρέπεται μόνο σε Συνεργάτες με τον όρο μη κοινοποίησης. Η Microsoft δεν παρέχει καμία εγγύηση, ρητή ή σιωπηρή. © 2012 Microsoft.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Λειτουργικά Συστήματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Β΄ τάξη Λέξεις Κλειδιά: Μητρική πλακέτα, κάρτες επέκτασης, κάρτα οθόνης, κάρτα ήχου, τροφοδοτικό, Κεντρική.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Το εσωτερικό της Κεντρικής Μονάδας.
Λειτουργικά Συστήματα Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
1 Λειτουργικά Συστήματα Ενότητα 9 : Ιδεατή Μνήμη 1/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
Θέμα Πτυχιακής Εργασίας
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Λειτουργικά Συστήματα
Θεωρήστε το λογικό χώρο διευθύνσεων που αποτελείται από 8 σελίδες των 1024 λέξεων (word) η καθεμία, που απεικονίζεται σε φυσική μνήμη 32 πλαισίων. Πόσα.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
Κατανεμημένα Συστήματα
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
ΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ ΤΗΣ INTEL
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Πίνακας Συμβόλων Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής.
Επαναληπτικές ασκήσεις
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Υλικό Υπολογιστών (Hardware)
ΔΙΕΡΓΑΣΙΕΣ.
Τρόπος προσαρμογής του Microsoft SharePoint Τοποθεσία Web με σύνδεση
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Βασικές έννοιες (Μάθημα 2) Τίτλος: Η Συσκευή
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Στο μάθημα αυτό θα περιγραφεί η βασική εσωτερική δομή ενός συστήματος υπολογιστή και ιδιαίτερα τα χαρακτηριστικά και η λειτουργία της Κεντρικής Μονάδας.
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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