3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων



Σχετικά έγγραφα
Λειτουργικά Συστήματα Η/Υ

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Διαχείριση Κύριας Μνήμης

Μάθημα 8: Διαχείριση Μνήμης

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 9

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Η/Υ

Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών

Εικονική Μνήμη (Virtual Memory)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα

ιαχείριση Μνήµης (Memory Management)

Εισαγωγή στα Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

Υλισµικό διαχείρισης µνήµης (Memory management hardware)

Διαχείριση Μνήμης (Memory Management)

Εισαγωγή στα Λειτουργικά

Λειτουργικά Συστήματα

Αρχιτεκτονική Υπολογιστών

Λειτουργικά Συστήματα

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης. Περιεχόμενα. Ανάγκη για διαχείριση μνήμης. Βασικές αρχές διαχείρισης μνήμης.

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Λειτουργικά Συστήματα. Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εικονική Μνήμη (1/2)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

Λειτουργικά Συστήματα

Εικονική Μνήμη (Virtual Μemory)

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Η ιεραρχία της μνήμης

Υλισμικό Διαχείρισης Μνήμης (Memory Management Hardware)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III

Εικονική Μνήμη (Virtual Μemory)

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 3ο: Διαχείριση Μνήμης

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

Λειτουργικά Συστήματα

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management)

Λειτουργικά Συστήματα

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αρχιτεκτονική υπολογιστών

Λειτουργικά Συστήματα (ΗΥ222)

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα (ΗΥ321)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

Εισαγωγή στα Λειτουργικά Συστήματα

ιαχείριση Μνήµης Κεφάλαιο 7 Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης I

Εικονική Μνήμη (virtual memory)

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική υπολογιστών

Λειτουργικά Συστήματα (ΗΥ321)

ΠΛΕ- 027 Μικροεπεξεργαστές

Πανεπιςτήμιο Πελοποννήςου Τμήμα Επιςτήμησ και Τεχνολογίασ Τηλεπικοινωνιών. Λειτουργικά Συςτήματα Προγραμματιςμόσ Συςτήματοσ. Μνήμη

Εικονική Μνήµη (Virtual Memory)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι)

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Αρχιτεκτονική υπολογιστών

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης I

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Λειτουργικά Συστήματα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

Επιτεύγµατα των Λ.Σ.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

Transcript:

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων 2 1

Επίπεδο OSM Το επίπεδο που υλοποιεί το λειτουργικό σύστηµα ονοµάζεται επίπεδο µηχανής λειτουργικού συστήµατος (operating system machine OSM). Επίπεδο OSM Λειτουργικό Σύστηµα Επίπεδο ISA µπρόγραµµα ή υλικό Επίπεδο µαρχιτεκτονικής Το επίπεδο OSM περιέχει όλες τις εντολές του επιπέδου ISA αλλά και ένα νέο σύνολο εντολών που ονοµάζονται κλήσεις συστήµατος (system calls). Το επίπεδο OSM είναι ερµηνευόµενο. 3 ΕΙΚΟΝΙΚΗ ΜΝΗΜΗ 4 2

Εικονική Μνήµη Σε πολλές περιπτώσεις, για να καλυφθούν οι ανάγκες σε µνήµη απαιτείται η εικονική χρήση της δευτερεύουσας µνήµης (HDD ή SSD) ως κύριας µνήµης. Η τεχνικήαυτήκαλείταιεικονική µνήµη (virtual memory). Παλαιότερα, για µεγάλα προγράµµατα που δεν χωρούσαν στην κύρια µνήµη, ο προγραµµατιστής τα υποδιαιρούσε σε τµήµατα (υπερθέµατα overlays) που το καθένα µπορούσε να χωρέσει στη µνήµη. Σήµερα η διαχείριση των υπερθεµάτων γίνεται αυτόµατα χωρίς την ανάγκη παρέµβασης του προγραµµατιστή. 5 Σελιδοποίηση Μνήµης 1/2 Μια µηχανή µε διευθύνσεις των 16bit (64Κ λέξεις) και κύρια µνήµη µόνο 4Κ λέξεων, χωρίς εικονική µνήµη, έχει µια σταθερή αντιστοιχία µεταξύ των διευθύνσεων από 0 έως 4095 και των 4096 λέξεων µνήµης. Μια αναφορά σε θέση µνήµης έξω από τη συγκεκριµένη περιοχή θα προκαλέσει µια παγίδα σφάλµατος που θα τερµατίσει το πρόγραµµα. Με τη χαρτογράφηση ο χώρος των διευθύνσεων (address space) χωρίζεται σε τµήµατα ίσου µεγέθους µε την κύρια µνήµη ώστε να µπορούν να αντιστοιχηθούν σε αυτήν. 65535 Χώρος ιευθύνσεων 64Κ λέξεις 12287 8191 4095 Χαρτογράφηση Κύρια Μνήµη 4Κ λέξεις 4095 0 0 6 3

