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

Σχετικά έγγραφα
Διαχείριση Κύριας Μνήμης

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

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

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

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

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

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

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

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

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

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

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος

Διασύνδεση Εισόδου-Εξόδου

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

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

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

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

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

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

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

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

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

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

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

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

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

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

Διεργασίες και Νήματα (2/2)

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

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

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

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

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΑΕΠΠ Ερωτήσεις θεωρίας

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Λειτουργικά συστήματα πραγματικού χρόνου

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 5 Ανάπτυξη Προγράμματος σε Γλώσσα Λίστας Εντολών

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 11ο μάθημα: Είσοδος- Εξοδος (Ε/Ε)

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

ΛΟΓΙΣΜΙΚΟ (software)

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Κύρια Μνήμη (1) CPU0 καταχωρητές $ CPU1 καταχωρητές $ Μονάδες Ε/Ε Κύρια Μνήμη Κάθε CPU αναφέρεται απευθείας σε καταχωρητές και μνήμη Συσκευές Ε/Ε εκτελούν Απευθείας Πρόσβαση στη Μνήμη (Drect Memory Access - DMA)

Κύρια Μνήμη (1) CPU0 καταχωρητές $ CPU1 καταχωρητές $ Μονάδες Ε/Ε DMA Κύρια Μνήμη Κάθε CPU αναφέρεται απευθείας σε καταχωρητές και μνήμη Συσκευές Ε/Ε εκτελούν Απευθείας Πρόσβαση στη Μνήμη (Drect Memory Access - DMA)

Μεταγλώττιση Φόρτωση - Εκτέλεση πηγαίος κώδικας μεταγλωττιστής χρόνος μεταγλώττισης (comple tme) κι άλλα objects object συνδέτης δυναμικές βιβλιοθήκες εκτελέσιμο δυναμικός συνδέτης / φορτωτής χρόνος φόρτωσης (load tme) τελικό πρόγραμμα στην κύρια μνήμη χρόνος εκτέλεσης (executon tme)

Μετατοπίσιμος κώδικας func1 func2 Μετατοπίσιμος κώδικας (πχ. οbject) movl $0x5, val call func2 ret func2 func 64 70 76 Συνδέτης / φορτωτής func2 5000 Απόλυτος κώδικας movl $0x5, val call func2 ret func2 val 4 bytes val 7010 4 bytes func+2 &val func+8 &func2 Πίνακας Μετατόπισης Ο κώδικας διορθώνεται με βάση τον πίνακα μετατόπισης Στο χρόνο μεταγλώττισης (συνδέτης) ή εκτέλεσης (φορτωτής)

Μετατοπίσιμος κώδικας func1 func2 Μετατοπίσιμος κώδικας (πχ. οbject) movl $0x5, val call func2 ret func2 func 64 70 76 Συνδέτης / φορτωτής func2 5000 Απόλυτος κώδικας movl $0x5, 7010 val call func2 ret func2 val 4 bytes val 7010 4 bytes func+2 &val func+8 &func2 Πίνακας Μετατόπισης Ο κώδικας διορθώνεται με βάση τον πίνακα μετατόπισης Στο χρόνο μεταγλώττισης (συνδέτης) ή εκτέλεσης (φορτωτής)

Μετατοπίσιμος κώδικας func1 func2 Μετατοπίσιμος κώδικας (πχ. οbject) movl $0x5, val call func2 ret func2 func 64 70 76 Συνδέτης / φορτωτής func2 5000 Απόλυτος κώδικας movl $0x5, 7010 val call $5000 func2 ret func2 val 4 bytes val 7010 4 bytes func+2 &val func+8 &func2 Πίνακας Μετατόπισης Ο κώδικας διορθώνεται με βάση τον πίνακα μετατόπισης Στο χρόνο μεταγλώττισης (συνδέτης) ή εκτέλεσης (φορτωτής)

Σελιδοποίηση (1) Ο πιο συχνός τρόπος μετάφρασης διευθύνσεων Ο χώρος φυσικών διευθύνσεων χωρίζεται σε πλαίσια σταθερού μεγέθους (π.χ., 4096 bytes) Ο χώρος λογικών / εικονικών διευθύνσεων χωρίζεται σε σελίδες, ίδιου μεγέθους με τα πλαίσια Κάθε σελίδα αντιστοιχίζεται σε οποιοδήποτε πλαίσιο χωρίς περιορισμό συνεχόμενης αποθήκευσης η διεργασία ζει σε διάσπαρτα φυσικά τμήματα αλλά σε γραμμικό χώρο εικονικών διευθύνσεων Το Υλικό (MMU) αναλαμβάνει τη μετάφραση

