Παρουσίαση του powerpoint · 2019-05-24 · Ο πίνακας σελίδων...

69
Άσκηση πράξη Σελιδοποίηση Ιδεατές και Πραγματικές Διευθύνσεις

Upload: others

Post on 25-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Άσκηση πράξη

Σελιδοποίηση

Ιδεατές και Πραγματικές Διευθύνσεις

Page 2: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Η μνήμη RAM

• Η κύρια μνήμη είναι, μετά από το χρόνο χρήσης της CPU, ο δεύτερος πιο σημαντικός πόρος σε ένα υπολογιστικό σύστημα.

• Ακόμη και με σχετικά μεγάλο μέγεθος η ποσότητα τηςδιαθέσιμης κύριας μνήμης, συχνά δεν είναι ικανοποιητική.

• Η λήψη πληροφοριών από τον σκληρό δίσκο αντί της κύριας μνήμης καθυστερεί υπέρμετρα το σύστημα.– 60ns χρόνος προσπέλασης της κύριας μνήμης.– 10ms (=10,000,000ns) μέσος χρόνος προσπέλασης των

σκληρών δίσκων.• Πολλές διεργασίες πρέπει να συνυπάρχουν στη μνήμη.

Page 3: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Διαχείριση Μνήμης: Συνεργασίαhardware & Operating System

• Η διαχείριση μνήμης επιτυγχάνεται μέσω μιας πολύπλοκηςσχέσης μεταξύ του υλικού μέρους του επεξεργαστή και τουλογισμικού του Λ.Σ.

• Οι βασικές τεχνικές διαχείρισης μνήμης ανταγωνίζονται γιατη δέσμευση περιορισμένου χώρου στην κύρια μνήμη.

• Η λύση της μεγαλύτερης κύριας μνήμης είναι συνήθως απαγορευτικά δαπανηρή.

• Η δεύτερη λύση είναι η δημιουργία της ψευδαίσθησης ότι υπάρχει περισσότερη μνήμη από όση είναι εγκατεστημένη και αποτελεί τη βασική ιδέα της ιδεατής μνήμης (virtual memory).

Page 4: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Μνήμη και CPU

Page 5: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Σύνδεση και Φόρτωση

Το πρώτο βήμα κατά τη δημιουργία μιας ενεργής διεργασίας είναι η φόρτωση ενός προγράμματος στην κύρια μνήμη και η δημιουργία της εικόνας διεργασίας.

Πρόγραμμα στο δίσκο

Page 6: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

• Τα συστήματα ιδεατής μνήμης καλύπτουν τις ανάγκες των διεργασιών μέσω της ψευδαίσθησης ότι έχουν στη διάθεσή τους περισσότερη κύρια μνήμη από όση διαθέτει το υπολογιστικό σύστημα.

• Έτσι υπάρχουν δύο τύποι διευθύνσεων στα συστήματα ιδεατής μνήμης :– Αυτές στις οποίες αναφέρονται οι διεργασίες (ιδεατές ή

λογικές ή εικονικές διευθύνσεις – virtual addresses).– Αυτές που είναι διαθέσιμες στην κύρια μνήμη (φυσικές ή

πραγματικές διευθύνσεις – real addresses).

Ιδεατές & Πραγματικές Διευθύνσεις

Page 7: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Εικονική και φυσική μνήμη

Page 8: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Διευθυνσεις

• Μια λογική διεύθυνση είναι μια αναφορά σε μια θέση μνήμηςανεξάρτητα από τη φυσική δομή και οργάνωση της μνήμης, καθώςκαι από την τρέχουσα εκχώρηση των δεδομένων στη μνήμη. Οιcompilers παράγουν κώδικα στον οποίο όλες οι αναφορές μνήμηςείναι λογικές διευθύνσεις. Οι λογικές διευθύνσεις παράγονται απότον επεξεργαστή. Πριν πραγματοποιηθεί η πρόσβαση στην κύριαμνήμη γίνεται μετάφραση στη φυσική διεύθυνση.

• Μια σχετική διεύθυνση είναι ένα παράδειγμα λογικής διεύθυνσης,στο οποίο η διεύθυνση εκφράζεται ως μια θέση σχετική με έναγνωστό σημείο του προγράμματος (π.χ. η αρχή).

• Μια φυσική ή απόλυτη διεύθυνση είναι μια φυσική θέση στηνκύρια μνήμη.

