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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

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

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

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

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

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

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

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

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

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

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

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Κατακερματισμός (Hashing)

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

ΚΕΦΑΛΑΙΟ 12: Επίλυση Προβλημάτων Δικτύων Εισαγωγή

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

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

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

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Το βιβλίο της Μ. Autism Resource CD v Resource Code RC115

Προγραμματισμός Ι (HY120)

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

ΕΝΤΟΛΕΣ. 7.1 Εισαγωγικό μέρος με επεξήγηση των Εντολών : Επεξήγηση των εντολών που θα

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30

ΤΑ ΞΩΤΙΚΑ. Από τον George Tilton. Απόδοση από τον ΣΤΕΦΑΝΟ ΑΤΣΑΛΟ.

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

Κατανεμημένα Συστήματα

ΠΛΗΡΟΦΟΡΙΑ & ΔΙΑΙΣΘΗΣΗ

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ο Απόλυτος Οδηγός. Th e bitcoi n gui de book

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ B.2.M3 Κύρια και Βοηθητική Μνήμη

Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων. Αλεξάνδρα Παπανδρεάδη (ΑΜ 362)

qemu img create linux.img f raw 2G

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

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Κύρια & Περιφερειακή Μνήµη

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Co-funded by the European Union Quest

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

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

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

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

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

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

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

e-seminars Αναπτύσσομαι 1 Προσωπική Βελτίωση Seminars & Consulting, Παναγιώτης Γ. Ρεγκούκος, Σύμβουλος Επιχειρήσεων Εισηγητής Ειδικών Σεμιναρίων

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

Transcript:

Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping

Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα προγράμματα Αλλά και εύκολη Ιδεατή μνήμη Απομόνωση διαφορετικών προγραμμάτων Αδιαφανής: Δεν ξέρουμε που βρισκόμαστε στη φυσική μνήμη Μη συνεχείς περιοχές στη φυσική μνήμη Είναι δυνατόν να διαμοιρασθούν κώδικας & δεδομένα

Swapping 3 Η «αγαθή» αντιμετώπιση Φόρτωσε όλη τη διεργασία στη φυσική μνήμη Εκτέλεσέ τη Τερμάτισε Προβλήματα; Αργό (αν η διεργασία είναι «μεγάλη») Κακή χρήση της μνήμης (αν η διεργασία δε χρησιμοποιεί στην πραγματικότητα όλο το χώρο διευθύνσεών της) Λύσεις: Swapping Κράτησε στην κύρια μνήμη μόνο τις σελίδες που χρησιμοποιούνται Swapping με βάση τη ζήτηση Φόρτωσε στη φυσική μνήμη μόνο τις σελίδες που ζητάει η διεργασία (on demand) Μηχανισμός: Αξιοποίησε τους μηχανισμούς ιδεατής μνήμης, ώστε κάποιες σελίδες ιδεατής μνήμης να είναι αποθηκευμένες στην κύρια μνήμη και κάποιες στο δίσκο

Swapping (Όταν Κοιτάζω από Ψηλά ) 4 Οι ιδεατές σελίδες αντιστοιχούν σε: Μνήμη (0.00559 / ΜΒ), γρήγορη, μικρή Δίσκος (0.00003795 / ΜΒ), μεγάλος, αργόοοοοοος Δίσκος Πίνακας Σελίδων Φυσική Μνήμη

Swapping: Η Μεγάλη Απάτη Μπορώ να έχω: Ιδεατή μνήμη μεγάλη σαν δίσκο και γρήγορη σαν κύρια μνήμη; Ο κανόνας 80/20 και πάλι Κράτησε το 20% στη μνήμη και το υπόλοιπο 80% στο δίσκο Και ποιο είναι το 20%; Κοίταξε τη συμπεριφορά στο πρόσφατο παρελθόν Ενάντια στη διαίσθηση: 1 ακόμα επίπεδο ανακατεύθυνσης, και όμως η επίδοση βελτιώνεται Τυπική ευστοχία στην κύρια μνήμη: 99.9% Μοτίβο προσπέλασης στη μνήμη του Gzip 5

Ο Μηχανισμός του Swapping (και πάλι ) 6 Επέκταση κάθε γραμμής του πίνακα σελίδων με ένα επιπλέον bit ( παρούσα ) Αν η σελίδα στη μνήμη παρούσα = 1, αν στο δίσκο παρούσα = 0 Όταν παρούσα = 1 οι «μεταφράσεις» δουλεύουν όπως ξέρουμε Όταν παρούσα = 0, η «μετάφραση» προκαλεί σφάλμα σελίδας (page fault). Πλαίσια σελίδων ή blocks του δίσκου 32 :P=1 4183:P=0 177 :P=1 5721:P=0 Δίσκος Μνήμη Τι συμβαίνει στα σφάλματα σελίδων; Το ΛΣ βρίσκει ένα άδειο πλαίσιο στη φυσική μνήμη ή αδειάζει ένα (ποιο;;;) Κάνει μια αίτηση στο δίσκο για να διαβάσει τα περιεχόμενα της ιδεατής σελίδας από το δίσκο και να τα τοποθετήσει στο άδειο πλαίσιο Μπλοκάρει τη διεργασία και εκτελεί μια άλλη Όταν τελειώσει η ανάγνωση από το δίσκο: παρούσα = 1, η διεργασία πίσω στην ουρά των έτοιμων προς εκτέλεση