Σελιδοποίηση (2) Χώρος εικονικών διευθύνσεων Χώρος εικονικών διευθύνσεων P 0 P 1 Διακριτοί, γραμμικοί χώροι εικονικών διευθύνσεων Προστασία μνήμης Χώρος φυσικών διευθύσεων (Κύρια Μνήμη) Μια διεργασία δεν μπορεί καν να αναφερθεί σε ξένες διευθύνσεις

Σελιδοποίηση (2) Χώρος εικονικών διευθύνσεων Χώρος εικονικών διευθύνσεων P 0 P 1 Διακριτοί, γραμμικοί χώροι εικονικών διευθύνσεων Προστασία μνήμης Χώρος φυσικών διευθύσεων (Κύρια Μνήμη) Μια διεργασία δεν μπορεί καν να αναφερθεί σε ξένες διευθύνσεις

Σελιδοποίηση (2) Χώρος εικονικών διευθύνσεων Χώρος εικονικών διευθύνσεων P 0 P 1 Διακριτοί, γραμμικοί χώροι εικονικών διευθύνσεων Προστασία μνήμης Μια διεργασία δεν μπορεί καν να αναφερθεί σε ξένες διευθύνσεις Μοιραζόμενη μνήμη, με αντιστοίχιση στο ίδιο πλαίσιο Χώρος φυσικών διευθύσεων (Κύρια Μνήμη)

Σελιδοποίηση (2) Χώρος εικονικών διευθύνσεων Χώρος εικονικών διευθύνσεων P 0 P 1 Διακριτοί, γραμμικοί χώροι εικονικών διευθύνσεων Προστασία μνήμης Μια διεργασία δεν μπορεί καν να αναφερθεί σε ξένες διευθύνσεις Μοιραζόμενη μνήμη, με αντιστοίχιση στο ίδιο πλαίσιο Χώρος φυσικών διευθύσεων (Κύρια Μνήμη)

Σελιδοποίηση (2) Χώρος εικονικών διευθύνσεων Χώρος εικονικών διευθύνσεων P 0 P 1 Διακριτοί, γραμμικοί χώροι εικονικών διευθύνσεων Προστασία μνήμης Χώρος φυσικών διευθύσεων (Κύρια Μνήμη) Μια διεργασία δεν μπορεί καν να αναφερθεί σε ξένες διευθύνσεις Μοιραζόμενη μνήμη, με αντιστοίχιση στο ίδιο πλαίσιο Δεν έχει εξωτερικό κατακερματισμό

Σελιδοποίηση (3) Μετάφραση διευθύνσεων με πίνακες σελίδων Τηρούνται από το ΛΣ, τους συμβουλεύεται το υλικό Μέγεθος σελίδας; 4 KB 16MB Μεγάλο μέγεθος μικρό κόστος διαχείρισης μικρότεροι πίνακες σελίδων εντονότερος εσωτερικός κατακερματισμός Μικρό μέγεθος αποφεύγεται ο εσωτερικός κατακερματισμός μεγαλύτερο κόστος διαχείρισης

Σελιδοποίηση - Μετάφραση διευθύνσεων Μέγεθος σελίδας 2 n. Γιατί πρέπει να είναι δύναμη του 2; Διεύθυνση των m bts, χώρος εικονικών διεύθυνσεων 2 m Εικονική διεύθυνση: αριθμός σελίδας + μετατόπιση αριθμός σελίδας (page number) p m n μετατόπιση (offset) d n

Σελιδοποίηση - Μετάφραση διευθύνσεων Μέγεθος σελίδας 2 n. Γιατί πρέπει να είναι δύναμη του 2; Διεύθυνση των m bts, χώρος εικονικών διεύθυνσεων 2 m Εικονική διεύθυνση: αριθμός σελίδας + μετατόπιση αριθμός σελίδας (page number) p m n μετατόπιση (offset) d n Πίνακας σελίδων

Σελιδοποίηση - Μετάφραση διευθύνσεων Μέγεθος σελίδας 2 n. Γιατί πρέπει να είναι δύναμη του 2; Διεύθυνση των m bts, χώρος εικονικών διεύθυνσεων 2 m Εικονική διεύθυνση: αριθμός σελίδας + μετατόπιση αριθμός σελίδας (page number) p m n μετατόπιση (offset) d n p Πίνακας σελίδων