Page 9: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Μετάφραση των λογικών σεφυσικών διευθύνσεων μνήμης (1/2)

•Οι σχετικές διευθύνσεις είναι ο πλέον συνηθισμένος τύπος λογικών διευθύνσεων που χρησιμοποιούνται στα εκτελέσιμα αρχεία (modules προγραμματισμού). Αυτά φορτώνονται στην κύρια μνήμη με όλες τις αναφορές προς τη μνήμη σε σχετική μορφή.•Οι φυσικές διευθύνσεις «υπολογίζονται» καθώς εκτελούνταιοι εντολές.•Για να υπάρχει επαρκής απόδοση η μετάφραση από σχετικές σε φυσικές διευθύνσεις γίνεται από το υλικό.

Page 10: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Μετάφραση των λογικών σεφυσικών διευθύνσεων μνήμης (2/2)

•Τα προγράμματα των χρηστών διαχειρίζονται μόνονλογικές διευθύνσεις και δεν «βλέπουν» ποτέ τις πραγματικές φυσικές διευθύνσεις.•Η μονάδα διαχείρισης μνήμης (MemoryManagement Unit - MMU) είναι μια συσκευή πουαντιστοιχεί τις εικονικές σε φυσικές διευθύνσεις.

Page 11: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Η θέση και ηλειτουργία της MMU

Page 12: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Οι καταχωρητές βάσης και ορίου χρησιμοποιούνταιγια τη μετάφραση διευθύνσεων και την προστασία

• Όταν μια διεργασία περιέρχεται σε κατάσταση εκτέλεσης ένας καταχωρητής βάσης της CPU(base register) φορτώνεται με τη φυσική διεύθυνση εκκίνησης της διεργασίας.

• Ένας καταχωρητής ορίου (bound or limit register) φορτώνεται με τη φυσική διεύθυνση τερματισμού της διεργασίας.

• Όταν προκύψει μια σχετική διεύθυνση, αυτή προστίθεται στο περιεχόμενο του καταχωρητή βάσης για να αποκτηθεί η φυσική διεύθυνση που συγκρίνεται με το περιεχόμενο τουκαταχωρητή ορίου.

• Αν η διεύθυνση είναι εκτός ορίων, δημιουργείται μια διακοπή (interrupt) προς το Λ.Σ.

• Αυτό παρέχει προστασία υλικού: κάθε διεργασία μπορεί να έχει πρόσβαση μόνον στη δικήτης εικόνα (process image).

Συμπέρασμα : Το υλικό μέρος του επεξεργαστή και το λογισμικό του Λ.Σ. μεταφράζουν τιςαναφορές στη μνήμη που περιέχει ο κώδικας του προγράμματος σε πραγματικές διευθύνσειςτης φυσικής μνήμης.

Page 13: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

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

Page 14: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Καταχωρητές βάσης και ορίου

Page 15: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Λογική οργάνωση

• Η κύρια μνήμη σε ένα υπολογιστικό σύστημα οργανώνεται ως ένας γραμμικός, μονοδιάστατος χώρος διευθύνσεων.

• Η δευτερεύουσα μνήμη, σε φυσικό επίπεδο, οργανώνεται μεπαρόμοιο τρόπο.

• Τα προγράμματα οργανώνονται και γράφονται σε ενότητες (modules).

• Οι ενότητες αυτές γράφονται και μεταφράζονται ανεξάρτητα.• Στις ενότητες δίνονται διαφορετικοί βαθμοί προστασίας

(read-only, execute-only).• Οι ενότητες μπορούν να διαμοιράζονται μεταξύ των

διεργασιών.

Page 16: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Προστασία και κοινή χρήση της μνήμης

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

•Το Λ.Σ. πρέπει να επιτρέπει σε πολλές διεργασίες να έχουν πρόσβαση στην ίδια περιοχή της μνήμης.

–Είναι προτιμότερο να επιτρέπεται η πρόσβαση σε μια διεργασία (σε ένα άτομο) στο ίδιο αντίγραφο του προγράμματος από το ναυπάρχει ένα αντίγραφο για κάθε μια διεργασία.

•Για να ικανοποιηθούν αυτές τις ανάγκες χρησιμοποιείται ωςεργαλείο ή τμηματοποίηση της ιδεατής μνήμης.

