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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

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

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

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

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

Ε-85: Ειδικά Θέµατα Λογισµικού

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT

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

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

Κεντρική Μονάδα Επεξεργασίας

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

ΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

Το υλικό του υπολογιστή

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

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

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

Βασική δοµή και Λειτουργία Υπολογιστή

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

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

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

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

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

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

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

Τεχνολογίες Κύριας Μνήμης

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Προγραμματισμός Ι (ΗΥ120)

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1

Transcript:

Λειτουργικά Συστήματα (ΗΥ222) Διάλεξη 7: Εισαγωγή στην Ιδεατή Μνήμη - Τμηματοποίηση

Η Ευτυχισμένη Κοινωνία των Διεργασιών 2 Πολλαπλές χαρούμενες διεργασίες στο σύστημα Και αν το Visual Studio χρειαστεί κι άλλη μνήμη; Αν το Excel χρειαστεί περισσότερη μνήμη από τη διαθέσιμη στη μηχανή; (τι σπάνιο ) Αν το Word πάει να γράψει στη διεύθυνση 0x634; (τι σπάνιο ) Αν το Word αποφασίσει να αφήσει λίγη από τη μνήμη του; Και πότε θα μάθει το Visual Studio ότι ξεκινάει από τη διεύθυνση 0x0000; Win 10 Word Excel Visual Studio 0x9000 0x6000 0x3000 0x1000 0x0000

Απαιτήσεις για τη Διαμοίραση Κοινής Μνήμης 3 Προστασία: Αμαρτίες διεργασιών παιδεύουσι μόνο τις ίδιες Έλεγξε κάθε προσπέλαση στη μνήμη. Δες αν είναι μέσα στα «επιτρεπτά» όρια. Διαφάνεια: Ας μπορεί η διεργασία να τοποθετηθεί οπουδήποτε στη μνήμη Αξίωμα Roger Needham: Οποιοδήποτε πρόβλημα της επιστήμης των υπολογιστών μπορεί να λυθεί προσθέτοντας ένα ακόμη επίπεδο ανακατεύθυνσης Ακόμα καλύτερα αν το κάνει κάποιος άλλος (π.χ. ο σχεδιαστής του επεξεργαστή) Δώσε της την «ψευδαίσθηση» μιας μεγάλης, ιδιόκτητης μνήμης. Κατά την εκτέλεση μετέφρασε τις προσπελάσεις στην «ιδιόκτητη» μνήμη σε προσπελάσεις πραγματικής μνήμης.

Το Μεγάλο Κόλπο 4 Word Αναγνωση Εγγραφή CPU Ιδεατή Δνση «Μεταφραστής» «Νόμιμη» δνση; Μη επιτρεπτή; Φυσική Δνση Φυσική Μνήμη Σφάλμα Δεδομένα

Μ ένα σμπάρο Ευελιξία ΚΑΙ αποδοτικότητα! Ιδεατή μνήμη: Επίπεδο ανακατεύθυνσης μεταξύ εφαρμογών και πραγματικής μνήμης Ευελιξία: Οι διεργασίες μπορούν να τοποθετηθούν οπουδήποτε στη μνήμη Απλότητα: και ο προγραμματιστής δε χρειάζεται να ξέρει τίποτα Αποδοτικότητα: Η περισσότερη ιδεατή μνήμη δε θα χρησιμοποιείται (ο χρυσός κανόνας του 80/20) Άσε άλλες διεργασίες να χρησιμοποιούν τα «ανενεργά» κομμάτια. Κάνε τη μνήμη να φαίνεται πολύ μεγαλύτερη! Προβλήματα: Ένα επιπλέον επίπεδο ανακατεύθυνσης Χωρίς προσοχή καλή υπομονή (αργόοοοο) 5 Word Ανενεργό Ενεργό Ενεργό Φυσική Μνήμη Ενεργό Ανενεργό WoW

Για κάθε λύση 6 και ένα πρόβλημα Πώς επιβάλλεται η προστασία; Πώς κομματιάζεται η μνήμη; Πώς τοποθετείται η διεργασία στη μνήμη; Όταν μεγαλώσετε (αυστηρώς ακατάλληλο για ανυποψίαστους μηχανικούς) αν έχουμε χρόνο στο τέλος του εξαμήνου

Το Αυγό του Κολόμβου - Τμηματοποίηση: Βάση + Όριο Βάλε δουλειά στο σχεδιαστή του υλικού: Σε κάθε προσπέλαση μνήμης Φυσική Δνση = Ιδεατή Δνση + Βάση (μετατόπιση) ΠΡΕΠΕΙ Φυσική Δνση στο [Βάση, Βάση + Όριο) Ερωτήσεις: Πώς μετακινούμε διεργασίες στη μνήμη; Τι συμβαίνει κατά τη μεταγωγή περιβάλλοντος; 7 0x4000 0x0000 Pro jump 0x1234 Βάση: 0x3000 Όριο: 0x4000 MMU (Memory Mgmt Unit) Win 8 Pro jump 0x1234 0x7000 0x4234 0x3000

Λίγη «Αργκό» 8 Διευθύνσεις στο πρόγραμμα: Ιδεατές ή λογικές Αληθινές διευθύνσεις (στον κόσμο της σιλικόνης): Πραγματικές ή φυσικές Μηχανισμός μετάφρασης ή επανατοποθέτησης: Μονάδα διαχείρισης μνήμης (Memory management Unit ΜΜU) Ίδια λογική για όλους τους μηχανισμούς δυναμικής μετάφρασης (δείτε «το μεγάλο κόλπο») Πολλαπλές διαφορετικές εικόνες (ψευδαισθήσεις) της μνήμης: Χώροι διευθύνσεων