Σελιδοποίηση - Μετάφραση διευθύνσεων Μέγεθος σελίδας 2 n. Γιατί πρέπει να είναι δύναμη του 2; Διεύθυνση των m bts, χώρος εικονικών διεύθυνσεων 2 m Εικονική διεύθυνση: αριθμός σελίδας + μετατόπιση αριθμός σελίδας (page number) p m n μετατόπιση (offset) d n p f Πίνακας σελίδων

Διεπίπεδη Σελιδοποίηση 0 εξωτερικός πίνακας σελίδων 2 1... 5 8 4 μνήμη 0 1 2 3 4 5 6 7 8 9 10 11 πίνακας σελίδων

Σελιδοποίηση Προστασία (1) Επιβολή δικαιωμάτων πρόσβασης με bts προστασίας ανά σελίδα εικονικής μνήμης Π.χ., για μοιραζόμενη μνήμη Μία διεργασία μπορεί να γράψει, οι άλλες μόνο διαβάζουν Bts πρόσβασης Read, Wrte, execute Bt εγκυρότητας Vald, Invald Σε περίπτωση μη επιτρεπόμενης πρόσβασης;

Σελιδοποίηση Προστασία (1) Επιβολή δικαιωμάτων πρόσβασης με bts προστασίας ανά σελίδα εικονικής μνήμης Π.χ., για μοιραζόμενη μνήμη Μία διεργασία μπορεί να γράψει, οι άλλες μόνο διαβάζουν Bts πρόσβασης Read, Wrte, execute Bt εγκυρότητας Vald, Invald Σε περίπτωση μη επιτρεπόμενης πρόσβασης; Trap! Εξαίρεση σελίδας Page fault

Σελιδοποίηση Προστασία (2) σελίδα 0 σελίδα 2 σελίδα 3 σελίδα 4 Εικονική Μνήμη 2 5 1 7 0 Πίνακας σελίδων 0 1 σελίδα 2 2 σελίδα 0 3 4 5 6 7 σελίδα 3 8 Φυσική Μνήμη

Σελιδοποίηση Προστασία (2) σελίδα 0 σελίδα 2 σελίδα 3 σελίδα 4 Εικονική Μνήμη 2 5 1 r, x r, x r 7 r, w 0 Πίνακας σελίδων v v v v 0 1 σελίδα 2 2 σελίδα 0 3 4 5 6 7 σελίδα 3 8 Φυσική Μνήμη

Σελιδοποίηση Προστασία (2) σελίδα 0 σελίδα 2 σελίδα 3 σελίδα 4 Εικονική Μνήμη 2 5 1 r, x r, x r 7 r, w 0 Πίνακας σελίδων v v v v 0 1 σελίδα 2 2 σελίδα 0 3 4 5 6 7 σελίδα 3 8 Φυσική Μνήμη Ποιες σελίδες είναι κειμένου-κώδικα, ποιες δεδομένων;

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Vrtual Memory Εικονική Μνήμη Εικονική μνήμη: Λογική μνήμη διαχωρισμένη από τη φυσική μνήμη ανεξαρτησία από το μέγεθος της φυσικής μνήμης χώρος λογικών διευθύνσεων πολύ μεγαλύτερος από χώρο φυσικών διευθύνσεων Τα υπό εκτέλεση προγράμματα βρίσκονται μερικώς στην κύρια μνήμη τα υπόλοιπα δεδομένα πού βρίσκονται; Υλοποίηση: Κατ απαίτηση σελιδοποίηση (demand pagng) Κατ απαίτηση κατάτμηση (demand segmentaton)

Περισσότερη Μνήμη! σελίδα 0 2 σελίδα 3 σελίδα 4 σελίδα 5 σελίδα 6... πλαίσιο 0 πλαίσιο πλαίσιο 2.. πλαίσιο F Φυσική Μνήμη σ1 σελίδα N Εικονική Μνήμη σ4 Δίσκος

Περισσότερη Μνήμη! σελίδα 0 2 σελίδα 3 σελίδα 4 σελίδα 5 σελίδα 6... πλαίσιο 0 πλαίσιο πλαίσιο 2.. πλαίσιο F Φυσική Μνήμη σ1 σελίδα N Εικονική Μνήμη σ4 Δίσκος

Περισσότερη Μνήμη! σελίδα 0 2 σελίδα 3 σελίδα 4 σελίδα 5 σελίδα 6... Πίνακας Σελίδων (αρκεί;) πλαίσιο 0 πλαίσιο πλαίσιο 2.. πλαίσιο F Φυσική Μνήμη σ1 σελίδα N Εικονική Μνήμη σ4 Δίσκος