Σελιδοποίηση Μνήµης 2/2 Σε µια µηχανή των 4Κ λέξεων, µε εικονική µνήµη, µια κλήση (διακλάδωση) σε διευθύνσεις µεταξύ 8192 και 12287 θα προκαλέσει: Αποθήκευση του περιεχοµένου της κύριας µνήµης στο δίσκο Εντοπισµό στο δίσκο των λέξεων από 8192 έως12287. Φόρτωση των ανωτέρω λέξεων στην κύρια µνήµη Χαρτογράφηση των διευθύνσεων από 8192 έως12287 στις θέσεις µνήµης από 0 έως 4095. Συνέχιση της εκτέλεσης του προγράµµατος. Η τεχνική ονοµάζεται σελιδοποίηση (paging) και τα τµήµατα που διαβάζονται από το δίσκο σελίδες (pages). 65535 Χώρος ιευθύνσεων 64Κ λέξεις 12287 8191 4095 Χαρτογράφηση Κύρια Μνήµη 4Κ λέξεις 4095 0 0 7 Εικονικός & Φυσικός Χώρος /νσεων νσεων Οι διευθύνσεις στις οποίες µπορεί να αναφέρεται το πρόγραµµα ονοµάζονται εικονικός χώρος διευθύνσεων (virtual address space) ενώ οι πραγµατικές διευθύνσεις µνήµης ονοµάζονται φυσικός χώρος διευθύνσεων (physical address space). Υπάρχει ένας χάρτης µνήµης ς (memory y map) ) ή πίνακας σελίδων (page g table) ) που συσχετίζει τις εικονικές µε τις φυσικές διευθύνσεις. Η σελιδοποίηση είναι διαφανής (transparent) καθώς ο προγραµµατιστής µπορεί να προγραµµατίζει σαν να µην υπήρχε σελιδοποίηση, έχοντας την ψευδαίσθηση µια µεγάλης, συνεχούς, γραµµικής κύριας µνήµης. 65535 Χώρος ιευθύνσεων 64Κ λέξεις 12287 8191 4095 Χαρτογράφηση Κύρια Μνήµη 4Κ λέξεις 4095 0 0 8 4

Υλοποίηση της Σελιδοποίησης Ο εικονικός χώρος διευθύνσεων χωρίζεται σε σελίδες ίσου µεγέθους. Σελίδα Εικονικές δ/νσεις Ο φυσικός χώρος δ/νσεων χωρίζεται µε παρόµοιο τρόπο σε κοµµάτια µε µέγεθος µιας σελίδας Τα πρώτα 64Κ (πλαίσια σελίδων page frames). 4Κ σελίδα Πλαίσιο σελίδων Τα πρώτα 32Κ της κύριας µνήµης Φυσικές δ/νσεις 4Κ πλαίσιο σελίδας 9 Χαρτογράφηση 1/2 Ύπαρξη κατάλληλης µονάδας διαχείρισης µνήµης (memory management unit MMU) για τη χαρτογράφηση. Χρήση πίνακα σελίδων. Έστω µηχανή µε εικονικές δ/νσεις των 32 bit (εικονικός χώρος δ/νσεων ίσος µε 4G) και 2 20 εικονικές σελίδες των 4Κ. Η κύρια µνήµη έχειφυσικέςδ/νσεις των 15 bit (χώρος 32K) και χωρίζεται σε 8 πλαίσια σελίδων των 4Κ. Στον πίνακα σελίδων υπάρχει 1 bit παρουσίας/απουσίας ώστε να γνωρίζουµε αν η εικονική σελίδα είναι στην κύρια µνήµη. Η αναφορά σε δ/νση από σελίδα που δεν βρίσκεται στην κύρια µνήµη καλείται σφάλµα σελίδας(page fault). Εικονική Σελίδα Bit παρουσίας απουσίας 2 20 εικονικές σελίδες Πίνακας Σελίδων (διεύθυνση στην κύρια µνήµη) αριθµός πλαισίου Καταχωρητής Εξόδου MMU Καταχωρητής Εισόδου (εικονική σελίδα) (σχετική διεύθυνση) (εικονική διεύθυνση) 10 5