Page 17: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Τμηματοποίηση ιδεατής μνήμης • Η ιδεατή μνήμη χρησιμοποιεί τρεις βασικές τεχνικές:

– Σελιδοποίηση (paging).– Κατάτμηση (segmentation) (τείνει να

εγκαταλειφθεί!!!).– Κατάτμηση με σελιδοποίηση (segmentation with

paging).

Page 18: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Σελιδοποίηση• Η κατάτμηση της μνήμης σε μικρά ίσου μεγέθους

τμήματα (blocks, chunks) και η διαίρεση κάθεδιεργασίας σε τμήματα του ίδιου μεγέθους.

• Τα τμήματα μιας διεργασίας λέγονται σελίδες(pages)και τα

τμήματα της μνήμης πλαίσια (frames).• Ο εικονικός χώρος διευθύνσεων διαμοιράζεται σε

σελίδες σταθερού μεγέθους, ενώ η φυσική μνήμηδιαμοιράζεται σε πλαίσια σελίδας (page frames)(μεγέθους ίδιου με τη σελίδα).

• Μια σελίδα μπορεί να τοποθετηθεί σε οποιοδήποτε πλαίσιο σελίδας.

Page 19: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Οι σελίδες βρίσκονται στην εικονικήμνήμη ενώ τα πλαίσια στη φυσική μνήμη

Page 20: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Virtual Memory VS swapping • Η ιδεατή μνήμη δεν είναι

μόνο η χρήση χώρου στο δίσκο για να επεκταθεί το φυσικό μέγεθος της μνήμης (αυτό έρχεται ως αποτέλεσμα).

• Η ιδεατή μνήμη «ξεγελάει» τα προγράμματα ώστε να θεωρούν ότι χρησιμοποιούν ένα μεγάλο συνεχόμενο εύρος διευθύνσεων (ενώ δε συμβαίνει αυτό).

Page 21: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Αντιστοίχιση πλαισίων σε σελίδες

Page 22: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Ο πίνακας σελίδων της διεργασίας

• Το Λ.Σ. διατηρεί:– ένα πίνακα σελίδων (page table) για κάθε διεργασία που

περιέχει τη θέση πλαισίου για κάθε σελίδα της διεργασίας.– μια λίστα των ελεύθερων πλαισίων, με όλα τα πλαίσια στην

κύρια μνήμη που είναι ελεύθερα και διαθέσιμα για τις σελίδες.• Η διεύθυνση μνήμης μέσα στο πρόγραμμα (λογική διεύθυνση)

αποτελείται από έναν αριθμό σελίδας και μια μετατόπιση (offset)εντός της σελίδας

• Ο επεξεργαστής χρησιμοποιεί τον πίνακα σελίδων για να παράγει τη φυσική διεύθυνση (αριθμός πλαισίου, μετατόπιση) πουαντιστοιχεί σε μια λογική διεύθυνση (αριθμός σελίδας, μετατόπιση).

Page 23: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Αντιστοίχηση σελίδωνδιεργασιών με ελεύθερα πλαίσια

Page 24: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Αντιστοίχιση λογικών σε φυσικέςδιευθύνσεις • Διαίρεση της διεύθυνσης από

τη CPU σε δύο τμήματα:– Αριθμός σελίδας ( p ).– Μετατόπιση στη σελίδα ( d ).

• Αριθμός σελίδας:– Δείκτης στον πίνακα σελίδων.– Ο πίνακας σελίδων περιέχει τη

διεύθυνση βάσης της σελίδαςστη φυσική μνήμη.

• Μετατόπιση στη σελίδα:– Προστίθεται στη διεύθυνση

βάσης για να βρεθεί ηπραγματική διεύθυνση στη φυσική μνήμη.

• Μέγεθος σελίδας = 2d bytes.

Page 25: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

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

Page 26: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Παράδειγμα - 1

Page 27: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Παράδειγμα - 2

Page 28: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Η σελιδοποίηση είναι ανάλογη με την τμηματοποίηση σταθερού μεγέθους, με τις εξής διαφορές:

1.Τα τμήματα δεν χρειάζεται να είναι συνεχόμενα.2. Τα τμήματα είναι αρκετά μικρά.3.Ένα πρόγραμμα μπορεί να απασχολεί περισσότερα από ένα τμήματα.