Περισσότερη Μνήμη! σελίδα 0 2 σελίδα 3 σελίδα 4 σελίδα 5 σελίδα 6... σελίδα N Εικονική Μνήμη Πίνακας Σελίδων (αρκεί;) Χάρτης Μνήμης (δομή του ΛΣ) πλαίσιο 0 πλαίσιο πλαίσιο 2.. πλαίσιο F Φυσική Μνήμη σ1 σ4 Δίσκος

Χώρος Εικονικών Διευθύνσεων Max Στοίβα Σωρός Δεδομένα 0 Κείμενο

Χώρος Εικονικών Διευθύνσεων Max Στοίβα Σωρός Δεδομένα 0 Κείμενο

Χώρος Εικονικών Διευθύνσεων 64-bt εικονική διεύθυνση: 16EB Max Στοίβα Σωρός Δεδομένα 0 Κείμενο

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Max Στοίβα Σωρός 0 Εικονική Μνήμη P 0 Δεδομένα Κείμενο Φυσική Μνήμη

Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Max Στοίβα Σωρός μοιραζόμενη βιβλιοθήκη 0 Εικονική Μνήμη P 0 Δεδομένα Κείμενο Φυσική Μνήμη

Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Max Στοίβα μοιραζόμενη βιβλιοθήκη Σωρός μοιραζόμενη βιβλιοθήκη 0 Εικονική Μνήμη P 0 Δεδομένα Κείμενο Φυσική Μνήμη

Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Max Στοίβα Max Στοίβα μοιραζόμενη βιβλιοθήκη μοιραζόμενη βιβλιοθήκη Σωρός Σωρός Δεδομένα Δεδομένα 0 Εικονική Μνήμη P 0 Κείμενο Φυσική Μνήμη 0 Εικονική Μνήμη P 1 Κείμενο

Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Max Στοίβα Max Στοίβα μοιραζόμενη βιβλιοθήκη μοιραζόμενη βιβλιοθήκη μοιραζόμενη βιβλιοθήκη Σωρός Σωρός Δεδομένα Δεδομένα 0 Εικονική Μνήμη P 0 Κείμενο Φυσική Μνήμη 0 Εικονική Μνήμη P 1 Κείμενο

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Σελιδοποίηση κατ απαίτηση (Demand Pagng) Σελίδες εικονικής μνήμης ζουν σε φυσική μνήμη και δίσκο Όταν μια διεργασία χρειαστεί συγκεκριμένη σελίδα (αναφορά), τότε φέρε τη στη μνήμη Πλεονεκτήματα; Λιγότερη Είσοδος / Έξοδος Γρηγορότερη απόκριση η διεργασία ξεκινά αμέσως Περισσότερες διεργασίες / περισσότεροι χρήστες Παρόμοια με την Εναλλαγή (swappng) Σε επίπεδο σελίδας, με pager

Μεταφορά σελίδων από/προς Δίσκο swap out Σελίδες διεργασίας Α Σελίδες διεργασίας Β swap n Κύρια Μνήμη Δίσκος

Μεταφορά σελίδων από/προς Δίσκο swap out Σελίδες διεργασίας Α Σελίδες διεργασίας Β swap n Κύρια Μνήμη Δίσκος Όχι κατ ανάγκη σε συνεχόμενα πλαίσια ή συνεχόμενα τμήματα στο δίσκο

Bt εγκυρότητας στον πίνακα σελίδων Είναι κάθε αναφορά στο χώρο εικονικών διευθύνσεων έγκυρη; 0 σελίδα A 1 σελίδα B1 2 σελίδα C1 3 σελίδα D 4 σελίδα E 5 σελίδα F 6 σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 4 3 Πίνακας σελίδων

Bt εγκυρότητας στον πίνακα σελίδων Είναι κάθε αναφορά στο χώρο εικονικών διευθύνσεων έγκυρη; Επιπλέον bt στον πίνακα σελίδων: Vald Invald 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων

Bt εγκυρότητας στον πίνακα σελίδων 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη Πίνακας σελίδων Είναι κάθε αναφορά στο χώρο εικονικών διευθύνσεων έγκυρη; Επιπλέον bt στον πίνακα σελίδων: Vald Invald Τι συμβαίνει αν γίνει αναφορά σε Invald σελίδα; Page Fault 1 v 4 v 3 v

Μερικές σελίδες είναι στο δίσκο 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη

Μερικές σελίδες είναι στο δίσκο 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων

Μερικές σελίδες είναι στο δίσκο 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων 0 1 2 3 4 5 6 σελίδα A 1 E D 7 Φυσική Μνήμη

Μερικές σελίδες είναι στο δίσκο 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων 0 1 2 3 4 5 6 7 σελίδα A 1 E D Φυσική Μνήμη F C B G Δίσκος H