Χαρτογράφηση 2/2 Πίνακας Σελίδων Εικονική # Πλαισίου Σελίδα Σελίδων 1 = παρούσα σελίδα στην κύρια µνήµη 0 = απούσα σελίδα από την κύρια µνήµη Παράδειγµα χαρτογράφησης των πρώτων 16 εικονικών σελίδων. Κύρια Μνήµη Εικονική σελίδα 6 Εικονική σελίδα 5 Εικονική σελίδα 11 Εικονική σελίδα 14 Εικονική σελίδα 8 Εικονική σελίδα 3 Εικονική σελίδα 0 Εικονική σελίδα 1 Πλαίσιο Σελίδων 11 Πολιτική Μεταφοράς Σελίδων Η διαχείριση της εικονικής µνήµης µπορεί να πραγµατοποιηθεί µε: Σελιδοποίηση κατά παραγγελία (demand paging) όπου οι φόρτωση των σελίδων γίνεται κάθε φορά που απαιτείται. Σελιδοποίηση µε πρόβλεψη, όπου το σύνολο των σελίδων στην κύρια µνήµη (σύνολο εργασίας working set) περιέχει τις σελίδες από τις k πιο πρόσφατες αναφορές µνήµης. Αν το σύνολο εργασίας είναι µεγαλύτερο από τα διαθέσιµα πλαίσια σελίδων, τότε συχνά σφάλµατα σελίδων (παλινωδία thrashing). Για να προσκοµιστεί µια νέα σελίδα πρέπει κάποια σελίδα να αντικατασταθεί. Η αντικατάσταση σελίδων γίνεται µε τεχνικέςόπως: Αποβολή της σελίδας µε τη λιγότερο πρόσφατη χρήση (least recently used LRU) Αποβολή της παλαιότερης σελίδας (αλγόριθµος πρώτο-µέσαπρώτο-έξω, first-in-first-out FIFO) Μια σελίδα που πρόκειται να αποβληθεί και έχει τροποποιηθεί (η σελίδα είναι ακάθαρτη dirty) πρέπει να επανεγγραφεί στο δίσκο. Αν η σελίδα είναι καθαρή (clean) απλά αποβάλλεται. Χρήση 1 bit «καθαρότητας» για κάθε σελίδα. 12 6