Ιδεατός vs. Πραγματικός Κόσμος 9 Ιδεατός Κόσμος Πραγματικός Κόσμος 0 0 MMU 0 0

Μηχανισμοί Προστασίας 10 Και πώς θα σταματήσω το χρήστη από το να αλλάξει τη βάση και το όριο; Ειδικοί καταχωρητές για τη βάση και το όριο Προνομιούχες εντολές για την αλλαγή τους Και πώς μεταφερόμαστε; Από τις διεργασίες χρήστη στο λειτουργικό; Στο λειτουργικό έχουμε τον ίδιο χώρο διευθύνσεων για όλες τις διεργασίες Από μία διεργασία χρήστη σε άλλη;

Η ώρα της αλήθειας 11 Πλεονεκτήματα: Φθηνό: Μόνο 2 καταχωρητές Γρήγορο: Πρόσθεση και σύγκριση Σε κάποια συστήματα με 1 εντολή Μειονεκτήματα: Διεργασίες που «μεγαλώνουν» (π.χ. Excel) Πώς να μοιραστούμε μνήμη; (π.χ. τον κώδικα του Word) Και πώς ξεχωρίζουμε κώδικα και δεδομένα; Λύση; Πολλαπλά τμήματα Τμηματοποίηση (segmentation) Ελεύθερο Word 2 Excel Word 1

Τμηματοποίηση με Πολλαπλά Τμήματα (Segmentation) 12 Ιδέα: Άσε τις διεργασίες να έχουν περισσότερα από ένα τμήματα (βάσεις και όρια) Ο χώρος διευθύνσεων «χτίζεται» από αυτά τα πολλαπλά τμήματα Κάθε διεργασία έχει τις δικές τις τιμές βάσεων και ορίων Τώρα μπορούμε να έχουμε κοινά τμήματα μνήμης Πώς; Αφού μπορούμε να έχουμε κοινά τμήματα μνήμης, πρέπει να υλοποιήσουμε δικαιώματα Read / Write bits (σε κάποια συστήματα και Execute bit) Αποτέλεσμα: Ο χώρος διευθύνσεων κάθε διεργασίας μπορεί να είναι «διασκορπισμένος» στη φυσική μνήμη Πρόβλημα: Και που ξέρουμε σε ποιο τμήμα ανήκει η κάθε διεύθυνση;

Τμηματοποίηση: Παράδειγμα 13 0x7000 Pro Φυσική Μνήμη 0xA000 0x4000 Text seg r/o 0x9000 0x5000 0x2000 0x1000 Stack seg r/w Βάση & όριο; 0x2000

Μηχανισμοί Τμηματοποίησης 14 Κάθε διεργασία έχει το δικό της πίνακα τμημάτων Κάθε αναφορά στη μνήμη καθορίζει τμήμα και μετατόπιση μέσα στο τμήμα Χρησιμοποιούνται κάποια bits της διεύθυνσης για τον καθορισμό του τμήματος Το τμήμα επιλέγεται έμμεσα, ανάλογα με την εντολή ή τα έντελά της (π.χ. όταν αναφερόμαστε στον Program Counter πηγαίνουμε στο code segment) Ιδεατή Δνση 3 128 Τμήμα# μετατόπιση Πίνακας Τμημάτων Prot Βάση Όριο? r 0x1000 512 Όχι Ναι Oopsy Daisy + Τμήμα 0x1000 Φυσική Μνήμη 128

Τμηματοποίηση: Παράδειγμα 2 bits (περισσότερο σημαντικά) αριθμός τμήματος, 12 bits μετατόπιση Τμ. Βάση Όριο rw 0 0x4000 0x6ff 10 1 0x0000 0x4ff 11 2 0x3000 0xfff 11 3 00 Και κατά που πέφτει το 0x0240; 0x1108; 0x265c; 0x3002; 0x1600; Ιδεατή 0x4000 0x3000 0x2000 0x1500 0x1000 0x0700 0x0000 Φυσική 0x4700 0x4000 0x3000 0x0500 0x0000 15

Τμηματοποίηση: Υπέρ & Κατά 16 Υπέρ: Πολλαπλά τμήματα για κάθε διεργασία Επιτρέπεται διαμοίραση τμημάτων του χώρου διευθύνσεων μεταξύ διεργασιών Δε χρειάζεται να βρίσκεται όλη η διεργασία (όλος ο χώρος διευθύνσεων της) στη μνήμη!!! Γιατί είναι αυτό σημαντικό; Κατά: Ένα ακόμα επίπεδο ανακατεύθυνσης Χρειαζόμαστε υποστήριξη από το υλικό για ταχύτητα Για τα n bytes ενός τμήματος χρειαζόμαστε n συνεχόμενα bytes στη φυσική μνήμη Γιατί; Πρόβλημα; «Κατακερματισμός» της φυσικής μνήμης

Κατακερματισμός Μνήμης Αδυναμία χρήσης μνήμης που είναι ελεύθερη «Κομμάτια» μεταβλητού μεγέθους: Πολλές μικρές τρύπες στη φυσική μνήμη (εξωτερικός κατακερματισμός) «Κομμάτια» σταθερού μεγέθους: Δεν έχουμε τρύπες στη φυσική μνήμη. Έχουμε όμως τρύπες (αχρησιμοποίητη μνήμη) εσωτερικά σε κάθε κομμάτι (εσωτερικός κατακερματισμός) Εξωτερικός Word Πού; Κατακερματισμός Matlab Excel Visual Studio 17 Δεσμευμένη Στοίβα Pro Αχρησιμοποίητη μνήμη Εσωτερικός Κατακερματισμός