Μερικές σελίδες είναι στο δίσκο Ποιος ξέρει πού είναι οι σελίδες στο δίσκο; 0 σελίδα A 1 σελίδα B1 2 σελίδα C1 3 σελίδα D 4 σελίδα E 5 σελίδα F 6 σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων 0 1 2 3 4 5 6 7 σελίδα A 1 E D Φυσική Μνήμη F C B G Δίσκος H

Μερικές σελίδες είναι στο δίσκο Ποιος ξέρει πού είναι οι σελίδες στο δίσκο; Το ΛΣ 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη 1 v 4 v 3 v Πίνακας σελίδων 0 1 2 3 4 5 6 7 σελίδα A 1 E D Φυσική Μνήμη F C B G Δίσκος H

Μερικές σελίδες είναι στο δίσκο 0 σελίδα A 1 σελίδα B1 2 σελίδα C1 3 σελίδα D 4 σελίδα E 5 σελίδα F 6 σελίδα G 7 σελίδα Η Εικονική Μνήμη Πίνακας σελίδων Ποιος ξέρει πού είναι οι σελίδες στο δίσκο; Το ΛΣ Αναφορά σε σελίδα που δεν υπάρχει στη μνήμη; 1 v 4 v 3 v 0 1 2 3 4 5 6 7 σελίδα A 1 E D Φυσική Μνήμη F C B G Δίσκος H

Μερικές σελίδες είναι στο δίσκο 0 1 2 3 4 5 6 σελίδα A σελίδα B1 σελίδα C1 σελίδα D σελίδα E σελίδα F σελίδα G 7 σελίδα Η Εικονική Μνήμη Πίνακας σελίδων Ποιος ξέρει πού είναι οι σελίδες στο δίσκο; Το ΛΣ Αναφορά σε σελίδα που δεν υπάρχει στη μνήμη; Page fault! 1 v 4 v 3 v 0 1 2 3 4 5 6 7 σελίδα A 1 E D Φυσική Μνήμη F C B G Δίσκος H

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Σφάλμα Σελίδας Page Fault (1) Εξαίρεση: Το ΛΣ ξυπνάει Το πρόγραμμα έκανε αναφορά σε άκυρη σελίδα

Σφάλμα Σελίδας Page Fault (1) Εξαίρεση: Το ΛΣ ξυπνάει Το πρόγραμμα έκανε αναφορά σε άκυρη σελίδα Γιατί; Το ΛΣ μελετά τον πίνακα μνήμης του

Σφάλμα Σελίδας Page Fault (1) Εξαίρεση: Το ΛΣ ξυπνάει Το πρόγραμμα έκανε αναφορά σε άκυρη σελίδα Γιατί; Το ΛΣ μελετά τον πίνακα μνήμης του Μη επιτρεπόμενη πρόσβαση π.χ. λόγω bug τερματισμός προγράμματος ( Segmentaton Fault )

Σφάλμα Σελίδας Page Fault (1) Εξαίρεση: Το ΛΣ ξυπνάει Το πρόγραμμα έκανε αναφορά σε άκυρη σελίδα Γιατί; Το ΛΣ μελετά τον πίνακα μνήμης του Μη επιτρεπόμενη πρόσβαση π.χ. λόγω bug τερματισμός προγράμματος ( Segmentaton Fault ) Επιτρεπόμενη πρόσβαση, η σελίδα είναι στο δίσκο πρέπει να έρθει στην Κύρια Μνήμη έως τότε, η διεργασία σε τι κατάσταση βρίσκεται;