Η σπατάλη μνήμης οφείλεται στον εσωτερικό κατακερματισμό που είναι κλάσμα της τελευταίας σελίδας της διεργασίας.Εξωτερικός κατακερματισμός δεν υπάρχει. (Γιατί;)

Τμηματοποίηση σταθερού μεγέθους

Page 29: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Χρησιμοποιούνται δυνάμεις του 2

των διευθύνσεων κατά τη στιγμή της εκτέλεσης.

• Το μέγεθος σελίδας και πλαισίου είναι δύναμη του 2 (συνήθως μεταξύ 512 bytes και 8192 bytes).

• Αποδεικνύεται ότι η σχετική διεύθυνση που ορίζεται σε σχέση με την αρχή του προγράμματος και η λογική διεύθυνση που εκφράζεται ως ένας αριθμός σελίδας και μετατόπιση, είναι ΙΔΙΕΣ.

• Οφέλη της χρήσης μεγεθών σελίδας που είναι δυνάμεις του 2:– Το σχήμα της λογικής διευθυνσιοδότησης δεν είναι εμφανές

στον προγραμματιστή.– Είναι εύκολη η εφαρμογή μιας συνάρτησης σε επίπεδο

υλικού μέρους που θα πραγματοποιεί δυναμική μετάφραση

Page 30: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Λογικές διευθύνσεις -παραδείγματα

Page 31: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Σελιδοποίηση

Page 32: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Εσωτερική λειτουργία τηςMMU με 16 σελίδες των 4 KB

Page 33: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Κάθε διεργασία έχει το δικότης εικονικό χώρο διευθύνσεων

• Κάθε διεργασία έχει τον δικό της εικονικό χώρο διευθύνσεων, άρα και τον δικό της πίνακα σελίδων που αποθηκεύεται στην κύρια μνήμη.

• Κάθε καταχώρηση (θέση) του πίνακα σελίδων περιέχει τοναριθμό πλαισίου της αντίστοιχης σελίδας στην κεντρική μνήμη.

• Επιπλέον απαιτούνται δυο bit:– ένα bit (Present bit) που θα δείχνει αν μια σελίδα βρίσκεται στην

κεντρική μνήμη ή όχι.– ένα bit (Modify bit) για να δείχνει αν η σελίδα έχει αλλάξει από την

τελευταία φορά που φορτώθηκε στην κεντρική μνήμη. Αν δεν έχει γίνει αλλαγή, τότε η σελίδα δεν πρέπει να γραφεί στο δίσκο όταν χρειάζεται να γίνει εναλλαγή.

Page 34: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Είσοδοι πίνακα σελίδων

Page 35: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Παράδειγμα

Page 36: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Πολλαπλές διεργασίεςστη φυσική μνήμη

Page 37: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Πίνακες σελίδων – valid bitMemory resident

page table(physical page or disk address) Physical Memory

Disk Storage (swap file orregular file system file)

Valid

1101110101

Αν valid=1 βρίσκεται στη RAM

Virtual Page Number

Page 38: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Προστασία Κάθε είσοδος στον πίνακα σελίδων περιέχει πληροφορίες για τα δικαιώματα πρόσβασης (access rights).

Page 39: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Αντιστοίχιση διευθύνσεων :Πίνακας σελίδων

Page 40: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Πίνακες σελίδων • Ο πίνακας σελίδων έχει μέγιστο πλήθος εισόδων, όσο και το πλήθος των

εικονικών σελίδων της διεργασίας.• Ο πίνακας σελίδων είναι μεταβλητού μήκους (το μήκος του εξαρτάται από

το μέγεθος της διεργασίας) και πρέπει να βρίσκεται στην κύρια μνήμη γιανα είναι προσπελάσιμος.

• Ολόκληρος ο πίνακας σελίδων είναι πιθανόν να καταλαμβάνει πολύ μεγάλο μέρος της κεντρικής μνήμης.

• Το μέγεθος της μνήμης που αφιερώνεται στους πίνακες σελίδων μπορείνα γίνει απαράδεκτα μεγάλο.

• Μεγαλύτερο μέγεθος σελίδας είναι μια ενδεδειγμένη λύση;• Τα περισσότερα συστήματα ιδεατής μνήμης αποθηκεύουν τους πίνακες

των σελίδων στην ιδεατή μνήμη, αντί για τη φυσική. Όταν μια διεργασία εκτελείται, ένα τμήμα του πίνακα σελίδων της βρίσκεται στην κεντρική μνήμη.