Ο Μηχανισμός του Swapping (Λίγο Ακόμα ) 7 Και τι θα κάνω με τις σελίδες που πρέπει να διώξω (αντικαταστήσω); Έχουν αλλάξει; Ε, τότε πρέπει να γραφτούν στο δίσκο Δεν έχουν αλλάξει; Πέταξέ τες, υπάρχει προηγούμενο αντίγραφο στο δίσκο Και που να ξέρω; Η αγαπημένη μας λύση: Το λογαριασμό στον κατασκευαστή υλικού Ένα ακόμα bit σε κάθε γραμμή του πίνακα σελίδων (modified) Όταν η σελίδα γραφτεί γίνεται 1 (από το υλικό) Όσο η σελίδα δεν έχει μεταβληθεί είναι 0 32 :P=1 M=1 4183:P=0 M=0 177 :P=1 M=0 5721:P=0 M=0

Προβλήματα, Προβλήματα, Προβλήματα 8 Πώς να επανεκκινήσω μια διεργασία μετά από σφάλμα σελίδας; Απλό: Πρέπει να σώσω την κατάσταση και να την αποκαταστήσω μετά την εξυπηρέτηση του σφάλματος. Και αν η διεργασία ήταν στη μέση της εκτέλεσης μιας εντολής; Τι να φέρω από το δίσκο; Μόνο τη σελίδα που ζητήθηκε, ή και καμία ακόμα; Τι να διώξω από την κύρια μνήμη; Όπως όλες οι cache, έτσι και η κύρια μνήμη είναι πολύ μικρή. Τι να διώξω κάθε φορά που θέλω να φέρω μια σελίδα; Θέλω να ξέρω τη μελλοντική συμπεριφορά!!!

Επανάκαμψη μετά από Σφάλμα Σελίδας Μπορεί το σφάλμα να συνέβη στη μέση της εκτέλεσης μιας εντολής! Ο χρήστης δεν πρέπει να καταλάβει τίποτα για το σφάλμα σελίδας Μπορούμε να παραλείψουμε την εντολή που προκάλεσε το σφάλμα; Μπα μάλλον όχι Κάποια δουλειά κάνει στο πρόγραμμα Μπορούμε να την ξαναεκτελέσουμε εξ αρχής; Όχι, αν έχει αλλάξει μερικώς την κατάσταση της μηχανής. Μπορούμε να αποφασίσουμε κοιτάζοντας τι κάνει η εντολή; Ίσως να μην είναι σαφές πότε ακριβώς συνέβη το σφάλμα Πρόγραμμα add r1, r2, r3 mov +(sp), (r2) ΛΣ σφάλμα Δέσμευση πλαισίου Ανάγνωση από δίσκο Επανάκαμψη Ενημέρωση του πίνακα 9

Την Ευθύνη στο Υλικό (και πάλι ) 10 Συστήματα RISC: Απλά τα πράγματα Συνήθως οι εντολές δεν αλλάζουν την κατάσταση της μηχανής πριν γίνουν όλες οι αναφορές Αρκεί να ξέρω την εντολή που προκάλεσε το σφάλμα σελίδας και τη διεύθυνση στην οποία αντιστοιχεί το σφάλμα Σφάλμα: pc = 0xffdd0, addr = 0x0ef80 0xffdcc: add r1,r2,r3 0xffdd0: ld r1, 0(sp) Χειριστής σφάλματος Πίσω στην εντολή 0xffdd0 Συστήματα CICS: Πρόβλημα Πιο πολύπλοκες εντολές Πολλαπλές αναφορές στη μνήμη Πιθανόν τη στιγμή του σφάλματος η κατάσταση της μηχανής να έχει αλλάξει μερικώς

Τι να Φέρω; (και Πότε;) 11 Ποιες σελίδες να φέρω στη μνήμη και πότε; Το πρόβλημα που έχουμε με όλες τις caches: χρειαζόμαστε γυάλινη σφαίρα (γνώση του μέλλοντος) Ας πει ο χρήστης Αξιόπιστο; Μερικά ΛΣ υποστηρίζουν προ-μεταφορές Εύκολο κόλπο κατά το χρόνο εκτέλεσης: σελιδοποίηση που ακολουθεί τη ζήτηση Φόρτωσε 1/περισσότερες αρχικές σελίδες. Εκτέλεσε. Φόρτωσε τις άλλες σελίδες όταν χρειαστούν (σφάλμα σελίδας). Συνέπειες στο χρόνο εκτέλεσης; Συνέπειες στην αξιοποίηση της μνήμης; Τα περισσότερα συστήματα το χρησιμοποιούν ld αρχικές σελ ld σελ ld σελ ld σελ... Κι άλλο κόλπο: προ-μεταφορά. Φέρε τη σελίδα και τη γειτονιά της Γιατί;

Ποια να Διώξω; Τυχαία: Διάλεξε μια σελίδα + Αποφεύγουμε τη χειρότερη περίπτωση, απλό - Αποφεύγουμε και την καλύτερη περίπτωση FIFO: Διώξε την παλαιότερη σελίδα + Δίκαιο. Όλες οι σελίδες μένουν στη μνήμη το ίδιο διάστημα - Αγνοεί το μοτίβο χρήσης των σελίδων MIN (βέλτιστο): Διώξε τη σελίδα που δεν πρόκειται να χρησιμοποιηθεί για το μεγαλύτερο διάστημα. Και που να ξέρω; Μη πρακτικό, αλλά πάντως καλή ιδέα Τη λιγότερο πρόσφατα χρησιμοποιηθείσα (LRU). Διώξε τη σελίδα που έχει να χρησιμοποιηθεί το μεγαλύτερο διάστημα. Αν παρελθόν = μέλλον; LRU = MIN. 12