Εξυπηρέτηση σφάλματος σελίδας (1) Βρες ένα ελεύθερο πλαίσιο μνήμης Υπάρχει πάντα; Φέρε τα δεδομένα της σελίδας από το δίσκο σε αυτό το πλαίσιο Θέσε ανάλογη εγγραφή στον πίνακα σελίδων Με bt εγκυρότητας Vald Επίστρεψε από τη διακοπή, στην εντολή που προκάλεσε την εξαίρεση Η ΚΜΕ τι κάνει, μέχρι να έρθει η σελίδα στην Κύρια Μνήμη;

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας 0 1 2 3 4 5 6 7 Φυσική Μνήμη Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας 1 αναφορά 101 v 104 v Πίνακας σελίδων 0 1 2 3 4 5 6 7 Φυσική Μνήμη Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας ρουτίνα χειρισμού σφάλματος σελίδας 1 αναφορά 101 v 104 v Πίνακας σελίδων 2 trap: εξαίρεση 0 1 2 3 4 5 6 7 Φυσική Μνήμη Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας ρουτίνα χειρισμού σφάλματος σελίδας 1 αναφορά 101 v 104 v Πίνακας σελίδων 3 σελίδα στο δίσκο: εύρεση πλαισίου, ανάγνωση από δίσκο 2 trap: εξαίρεση 0 1 2 3 4 5 6 σελίδα που περιέχει το Μ 7 Φυσική Μνήμη Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας ρουτίνα χειρισμού σφάλματος σελίδας 1 αναφορά 101 v 104 v Πίνακας σελίδων 3 σελίδα στο δίσκο: εύρεση πλαισίου, ανάγνωση από δίσκο 2 trap: εξαίρεση 0 1 2 3 4 5 6 σελίδα για M 4 σελίδα που περιέχει το Μ μεταφορά δεδομένων στο πλαίσιο, τέλος Ε/Ε 7 Φυσική Μνήμη Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) PC load M Υπό εκτέλεση κώδικας ρουτίνα χειρισμού σφάλματος σελίδας 1 αναφορά 101 v 4 v 104 v Πίνακας σελίδων 3 5 ανανέωση πίνακα σελίδων σελίδα στο δίσκο: εύρεση πλαισίου, ανάγνωση από δίσκο 2 trap: εξαίρεση 0 1 2 3 4 5 6 7 σελίδα για M Φυσική Μνήμη 4 σελίδα που περιέχει το Μ μεταφορά δεδομένων στο πλαίσιο, τέλος Ε/Ε Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (2) 6 επανεκκίνηση εντολής ρουτίνα χειρισμού σφάλματος σελίδας PC load M Υπό εκτέλεση κώδικας 1 αναφορά 101 v 4 v 104 v Πίνακας σελίδων 3 5 ανανέωση πίνακα σελίδων σελίδα στο δίσκο: εύρεση πλαισίου, ανάγνωση από δίσκο 2 trap: εξαίρεση 0 1 2 3 4 5 6 7 σελίδα για M Φυσική Μνήμη 4 σελίδα που περιέχει το Μ μεταφορά δεδομένων στο πλαίσιο, τέλος Ε/Ε Δίσκος

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο;

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο; Ας πούμε ~10ms. Τι κάνει η ΚΜΕ όλη αυτή την ώρα;

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο; Ας πούμε ~10ms. Τι κάνει η ΚΜΕ όλη αυτή την ώρα; Χειρισμός σφάλματος σελίδας σε πραγματικά συστήματα ασύγχρονος χειρισμός, σε δύο στάδια

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο; Ας πούμε ~10ms. Τι κάνει η ΚΜΕ όλη αυτή την ώρα; Χειρισμός σφάλματος σελίδας σε πραγματικά συστήματα ασύγχρονος χειρισμός, σε δύο στάδια

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο; Ας πούμε ~10ms. Τι κάνει η ΚΜΕ όλη αυτή την ώρα; Χειρισμός σφάλματος σελίδας σε πραγματικά συστήματα ασύγχρονος χειρισμός, σε δύο στάδια Αρχικοποίηση Ε/Ε όταν ενεργοποιείται η ρουτίνα χειρισμού σφάλματος σελίδας το ΛΣ ζητά από το δίσκο να γεμίσει ένα πλαίσιο μνήμης με τη ζητούμενη σελίδα (DMA) η διεργασία αλλάζει κατάσταση, περνά σε αναμονή

Εξυπηρέτηση σφάλματος σελίδας (3) Πόσο κοστίζει να έρθει μια σελίδα από το δίσκο; Ας πούμε ~10ms. Τι κάνει η ΚΜΕ όλη αυτή την ώρα; Χειρισμός σφάλματος σελίδας σε πραγματικά συστήματα ασύγχρονος χειρισμός, σε δύο στάδια Αρχικοποίηση Ε/Ε όταν ενεργοποιείται η ρουτίνα χειρισμού σφάλματος σελίδας το ΛΣ ζητά από το δίσκο να γεμίσει ένα πλαίσιο μνήμης με τη ζητούμενη σελίδα (DMA) η διεργασία αλλάζει κατάσταση, περνά σε αναμονή Ολοκλήρωση Ε/Ε όταν ο δίσκος ολοκληρώσει τη μεταφορά διακοπή το ΛΣ διορθώνει τον πίνακα σελίδων η διεργασία γίνεται έτοιμη