Αποτυχία της Τεχνικής LRU Έστω πρόγραµµα στο οποίο έχει παραχωρηθεί κύρια µνήµη 8 πλαισίων σελίδων και το οποίο εκτελεί ένα µεγάλο βρόχο που εκτείνεται σε 9 σελίδες. Η διαδοχική κατάσταση της κύριας µνήµης, µετηφόρτωση/αποβολή σελίδων σε αυτή παρουσιάζεται στην ακόλουθη εικόνα: Κύρια Μνήµη Κύρια Μνήµη Κύρια Μνήµη Κύρια Μνήµη Εικονική σελίδα 7 Εικονική σελίδα 6 Εικονική σελίδα 7 Εικονική σελίδα 6 Εικονική σελίδα 7 Εικονική σελίδα 6 Εικονική σελίδα 7 Εικονική σελίδα 6... Εικονική σελίδα 5 Εικονική σελίδα 5 Εικονική σελίδα 5 Εικονική σελίδα 5 Εικονική σελίδα 4 Εικονική σελίδα 4 Εικονική σελίδα 4 Εικονική σελίδα 4 Εικονική σελίδα 3 Εικονική σελίδα 3 Εικονική σελίδα 3 Εικονική σελίδα 3 Εικονική σελίδα 2 Εικονική σελίδα 2 Εικονική σελίδα 2 Εικονική σελίδα 1 Εικονική σελίδα 1 Εικονική σελίδα 1 Εικονική σελίδα 0 Εικονική σελίδα 0 Εικονική σελίδα 0 Εικονική σελίδα 8 Εικονική σελίδα 8 Εικονική σελίδα 8 Αρχική κατάσταση της κύριας µνήµης µετά τη φόρτωση των οκτώ πρώτων σελίδων Φόρτωση 9 ης σελίδας Αποβολή της 1 ης Φόρτωση 1 ης σελίδας Αποβολή της 2 ης Φόρτωση 2 ης σελίδας Αποβολή της 3 ης 13 Κατάτµηση Μνήµης Ένα πρόγραµµα και τα σχετικά δεδοµένα συνήθως δεν γεµίζουν ακριβώς έναν ακέραιο αριθµό σελίδων. Συνεπώς υπάρχει αχρησιµοποίητος χώρος στην τελευταία σελίδα. Το πρόβληµα αυτό ονοµάζεται εσωτερική κατάτµηση (internal fragmentation) µνήµης καθώς ο χαµένος χώρος είναι στο εσωτερικό µιας σελίδας. Αν το µέγεθος της σελίδας είναι (n) bytes, τότε το µέσο µέγεθος χαµένου χώρου είναι n/2 bytes. Συνεπώς, µε µικρό µέγεθος σελίδας: ελαχιστοποιούνται οι απώλειες και παρουσιάζεται µικρότερη παλινωδία αλλά πολλές σελίδες µεγάλος πίνακας σελίδων, µεγάλος αριθµός καταχωρητών για την αποθήκευσή του και µεγάλος χρόνος µεταφοράς του περιεχοµένου των καταχωρητών από/προς τη µνήµη ότανέναπρόγραµµα ξεκινά/σταµατά και δεν χρησιµοποιείται αποδοτικά το εύρος ζώνης του δίσκου καθώς οι µικρές µεταφορές είναι λιγότερο αποδοτικές από τις µεγάλες. 14 7

Τµηµατοποίηση Σε ένα µονοδιάστατο εικονικό χώρο δ/νσεων (όπως στην περίπτωση της σελιδοποίησης), όπου ενδεχόµενα υπάρχουν αυξανόµενοι πίνακες, µπορεί ένας πίνακας να συγκρουστεί µε κάποιον άλλο. Λύση: να εφοδιαστεί η µηχανή µε πολλούς εντελώς ανεξάρτητους χώρους δ/νσεων που καλούνται τµήµατα (segments). t το κάθε τµήµα αποτελείται από µια γραµµική ακολουθία δ/νσεων τα τµήµατα έχουν διαφορετικό µέγεθος (µήκος) ένα τµήµα αυξάνεται ή µειώνεται ανάλογα µε τις ανάγκες. Ελεύθερος Χρησιµοποιούµενος Εικονικός Χώρος /νσεων Χώρος δ/νσεων για τη στοίβα κλήσεων Το τµήµα είναι λογική οντότητα ορατή στον προγραµµατιστή! δυνατότητα προστασίας του τύπου δεδοµένων ενός τµήµατος. Τµηµατοποίηση 0 Τµήµα 0 Τµήµα 1 Τµήµα 2 Τµήµα 3 Τµήµα 4 15 Τµηµατοποίηση Σελιδοποίηση Ερώτηµα Χρειάζεται να είναι ενήµερος ο χρήστης; Πόσοι γραµµικοί χώροι δ/σεων υπάρχουν; Μπορεί ο εικονικός χώρος δ/σεων > µνήµης; Ευκολία χειρισµού µεταβλητών πινάκων; Γιατί επινοήθηκε η σχετική τεχνική; Σελιδοποίηση Όχι Τµηµατοποίηση Ναι 1 Πολλοί Ναι Όχι Προσοµοίωση µεγάλης µνήµης Ναι Ναι Πολλαπλοί χώροι διευθύνσεων 16 8