Page 41: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Καταχωρητές• Κάθε πίνακας σελίδων χρησιμοποιεί τους

καταχωρητές:– Page Table Base Register (PTBR): κρατά την αρχική

φυσική διεύθυνση του πίνακα σελίδων της εκτελούμενης διεργασίας.

– Page-table length register (PRLR): το υλικό ελέγχει αν ο αριθμός σελίδας βρίσκεται εντός του ορίου και το μέγεθος του πίνακα σελίδων περιορίζεται.

• Ορισμένοι επεξεργαστές (Pentium) χρησιμοποιούνπίνακες σελίδων πολλαπλών επιπέδων για να οργανώσουν καλύτερα μεγάλους πίνακεςσελίδων.

Page 42: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Page tables Πολλαπλών Επιπέδων

Page 43: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Παράδειγμα Πίνακα σελίδων •Αν χρησιμοποιούνται 32 bits για εικονικό χώρο διευθύνσεων μεμέγεθος σελίδων 4KB (=212), τότε ένας πίνακας σελίδων μπορεί ναέχει 220 εισόδους (θέσεις).• Αν κάθε θέση του καταλαμβάνει 4 bytes τότε δεσμεύεται χώροςκύριας μνήμης :– 220 Χ 4 bytes = 222 bytes = 4 MB (ανά πίνακα διεργασίας).

• Αν στο σύστημα «τρέχουν» 25 διεργασίες τότε απαιτείται χώροςγια τους πίνακες σελίδων : 25 Χ 4 ΜΒ = 100 ΜΒ!!!!• Μέγεθος φυσικής μνήμης 4Gb είναι συνηθισμένο και πιθανό ;•Ήδη χρησιμοποιείται διευθυνσιοδότηση 64-bits για την αύξησητου εικονικού χώρου διευθύνσεων:– Intel Itanium, AMD Clawhammer, DEC Alpha.

Page 44: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

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

Page 45: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Κατάτμηση (Segmentation) (2/2)

Page 46: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Μετατροπή διεύθυνσηςσε σύστημα με κατάτμηση (1/2)

Page 47: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

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

Page 48: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Μετατροπή διεύθυνσηςσε σύστημα με κατάτμηση (2/2)

Page 49: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

1η Άσκηση• Ποιο είναι το μεγαλύτερο μέγεθος προγράμματος που χωρά

σε ένα πίνακα σελίδων σε ένα σύστημα που χρησιμοποιεί φυσικές διευθύνσεις 32-bit και μέγεθος σελίδας 1K;

ΛΥΣΗΦΥΣ. ΔΙΕΥΘΥΝΣΗ 32 bits-> χώρος διευθύνσεων 232 διαφορετικές διευθύνσεις RAM.Μέγεθος σελίδας 1K= 210 διαφορετικά offset μέσα στη σελίδα.ΑΡΑ : αφαιρούμε από τα 32 bit τα bit που είναι για το offset και βρίσκουμεότι μέγιστο πλήθος σελίδων = 232/210=222 .Κάθε διεύθυνση των 32 bits (=4 bytes) πρέπει να χωρά σε κάθε μια από τις 222 θέσεις του πίνακα σελίδων άρα μέγεθος του πίνακα σελίδων: 222 X 4bytes= 16Mb.Μεγαλύτερο μέγεθος προγράμματος: 16Mb.

Page 50: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

2η Άσκηση (1/3)

• Δίνεται ο πίνακας σελίδων μιας διεργασίας:

• Ποιο είναι το μικρότερο δυνατό μέγεθος σελίδας (ώστε να μπορούν να διευθυνσιοδοτηθούν οι διευθύνσεις 1234, 3333);

• Δώστε σε δυαδική μορφή τη φυσική διεύθυνση της εικονικής διεύθυνσης 1234.

• Δώστε σε δεκαδική μορφή τη φυσική διεύθυνση της εικονικής διεύθυνσης 3333.

Page No Frame No

0 5

31

5 2

5 σελίδες

2 4

3 0

4 1

Page 51: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

2η Λύση Άσκησης (2/3)

Γιατί το μέγεθος σελίδας είναι 1 K;• Έστω μέγεθος σελίδας 512 bytes (=29 bytes).• Η εικονική διεύθυνση 3333 απαιτεί 6 γεμάτες