Σελιδοποίηση κατ απαίτηση Κόστος Ρυθμός σφαλμάτων σελίδας p, 0 p 1 p = 0: δεν γίνονται ποτέ σφάλματα σελίδας p = 1: κάθε πρόσβαση προκαλεί σφάλμα σελίδας Πραγματικός χρόνος πρόσβασης Effectve Access Tme EAT = (1 p) x t m + p x (κόστος σφάλματος σελίδας + κόστος swap out + κόστος swap n + κόστος επανεκκίνησης) π.χ., για p = 1, t m = 200ns, t pf =8ms=8x10 6 ns EAT = 8200ns, χρόνος πρόσβασης 40 φορές μεγαλύτερος!

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Δημιουργία νέας διεργασίας π.χ. fork() Η νέα διεργασία είναι αντίγραφο της παλιάς Κληρονομεί όλα τα ανοιχτά αρχεία και αντίγραφο της μνήμης της αρχικής διεργασίας Από εκεί και πέρα, εκτελείται ανεξάρτητα Πόσο κοστίζει η δημιουργία της;

Δημιουργία νέας διεργασίας π.χ. fork() Η νέα διεργασία είναι αντίγραφο της παλιάς Κληρονομεί όλα τα ανοιχτά αρχεία και αντίγραφο της μνήμης της αρχικής διεργασίας Από εκεί και πέρα, εκτελείται ανεξάρτητα Πόσο κοστίζει η δημιουργία της; Αντιγράφεται όλη η μνήμη της παλιάς διεργασίας Πάντα;

Δημιουργία νέας διεργασίας π.χ. fork() Η νέα διεργασία είναι αντίγραφο της παλιάς Κληρονομεί όλα τα ανοιχτά αρχεία και αντίγραφο της μνήμης της αρχικής διεργασίας Από εκεί και πέρα, εκτελείται ανεξάρτητα Πόσο κοστίζει η δημιουργία της; Αντιγράφεται όλη η μνήμη της παλιάς διεργασίας Πάντα; Όχι! Σε συστήματα εικονικής μνήμης Αντιγραφή κατά την Εγγραφή Copy-on-Wrte (COW)

Δημιουργία νέας διεργασίας π.χ. fork() Η νέα διεργασία είναι αντίγραφο της παλιάς Κληρονομεί όλα τα ανοιχτά αρχεία και αντίγραφο της μνήμης της αρχικής διεργασίας Από εκεί και πέρα, εκτελείται ανεξάρτητα Πόσο κοστίζει η δημιουργία της; Αντιγράφεται όλη η μνήμη της παλιάς διεργασίας Πάντα; Όχι! Σε συστήματα εικονικής μνήμης Αντιγραφή κατά την Εγγραφή Copy-on-Wrte (COW)

Δημιουργία νέας διεργασίας π.χ. fork() Η νέα διεργασία είναι αντίγραφο της παλιάς Κληρονομεί όλα τα ανοιχτά αρχεία και αντίγραφο της μνήμης της αρχικής διεργασίας Από εκεί και πέρα, εκτελείται ανεξάρτητα Πόσο κοστίζει η δημιουργία της; Αντιγράφεται όλη η μνήμη της παλιάς διεργασίας Πάντα; Όχι! Σε συστήματα εικονικής μνήμης Αντιγραφή κατά την Εγγραφή Copy-on-Wrte (COW)

Copy-on-Wrte Γονική διεργασία (PID=981) A B C Εικονική Μνήμη P0 Φυσική Μνήμη

Copy-on-Wrte Γονική διεργασία (PID=981) A B C σελίδα A 1 B C Εικονική Μνήμη P0 Φυσική Μνήμη

Copy-on-Wrte Γονική διεργασία (PID=981) A B C r, x r, w r, w σελίδα A 1 B C Εικονική Μνήμη P0 Φυσική Μνήμη

Copy-on-Wrte σελίδα A 1 Γονική διεργασία (PID=981) A B B C A B Διεργασία παιδί (PID=987) C C Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1

Copy-on-Wrte Γονική διεργασία (PID=981) A B C r, x r r σελίδα A 1 B C r, x r r A B C Διεργασία παιδί (PID=987) Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1

Copy-on-Wrte Γονική διεργασία (PID=981) A B C Εικονική Μνήμη P0 r, x r r σελίδα A 1 B C Φυσική Μνήμη r, x r r Wrte C: Page Fault A B C Εικονική Μνήμη P1 Διεργασία παιδί (PID=987)

Copy-on-Wrte Γονική διεργασία (PID=981) A B C r, x r r σελίδα A 1 B C αντίγραφο C r, x r r A B C Διεργασία παιδί (PID=987) Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1

