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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

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

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

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

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

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

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

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β

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

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

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

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

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

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

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

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

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

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

Εξετάσεις Προόδου 8/1/2014 Τεχνικός Εφαρμογών Πληροφορικής (Πολυμέσα/ Web designer - developper/video games)

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

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

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

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΕΠΑΝΑΛΗΨΗ

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

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

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

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

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

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

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

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

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

Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

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

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Δομή Ηλεκτρονικού υπολογιστή

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

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

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

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ.

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Transcript:

Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1

Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι να παρακολουθεί ποια τμήματα της μνήμης είναι σε χρήση και ποια όχι, να χορηγεί μνήμη σε διεργασίες όποτε την χρειάζονται και την επαναχορηγεί σε άλλες όταν οι πρώτες ολοκληρώσουν την αποστολή του, καθώς και να διαχειρίζεται την εναλλαγή πληροφοριών (swapping) μεταξύ κύριας μνήμης και δίσκου όταν η κύρια μνήμη δεν είναι αρκετή για να εξυπηρετηθούν όλες οι διεργασίες. 2

Διαχείριση Μνήμης 2 Η μνήμη είναι μια συνεχής συλλογή από bits (σε ομάδες του byte 8 bits, 16, 32 ή 64- bits word) με καθορισμένες διευθύνσεις, που μοναδικά καθορίζουν το κάθε συγκεκριμένο τμήμα μνήμης 3

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

Διαχείριση Μνήμης 4 Ένα πρόγραμμα είναι γεμάτο με αναφορές σε μεταβλητές και σε άλλα μέρη του κώδικα. Όταν το πρόγραμμα μεταγλωττίσει, αυτές οι αναφορές αλλάζουν σε διευθύνσεις στη μνήμη όπου τα δεδομένα και ο κώδικας υπάρχουν. Για να γίνει αυτό, χρειαζόμαστε δυο είδη διευθύνσεων. Η λογική διεύθυνση (γνωστή και ως νοητή ή σχετική διεύθυνση) είναι μια τιμή που προσδίδει μια γενική θέση, σχετική με ένα πρόγραμμα αλλά όχι με την κύρια μνήμη Κατά τη συγγραφή προγραμμάτων, ο προγραμματιστής γνωρίζει μόνο τη λογική διεύθυνση Είναι μια αναφορά σε μια αποθηκεμένη τιμή σχετική με το πρόγραμμα που κάνει τις αναφορές Η φυσική διεύθυνση είναι μια πραγματική διεύθυνση στην κύρια μνήμη. Το λειτουργικό σύστημα γνωρίζει την ακριβή θέση ενός προγράμματος στη μνήμη και μπορεί να μετατρέπει λογικές διευθύνσεις σε ακριβείς διευθύνσεις. 5

Διαχείριση Μνήμης 5 Όταν ένα πρόγραμμα μεταγλωττίσει, μια αναφορά σε π.χ. ένα όνομα μεταβλητής αλλάζει σε μια λογική διεύθυνση. Όταν το πρόγραμμα φορτωθεί στη μνήμη για να εκτελεστεί, κάθε λογική διεύθυνση αντιστοιχεί σε μια συγκεκριμένη φυσική διεύθυνση. 6

Διαχείριση Μνήμης 6 CPU RAM εδώ υπάρχει 0 1 2 3..1000 5000.. ένα πρόγραμμα (φυσική φυσικές διευθύνσεις διεύθυνση [1000 5000]) λογική διεύθυνση: 2 φυσική διεύθυνση: 1002 7

Διάχειριση Συνεχούς Μνήμης 1 μνήμη Υπάρχουν μόνο 2 προγράμματα στη μνήμη, κάθε χρονική στιγμή Το λειτουργικό σύστημα Ηεφαρμογή μόνο μια εφαρμογή εκτός του Λ/Σ. μπορεί να επεξεργαστεί κάθε φορά Αυτή η προσέγγιση ονομάζεται: Διαχείριση Συνεχούς Μνήμης ολόκληρο το πρόγραμμα της εφαρμογής φορτώνεται σε ένα μεγάλο κομμάτι της μνήμης. 8

Διαχείριση Συνεχούς Μνήμης 2 Μια λογική διεύθυνση είναι απλά μια αριθμητική τιμή σχετική με το σημείο εκκίνησης του προγράμματος. Δημιουργούνται «λες και» το πρόγραμμα φορτώνεται στη θέση 0 της κυρίας μνήμης. Για να προσδιορίσουμε τη φυσική διεύθυνση, απλά προσθέτουμε τη λογική διεύθυνση στη διεύθυνση του σημείου εκκίνησης του προγράμματος στη φυσική κύρια μνήμη φυσική διεύθυνση = λογική διεύθυνση + σημείο εκκίνησης προγράμματος 9