σελίδες (=512 Χ 6=3072) και στην 7η σελίδα μετατόπιση (offset)=3333-3072=261.

• Άρα απαιτούνται αριθμοί σελίδων0,1,2,3,4,5,6,7.

Page 52: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

2η Λύση Άσκησης (3/3)

• Ο πίνακας όμως, δεν έχει αριθμό σελίδας μεγαλύτερο του 5. Στην περίπτωση που θεωρηθεί ως μέγεθος σελίδας 512 bytes, αυτομάτως η διεύθυνση 3333 είναι εκτός μνήμης. ΑΔΥΝΑΤΟ ΔΙΟΤΙ μας δίνεται ότι ο πίνακας σελίδων της διεργασίας υφίσταται.

ΕΠΟΜΕΝΩΣ Ο ΕΠΟΜΕΝΟΣ ΑΡΙΘΜΟΣ ΠΟΥ ΥΠΑΡΧΕΙ ΩΣ ΔΥΝΑΜΗ ΤΟΥ 2 ΕΊΝΑΙ 210 =1024 bytes=1ΚΒ.

Page 53: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

3η ΆσκησηΘεωρείστε ένα λογικό χώρο διευθύνσεων πουαποτελείται από 1024 σελίδες με μέγεθος κάθε σελίδας 1024 (=210) bytes, που αντιστοιχείται σε μια φυσική μνήμη που αποτελείται από 32 frames.

Πόσα bits υπάρχουν στη λογική διεύθυνση;

Πόσα bits υπάρχουν στη φυσική διεύθυνση;

Page 54: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

4η Άσκηση

• Σε ένα σύστημα που χρησιμοποιεί σελιδοποίηση μια διεργασία δεν μπορεί να έχει πρόσβαση σε μνήμη που δεν της ανήκει. Γιατί;

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

Page 55: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

• Ένα σύστημα χρησιμοποιεί διευθύνσεις των 32 bitsκαι έχει κεντρική μνήμη 4 MB. Το μέγεθος σελίδαςείναι 1 K.

Ποιο είναι το μέγεθος του πίνακα σελίδων;

5η Άσκηση

Page 56: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

5η Άσκηση (2/2)

• Ο πίνακας σελίδων περιέχει το πεδίο του αριθμού σελίδας της εικονικής διεύθυνσης. Έτσι το πλήθος των γραμμών στον πίνακα σελίδων είναι ίσο με τον αριθμό των εικονικών σελίδων:

Εικονικές σελίδες = 232/210=222= 4Μ σελίδες.• Το πλάτος κάθε γραμμής στον πίνακα σελίδων είναι ίσο με το

πλάτος του αριθμού σελίδας στην εικονική διεύθυνση δηλ. 22 bits. Άρα το μέγεθος του πίνακα σελίδων είναι:– Μέγεθος πίνακα σελίδων = πλήθος γραμμών * μέγεθος

γραμμής.– Μέγεθος πίνακα σελίδων = 222*22 bits =11.5 Mbytes!!

Page 57: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

6η Άσκηση

Ο λογικός χώρος διευθύνσεων σε ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση αποτελείται από 32 δυαδικά ψηφία. Το μέγεθος κάθε σελίδας είναι 8 Κ. Πόσες θέσεις θα πρέπει να έχει ο πίνακας σελίδων για να υποστηριχθεί όλος ο λογικός χώρος διευθύνσεων.

Page 58: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

6η Άσκηση-Λύση

Η σελίδα αποτελείται από 8Κ bytes (= 213) άρα χρειάζονται 13 δυαδικά ψηφία για να προσδιορίσουν τη μετατόπιση (offset) για καθένα από αυτά.

Από τα 32 bit της λογικής διεύθυνσης θα περισσέψουν (32-13) = 19 ψηφία για να προσδιορίσουν τον αριθμό σελίδας. Θα μπορούμε να έχουμε

219 (512Κ) σελίδες και αυτός θα πρέπει να είναι και ο αριθμός θέσεων στον πίνακα σελίδων.

Page 59: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

7η Άσκηση

Ποια είναι η μετατόπιση (offset) στο πλαίσιο που ανήκει η φυσική διεύθυνση 0xABCD αν το μέγεθος του πλαισίου είναι 512 Bytes.

Page 60: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