Copy-on-Wrte Γονική διεργασία (PID=981) A B C r, x r r σελίδα A 1 B C αντίγραφο C r, x r r, w A B C Διεργασία παιδί (PID=987) Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1

Copy-on-Wrte Γονική διεργασία (PID=981) A B C r, x r r σελίδα A 1 B C αντίγραφο D C r, x r r, w A B DC Διεργασία παιδί (PID=987) Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1

Copy-on-Wrte Γονική διεργασία (PID=981) A B r, x r σελίδα A 1 B C r, x r A B Διεργασία παιδί (PID=987) C r αντίγραφο D C r, w DC Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1 Μετά τη δημιουργία νέας διεργασίας, μοιράζονται σελίδες με διαφορετικά δικαιώματα πρόσβασης

Copy-on-Wrte Γονική διεργασία (PID=981) A B r, x r σελίδα A 1 B C r, x r A B Διεργασία παιδί (PID=987) C r αντίγραφο D C r, w DC Εικονική Μνήμη P0 Φυσική Μνήμη Εικονική Μνήμη P1 Μετά τη δημιουργία νέας διεργασίας, μοιράζονται σελίδες με διαφορετικά δικαιώματα πρόσβασης (Ότ)αν η διεργασία προσπαθήσει να γράψει σε κάποια σελίδα Εύρεση νέου πλαισίου, αντιγραφή και αλλαγή του πίνακα σελίδων

Εικονική Μνήμη - Σύνοψη Σελιδοποίηση Λογικές διευθύνσεις, Πίνακες Σελίδων Εικονική Μνήμη με σελιδοποίηση Δυναμική σύνδεση με μοιραζόμενες βιβλιοθήκες Σελιδοποίηση κατ απαίτηση Σφάλμα σελίδας Χειρισμός από το ΛΣ Δημιουργία διεργασιών σε συστήματα Εικονικής Μνήμης Αντιγραφή κατά την Εγγραφή (Copy-on-Wrte) Απεικόνιση Αρχείων στην Εικονική Μνήμη

Απεικόνιση Αρχείων στη Μνήμη (1) Αντί για read() και wrte(), πρόσβαση σε αρχεία με load και store απλουστεύει τον προγραμματισμό το αρχείο απεικονίζεται σε συνεχόμενο χώρο εικονικής μνήμης Ε/Ε με σελιδοποίηση κατ απαίτηση όταν η διεργασία αναφερθεί σε μια νέα σελίδα το ΛΣ γεμίζει το αντίστοιχο πλαίσιο με δεδομένα από το δίσκο

Απεικόνιση Αρχείων στη Μνήμη (2) Εικονική Μνήμη P 0 fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C

Απεικόνιση Αρχείων στη Μνήμη (2) H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C

Απεικόνιση Αρχείων στη Μνήμη (2) H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C

Απεικόνιση Αρχείων στη Μνήμη (2) H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B C H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B C H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C H Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C Page Fault! A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C read block C HC 102 Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C Page Fault! A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C HC 102 Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C Page Fault! A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B Πίνακας Σελίδων P 0 C HC 102 Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C Page Fault! A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B 102 v Πίνακας Σελίδων P 0 C HC 102 Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C Page Fault! A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr A B 102 v Πίνακας Σελίδων P 0 C r,w (δικαιώματα open()) HC 102 Εικονική Μνήμη P 0 Φυσική Μνήμη fd = open( fle ); vaddr = mmap(, fd, ); access vaddr + offset C A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B C Εικονική Μνήμη P 0 A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B C B A HC Εικονική Μνήμη P 0 Φυσική Μνήμη A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B C B A HC Εικονική Μνήμη P 0 Φυσική Μνήμη A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B C B A HC Εικονική Μνήμη P 0 Φυσική Μνήμη E/E με δίσκο A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B C B A HC Εικονική Μνήμη P 0 Φυσική Μνήμη A B C

Απεικόνιση Αρχείων στη Μνήμη (2) vaddr1 A B B A C HC Εικονική Μνήμη P 0 Φυσική Μνήμη Εικονική Μνήμη P 1 A B C

Απεικόνιση Αρχείων στη Μνήμη (2) A vaddr2 vaddr1 A B B A B C C HC Εικονική Μνήμη P 0 Φυσική Μνήμη Εικονική Μνήμη P 1 A B C

Απεικόνιση Αρχείων στη Μνήμη (2) A vaddr2 vaddr1 A B B A B C C HC Εικονική Μνήμη P 0 Φυσική Μνήμη Εικονική Μνήμη P 1 A B C

Ερωτήσεις;

Ερωτήσεις; και στη λίστα: OS@lsts.cslab.ece.ntua.gr