Διαχείριση Συνεχούς Μνήμης -3 σημείο εκκίνησης προγράμματος (φυσική διεύθυνση) π.χ. 555555 Διεύθυνση 0 Ηλογική διεύθυνση L (222222) (φυσική διεύθυνση) μεταφράζεται στη φυσική διεύθυνση A+L (777777) 10

Άλλοι Μέθοδοι Διαχείρισης Μνήμης Άλλοι τρόποι διαχείρισης μνήμης παρέχουν περισσότερη ευελιξία Διαμερισμένη μνήμη: η μνήμη είναι χωρισμένη σε κομμάτια σταθερού μεγέθους ή σε κομμάτια που το μέγεθός τους καθορίζεται από τις ανάγκες των προγραμμάτων Σελιδοποιημένη μνήμη: τα προγράμματα χωρίζονται σε σελίδες σταθερού μεγέθους που φυλάσσονται σε πλαίσια μνήμης όταν φορτώνονται στη μνήμη. 11

Διαχείριση Διαμοιρασμένης Μνήμης 1 Στητεχνικήαυτήηκύριαμνήμηείναιχωρισμένηείτεσετμήματα (partitions) σταθερού μεγέθους (fixed partitions) ή σε τμήματα των οποίων το μέγεθος καθορίζεται (dynamic partitions) από τις ανάγκες των προγραμμάτων. Κάθε φορά που ένα πρόγραμμα φορτώνεται στη κύρια μνήμη για να εκτελεστεί καταλαμβάνεται μόνο απαιτούμενος χώρος στην κύρια μνήμη. Αντίστοιχα με την ολοκλήρωση της εκτέλεσης κάποιου προγράμματος ο χώρος που αυτό καταλάμβανε απελευθερώνεται. Αν τα υπάρχοντα τμήματα στη μνήμη δεν επαρκούν για την τοποθέτηση του νέου προς εκτέλεση προγράμματος τότε το πρόγραμμα δεν μπορεί να εκτελεστεί. 12

Διαχείριση Διαμοιρασμένης Μνήμης 2 Σε περίπτωση που το προς εκτέλεση πρόγραμμα χωράει σε περισσότερα του ενός τμήματα τότε υπάρχουν τρεις διαφορετικές προσεγγίσεις σχετικά σε ποιο τμήμα θα τοποθετηθεί: Πρώτο ταίριασμα. Σε αυτή τη περίπτωση το πρόγραμμα τοποθετείται στο πρώτο τμήμα στο οποίο χωράει. Καλύτερο ταίριασμα. Σε αυτή τη περίπτωση το πρόγραμμα τοποθετείται στο μικρότερο τμήμα στο οποίο χωράει. Χειρότερο ταίριασμα. Σε αυτή τη περίπτωση το πρόγραμμα τοποθετείται στο μεγαλύτερο τμήμα μνήμης. 13

Διαχείριση Διαμοιρασμένης Μνήμης 3 Η δέσμευση μνήμης (ταύτιση λογικών με φυσικές διευθύνσεις) πραγματοποιείται με τον εξής μηχανισμό: Όταν κάποιο πρόγραμμα φορτωμένο στη κύρια μνήμη (διεργασία) πάρει σειρά εκτέλεσης από τη KME (δηλαδή περιέλθει σε κατάσταση running) τότε σε ένα καταχωρητή εντός της KME (καταχωρητής βάσης - base register) τοποθετείται η διεύθυνση αρχής του προγράμματος (διεύθυνση A στο παράδειγμα του σχήματος). Το μέγεθος του τμήματος μνήμης στο οποίο είναι αποθηκεμένο το πρόγραμμα (στο παράδειγμα του σχήματος η τιμή length) τοποθετείται σε ένα άλλο καταχωρητή εντός της KME (καταχωρητής ορίων - bounds register). Αφού ελεγχθεί ότι η λογική διεύθυνση βρίσκεται εντός του τμήματος (L < length) τότε η φυσική διεύθυνση προκύπτει από την άθροιση στη τιμής της λογικής διεύθυνσης (τιμή L) της τιμής που βρίσκεται στον καταχωρητή βάσης δίνοντας ως αποτέλεσμα τη φυσική διεύθυνση A+L. 14