7η Άσκηση Λύση

Για μέγεθος σελίδας 512 θα χρειαστούμε 9 δυαδικά ψηφία για τον προσδιορισμός της μετατόπισης.

Άρα στην διεύθυνση που μας δίνεται η μετατόπιση θα προσδιορίζεται από τα 9 λιγότερο σημαντικά

ψηφία της διεύθυνσης. Ο δεκαεξαδικός αριθμός ABCD σε δυαδική μορφή είναι ο

1010 1011 1100 1101

Η μετατόπιση είναι ο 1 1100 1101 δηλαδή ο δεκαδικός αριθμός (256+128+64+8+4+1) = 461

Page 61: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Άσκηση Επανάληψης

Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bitκαι υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

A.Από πόσες σελίδες αποτελείται ο ιδεατός χώρος διευθύνσεων; Β. Ποιο θα πρέπει να είναι το μέγεθος σελίδας στο σύστημα (θεωρούμε ότι όλες οι πιθανές

διευθύνσεις θα πρέπει να μπορούν να αντιστοιχηθούν σε φυσικές διευθύνσεις) Γ. Η ιδεατή διεύθυνση (hex) 0xCB5 αντιστοιχίζεται σε κάποια θέση στην φυσική μνήμη αυτή την

στιγμή; Δ. Ποια λογική διεύθυνση αντιστοιχίζεται στην φυσική διεύθυνση 0x401; Ε.Σε ποια φυσική διεύθυνση αντιστοιχίζεται η λογική διεύθυνση 0xΒF0;

Bit Παρουσίας Αριθμός Πλαισίου0 -1 01 10 -

Page 62: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

8η Άσκηση

Θεωρούµε ένα σύστηµα εναλλαγής στο οποίο η µνήµη περιέχει τα ακόλουθα µεγέθη κενών κατά σειρά: 10Κ, 4Κ, 20Κ, 18Κ, 7Κ, 9Κ, 12Κ και 15Κ. Ποιο κενό χρησιµοποιείται για καθεµιά από τις ακόλουθες τρεις αιτήσεις, όταν αυτές φτάνουν µε την εξής σειρά:

12Κ, 10Κ, 8Κ, µε τον αλγόριθµο πρώτης τοποθέτησης, τον αλγόριθµο καλύτερης τοποθέτησης, τον αλγόριθµοχειρότερης τοποθέτησης και τον αλγόριθµο επόµενηςτοποθέτησης;

Page 63: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

8η Άσκηση Λύση

Κενά: Α 10Κ, Β 4Κ, Γ 20Κ, ∆ 18Κ, Ε 7Κ, Ζ 9Κ, Η 12Κ, Θ 15Κ

Page 64: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

8η Άσκηση Λύση

Μια µηχανή έχει διάστηµα διευθύνσεων των 32 bits και σελίδες µεγέθους 8Κ.

Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µια λέξη των 32 bits για κάθε καταχώρισή του. Όταν ξεκινάει µια διαδικασία, ο πίνακας σελίδων αντιγράφεται από τη µνήµη στο υλικό, µε ρυθµό µια λέξη κάθε 100 nsec.

Αν κάθε διαδικασία εκτελείται για 100 msec(συµπεριλαµβανοµένου και του χρόνου για τη φόρτωση του πίνακα σελίδων), ποιο είναι το ποσοστό του χρόνου της CPU που αφιερώνεται στη φόρτωση του πίνακα σελίδων;

Page 65: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

8η Άσκηση Λύση

Για να µπορέσουµε να προσδιορίσουµε το µέγεθος του πίνακα σελίδων, πρέπει πρώτα να υπολογίσουµε πόσα bits χρησιµοποιούνται για µετατόπιση (αφού ξέρου-µε το µέγεθος της σελίδας). Άρα, αφού η σελίδα έχει µέγεθος 8Κ, αυτό σηµαίνει ότι 8Κ = 2^3*2^10 και ότι χρειαζόµαστε 13 bits για τη µετατόπιση. Ξέρουµε επίσης από τα δεδοµένα της άσκησης ότι το διάστηµα των διευθύνσεων είναι 32 bits. Το µέγεθος του πίνακα σελίδων είναι 32 – 13 = 19 bits. Άρα ο πίνακας σελίδων έχει524.288 εγγραφές (λέξεις).Για την αντιγραφή του πίνακα σελίδων από τη µνήµη στο υλικό χρειάζεται χρόνοςίσος µε (524288 * 100 nsec) = 52428800 nsec = 52.428800 msec.Στα 100 msec εκτέλεσης µιας εντολής τα 52.4288 msec χρησιµοποιούνται για τηνφόρτωση του πίνακα. ∆ηλαδή το ποσοστό του χρόνου της CPU που αφιερώνεταιστην φόρτωση του πίνακα σελίδων είναι 52%.