Υλοποίηση της Τµηµατοποίησης Ι Υλοποίηση της τµηµατοποίησης µε εναλλαγή (swapping), όπου ολόκληρα τµήµατα εναλλάσσονται µεταξύ µνήµης και δίσκου. Εµφάνιση αχρησιµοποίητων περιοχών στη µνήµη (οπών), φαινόµενο που ονοµάζεται εξωτερική κατάτµηση (external fragmentation). Σύµπτυξη Οπή 17 Σύµπτυξη Ένας τρόπος για την αποφυγή της εξωτερικής κατάτµησης είναι η σύµπτυξη (compaction), δηλ. η µετακίνηση τµηµάτων ώστε να κλείσουν οι µικρές οπές και να παραµείνει µια µεγάλη χρήσιµη οπή : ύστερα από κάθε εµφάνιση οπής, περιοδικά, αφού η εξωτερική κατάτµηση γίνει σοβαρή (π.χ. χ µε µέτρο το ποσοστό της µνήµης που χάνεται στις οπές). Ησύµπτυξη απαιτεί χρόνο που στην (α) περίπτωση είναι υπερβολικά µεγάλος! Εναλλακτικά της σύµπτυξης µπορεί να χρησιµοποιηθεί κατάλληλος αλγόριθµος που θα προσδιορίζει ποιά οπή θα χρησιµοποιηθεί για ένα µεταφερόµενο τµήµα. Χρήση λίστας δ/νσεων και µεγέθους οπών. Αλγόριθµος βέλτιστης προσαρµογής (best fit), επιλέγει τη µικρότερη οπή όπου χωράει το τµήµα (χρονοβόρος). Αλγόριθµος πρώτης προσαρµογής (first fit), επιλέγει την πρώτη οπή όπου χωράει το τµήµα (γρήγορος). Ο αλγόριθµος πρώτης προσαρµογής είναι γενικά καλύτερος εκείνου της βέλτιστης προσαρµογής καθώς ο δεύτερος έχει την τάση να παράγει πάρα πολλές µικρές και άχρηστες οπές! 18 9

Υλοποίηση της Τµηµατοποίησης ΙΙ Υλοποίηση της τµηµατοποίησης µε σελιδοποίηση (paging), όπου τα τµήµατα διαιρούνται σε σελίδες σταθερού µεγέθους και οι σελίδες εναλλάσσονται στη µνήµη. Με το µηχανισµό αυτό µερικές από τις σελίδες ενός τµήµατος µπορεί να βρίσκονται στη µνήµη και µερικές στο δίσκο. Γιατησελιδοποίησηενόςτµήµατος απαιτείται ένας ξεχωριστός πίνακας σελίδων για κάθε τµήµα. Προφανώς, µε τη χρήση σελιδοποίησης εµφανίζεται πάλι το πρόβληµα της εσωτερικής κατάτµησης. 19 Εικονική Μνήµη Κρυφή Μνήµη Οι δύο µηχανισµοί λειτουργούν σε διαφορετικά επίπεδα της ιεραρχίας! Οµοιότητες Εικονική µνήµη: Ολόκληρο το πρόγραµµα διατηρείται στο δίσκο και υποδιαιρείται σε σελίδες σταθερού µεγέθους. Κάποιο υποσύνολο των σελίδων βρίσκεται στην κύρια µνήµη. Αν το πρόγραµµα χρησιµοποιεί κυρίως τις σελίδες που υπάρχουν στη µνήµη, τότε τα σφάλµατα σελίδων θα είναι λίγα και το πρόγραµµα θα εκτελείται γρήγορα. Κρυφή µνήµη: Ολόκληρο το πρόγραµµα διατηρείται στην κύρια µνήµη και υποδιαιρείται σε γραµµές κρυφής µνήµης σταθερού µεγέθους. Κάποιο υποσύνολο των γραµµών βρίσκεται στην κρυφή µνήµη. Αν το πρόγραµµα χρησιµοποιεί κυρίως τις γραµµές που υπάρχουν στην κρυφή µνήµη, τότε οι αποτυχίες κρυφής µνήµης θα είναι λίγες και το πρόγραµµα θα εκτελείται γρήγορα. 20 10

Εικονική Μνήµη Κρυφή Μνήµη ιαφορές Οι αποτυχίες κρυφής µνήµης αντιµετωπίζονται από το υλικό, ενώ τα σφάλµατα σελίδων στην περίπτωση της εικονικής µνήµης αντιµετωπίζονται από το λειτουργικό σύστηµα. Οι γραµµές κρυφής µνήµης είναι κατά πολύ µικρότερες από τις σελίδες. 21 11