Διαχείριση Σελιδοποιημένης Μνήμης Στητεχνικήαυτήηκύριαμνήμηείναιχωρισμένηείτεσεμικρά τμήματα (frames) σταθερού μεγέθους. Αντίστοιχα η μνήμη που απαιτούν τα προγράμματα είναι και αυτή χωρισμένη σε τμήματα, τα οποία ονομάζονται σελίδες (pages), συνήθως ιδίου μεγέθους όπως τα τμήματα της μνήμης. Τα προγράμματα φορτώνονται στη μνήμη ανά σελίδες οι οποίες τοποθετούνται, εν γένει, σε μη συνεχόμενα frames. Για κάθε πρόγραμμα δημιουργείται ένας πίνακας (Page-Map Table) ο οποίος περιλαμβάνει την αντιστοίχηση σελίδων με frames. Κάθε λογική διεύθυνση περιγράφεται από δύο αριθμούς (page,offset) τη σελίδα (page) στην οποία υπάγεται και τη θέση της εντός της σελίδας (offset). 15

Τεχνικές Διαχείρισης της Μνήμης Ποιο σκοπό έχουν οι διάφορες τεχνικές διαχείρισης της μνήμης Σκοπός των τεχνικών διαχείρισης της μνήμης είναι η καλύτερη αξιοποίηση της, λόγω του περιορισμένου μεγέθους της, και την αδυναμία της κύριας μνήμης να χωράει όλα τα προγράμματα μαζί. Τα συστήματα διαχείρισης μνήμης μπορούν να διαιρεθούν σε δύο κατηγορίες: σε αυτά που εναλλάσσουν διεργασίες μεταξύ κύριας μνήμης και δίσκου κατά την εκτέλεση τους, και σε αυτά που δεν εφαρμόζουν τέτοιες πρακτικές. Τα παλαιότερα συστήματα εκτελούσαν μόνο ένα πρόγραμμα σε κάθε χρονική στιγμή, ενώ η μνήμη διαμοιραζόταν ανάμεσα στο Λειτουργικό Σύστημα και στο συγκεκριμένο πρόγραμμα. Τα νεότερα συστήματα ακολουθούν τεχνικές εναλλαγής (swapping) και σελιδοποίησης (paging), που είναι τεχνητές οντότητες που επινοήθηκαν επειδή υπήρχε έλλειψη αρκετής κύριας μνήμης. 16

Ιεραρχία Μνήμης Πως είναι οργανωμένη η ιεραρχία της μνήμης; Ποιο είδος μνήμης βρίσκεται στην κορυφή της ιεραρχίας; Στην ιδανική περίπτωση θα θέλαμε μια απείρως μεγάλη και γρήγορη μνήμη, η οποία μάλιστα να είναι μη πτητική, δηλαδή να μη χάνει τα περιεχόμενα της όταν διακόπτεται η παροχή ρεύματος. υστυχώς όμως δεν υπάρχει τέτοια μνήμη. Οι περισσότεροι υπολογιστές διαθέτουν κάποια Ιεραρχία Μνήμης, δηλαδή μια μικρή ποσότητα ταχύτατης, πανάκριβης, πτητικής κρυφής μνήμης, δεκάδες Megabyte από,μνήμη μέσης ταχύτητας και μέσου κόστους (η κύρια μνήμη RAM), και δεκάδες ή εκατοντάδες Gigabyte αργού, φτηνού, μη πτητικού αποθηκευτικού χώρου (σκληρός δίσκος). Το Λ/Σ έχει σκοπό να συντονίζει όλες αυτές τις μνήμες. 17

Ιεραρχία Μνήμης 2 Σε μια τυπική ιεραρχία μνήμης, στο ανώτερο επίπεδο βρίσκονται οι καταχωρητές της ΚΜΕ, οι οποίοι χρησιμοποιούνται για την προσωρινή αποθήκευση εντολών και δεδομένων. Η ταχύτητα των καταχωρητών είναι πολύ υψηλή (ίση με τη ταχύτητα του επεξεργαστή), η χωρητικότητά τους είναι πολύ μικρή ενώ το κόστος κατασκευής των καταχωρητών είναι υψηλό. Ακολουθεί η κρυφή μνήμη η οποία διαθέτει ταχύτητα μεγαλύτερη από εκείνη της κύριας μνήμης. Η κρυφή μνήμη αξιοποιεί την αρχή της τοπικότητας της αναφοράς και περιέχει αντίγραφα τμημάτων της κύριας μνήμης, με σκοπό τη γρήγορη τροφοδότηση του επεξεργαστή με τα δεδομένα που χρειάζεται. Συνήθως υλοποιείται με ψηφίδες στατικής μνήμης (SRAM). Ακολουθεί η κύρια μνήμη, η οποία υλοποιείται με ψηφίδες δυναμικής μνήμης (DRAM), οι οποίες χαρακτηρίζονται από μεγαλύτερο χρόνο προσπέλασης και μικρότερο κόστος ανά μονάδα αποθηκευμένης πληροφορίας. Οι μαγνητικοί και οι οπτικοί δίσκοι τοποθετούνται στα δύο επόμενα επίπεδα, ενώ στη βάση συναντούμε τις μονάδες μαγνητικών ταινιών, με κύρια χρήση τη μόνιμη και ασφαλή αποθήκευση μεγάλου όγκου δεδομένων, αλλά και τη διατήρηση αντιγράφων ασφαλείας. Λόγω των ηλεκτρομηχανικών διαδικασιών προσπέλασης στα δεδομένα, η ταχύτητα προσπέλασης είναι σχετικά χαμηλή. Οι μαγνητικοί δίσκοι προσφέρονται για την υλοποίηση του μηχανισμού της εικονικής μνήμης. 18