Page 66: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Έστω µια διαδικασία Ν σελίδων και µια εκτέλεσή της, στη διάρκεια της οποίας χρησιµοποιούνται p*N διαφορετικές σελίδες και γίνονται A προσπελάσεις

στη µνήµη.

Υπολογίστε το µέσο χρόνο προσπέλασης στη µνήµη χωρίς ιδεατή µνήµη ως εξής:

(χρόνος φόρτωσης από δίσκο σε µνήµη των Ν σελίδων+ το χρόνο των Απροσπελάσεων) / Α.

Τώρα υπολογίστε το µέσο χρόνο προσπέλασης στη µνήµη µε ιδεατή µνήµη ως εξής:

(χρόνος φόρτωσης των p*N σελίδων (ξεχωριστά η καθεµία)+ χρόνο των Α προσπελάσεων)/Α.

Αν θεωρήσουµε ότι ο µέσος χρόνος εξυπηρέτησης σφάλµατος σελίδας είναι 10ms

και ο χρόνος προσπέλασης µνήµης είναι 1µs τότε:

Τελικός χρόνος προσπέλασης = (1 – p) x (1 µs) + p x (10 ms)

= ((1 – p) + 10000 x p µs

= (1+9999 x p) µs

Βλέπουµε ότι ο τελικός χρόνος προσπέλασης είναι ευθέως ανάλογος του «ρυθµού

σφαλµάτων σελίδας» (page fault rate). Αν µια προσπέλαση στις χίλιες προκαλεί

ένα σφάλµα σελίδας, τότε ο τελικός χρόνος προσπέλασης είναι 11µs. Ο υπολογι-

στής θα είχε καθυστέρηση 10 φορές εξαιτίας της σελιδοποίησης ζήτησης.

Page 67: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Άσκηση 9

Ένας Η/Υ εκτελεί µια εντολή σε 1µsec. Καθεµιά από αυτές τις εντολές κάνει 2 προσπελάσεις στη µνήµη. Το 90% των προσπελάσεων γίνονται µέσω συσχετιστικής µνήµης, και στην περίπτωση αυτή δεν έχουµε πρόσθετες καθυστερήσεις. Όµως,

όταν µια προσπέλαση γίνει µέσω πίνακα σελίδων, τότε υπάρχει πρόσθετη καθυστέρηση 0,5µsec. Το κάθε λάθος σελίδας συνεπάγεται πρόσθετη καθυστέρηση 20msec. Προσδιορίστε το ρυθµό λαθών σελίδας έτσι ώστε ο µέσος χρόνος εκτέλεσης µιας εντολής να είναι µικρότερος από 1,2µsec.

Page 68: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Άσκηση 9-Λύση

Στην περίπτωση που δε συµβαίνουν λάθη σελίδων, έχουµεµέσο χρόνο εκτέλεσης

κάθε εντολής ίσο µε:

0,9 * 1µsec + 0,1 * (1 + 0,5) µsec

= (0,9 + 0,15) µsec

= (1,05) µsec

Page 69: Παρουσίαση του PowerPoint · 2019-05-24 · Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό, µε µιαλέξη των 32

Άσκηση 9-Λύση

Έστω f ο ρυθµός µε τον οποίο συµβαίνουν λάθη σελίδων. Τότε, ο µέσος χρόνος

εκτέλεσης εντολών είναι: 1,05 µsec * (1–f) + (1,05 µsec + 20 msec)f = 1,05 µsec – 1,05f µsec + 1,05f µsec + 20000f µsec = 20000f µsec + 1,05 µsec Θέλουµε ο µέσος χρόνος εκτέλεσης εντολών να είναι µικρότερος

από 1,2µsec. Άρα 20000f µsec + 1,05 µsec < 1,2 µsec f < (1,2 – 1,05) / 20000 µsec f < 0,15 / 20000 µsec].