Ιδεατή Μνήμη Για να εκτελεστεί ένα πρόγραμμα είναι απαραίτητο να φορτωθεί στην κύρια μνήμη του υπολογιστή. Όταν το πρόγραμμα είναι μικρότερο από το μέγεθος της κύριας μνήμης, τότε δεν υπάρχει κανένα πρόβλημα. Πρόβλημα υπάρχει, όταν το πρόγραμμα είναι μεγαλύτερο από την κύρια μνήμη ή από το τμήμα της κύριας μνήμης που διατίθεται γι αυτό, στην περίπτωση του πολυπρογραμματισμού. Στα σύγχρονα συστήματα υπολογιστών χρησιμοποιείται η τεχνική της ιδεατής μνήμης, η οποία υλοποιείται με τη χρήση ενός τμήματος του σκληρού δίσκου σαν μία λογική επέκταση της κύριας μνήμης. Το Λειτουργικό Σύστημα σε συνεργασία με το κατάλληλο υλικό κρατάει στην κύρια μνήμη εκείνα τα τμήματα του προγράμματος που χρησιμοποιούνται και τα υπόλοιπα τα διατηρεί στοσκληρόδίσκο. Τα τμήματα αυτά μεταφέρονται στην κύρια μνήμη, όταν ζητηθούν. Αντίστοιχα τμήματα της κύριας μνήμης μπορούν να μεταφερθούν στο δίσκο, όταν δε χρησιμοποιούνται. Για την επιλογή των τμημάτων που θα μεταφερθούν χρησιμοποιούνται ειδικοί αλγόριθμοι. Η διαδικασία αυτή ονομάζεται εναλλαγή (swapping). Η τεχνική αυτή απαλλάσσει τον προγραμματιστή από την ανάγκη να χωρίσει το πρόγραμμα του σε τμήματα ικανά να μεταφερθούν σε συγκεκριμένο μέγεθος της κύριας μνήμης. Τα προγράμματά χρησιμοποιούν ιδεατές διευθύνσεις, δηλαδή απευθύνονται σε μία ιδεατή μνήμη η οποία έχει πολύ μεγαλύτερο μέγεθος από την κύρια μνήμη ενός υπολογιστή. Όταν το πρόγραμμα εκτελεστεί, τότε το Λειτουργικό Σύστημα με τη συνεργασία του υλικού αναλαμβάνει να μετατρέψει τις ιδεατές διευθύνσεις σε πραγματικές. 19

Κατάτμηση (segmentation) Η Κατάτμηση (segmentation) είναι ένα σχήμα διαχείρισης της μνήμης που υποστηρίζει την άποψη του χρήστη για τη μνήμη. Η κατάτμηση επιτρέπει το διαχωρισμό της μνήμης μιας διεργασίας σε πολλά γραμμικά τμήματα. Τα τμήματα αυτά για κάθε διεργασία μπορούν να περιέχουν: Τον κώδικα Τη στοίβα Τα αρχικοποιημένα δεδομένα Το χώρο ανάπτυξης της δυναμικής μνήμης Η κατάτμηση επιτρέπει: την εύκολη μεταφορά του κώδικα, αφού κάθε τμήμα του εκφράζεται σχετικά με την αρχή του τμήματος. την προστασία των δεδομένων ανάλογα με τον τύπο τους. Πχ Κώδικας Αρχικοποιημένα δεδομένα Σωρός υναμική μνήμη Μόνο εκτέλεση Μόνο ανάγνωση Ανάγνωση και εγγραφή Ανάγνωση και εγγραφή Την υλοποίηση διαμοιραζομένων βιβλιοθηκών (shared libraries) Η κατάτμηση υλοποιείται με βάση δομών στη μνήμη που καλούνται περιγραφείς (descriptors) και περιέχουν τα χαρακτηριστικά στοιχεία κάθε τμήματος (θέση στην πραγματική μνήμη, προστασία, μέγεθος). 20

Λογική άποψη της κατάτμησης 1 2 1 4 3 4 2 3 Χώρος χρήστη Χώρος φυσικών διευθύνσεων 21

Παράδειγμα κατάτμησης 22

Διαμοιρασμός τμημάτων 23