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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

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

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

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

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

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

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

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

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

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

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

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

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

ροµολόγηση Επεξεργαστή

Αμοιβαίος αποκλεισμός

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

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

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

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

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

Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

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

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

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

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

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

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

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

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

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

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

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

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

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

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

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

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

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη προσοχή Νόμος του Parkinson «Τα προγράμματα τείνουν να καταλάβουν τόσο χώρο στη μνήμη, όσο τους προσφέρεται» Διαχειριστής Μνήμης (Memory Manager): Το τμήμα του λειτουργικού συστήματος που διαχειρίζεται τη μνήμη Τα βασικά του καθήκοντα είναι : Να παρακολουθεί ποια τμήματα της μνήμης είναι σε χρήση και ποια όχι. Να χορηγεί μνήμη σε διεργασίες όποτε την χρειάζονται. Να επαναχορηγεί σε άλλες την μνήμη όταν οι πρώτες ολοκληρώνουν την αποστολή τους. Να διαχειρίζεται την εναλλαγή (swapping) πληροφοριών μεταξύ κύριας μνήμης και δίσκου, όταν η κύρια μνήμη δεν είναι αρκετή για να εξυπηρετηθούν όλες οι διεργασίες. 2 1

ΙΑΧΕΙΡΗΣΗ ΜΝΗΜΗΣ ΧΩΡΙΣ ΕΝΑΛΛΑΓΗ Ή ΣΕΛΙ ΟΠΟΙΗΣΗ Διάκριση Συστημάτων Διαχείρισης Μνήμης Αυτά που μετακινούν διεργασίες μεταξύ κύριας μνήμης και δίσκου κατά τη διάρκεια της εκτέλεσής τους (swapping και paging) Αυτά που δε διαθέτουν τέτοιες τεχνικές Τα τελευταία θα μελετηθούν πρώτα μιας και είναι πιο απλά. 3 ΜΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΩΡΙΣ EΝΑΛΛΑΓΗ ΚΑΙ ΣΕΛΙ ΟΠΟΙΗΣΗ (1/2) ιεργασία Χρήστη Λειτουργικό Σύστημα στη RAM Λειτουργικό Σύστημα στη RΟΜ ιεργασία Χρήστη Οδηγοί Συσκευών στη RΟΜ ιεργασία Χρήστη Λειτουργικό Σύστημα στη RAM Απλούστερο δυνατό σύστημα διαχείρισης μνήμης Κάθε φορά έχουμε μόνο μία διεργασία στη μνήμη που επιτρέπεται να χρησιμοποιεί το σύνολό της Συνηθέστερη τεχνική: Η μνήμη διαμοιράζεται ανάμεσα στο λειτουργικό σύστημα και σε μία μόνο διεργασία χρήστη 4 2

ΜΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΩΡΙΣ EΝΑΛΛΑΓΗ ΚΑΙ ΣΕΛΙ ΟΠΟΙΗΣΗ Διαδικασία εκτέλεσης διεργασίας Εισαγωγή εντολής από το χρήστη Το λειτουργικό σύστημα φορτώνει στη μνήμη από το δίσκο το πρόγραμμα που ζητήθηκε και το εκτελεί Όταν η διεργασία τελειώσει, το λειτουργικό σύστημα τυπώνει ένα χαρακτήρα προτροπής και περιμένει μίανέαεντολήγιαναφορτώσειμια άλλη διεργασία 5 ΠΟΛΥΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΧΡΗΣΙΜΟΠΟΙΗΣΗ ΜΝΗΜΗΣ Ανάγκες για πολυπρογραμματισμό: Ευκολότερος ο προγραμματισμός μιας εφαρμογής χωρίζοντας την σε δύο ή περισσότερες διεργασίες Παροχή διαλογικών υπηρεσιών ταυτόχρονα (μέσων ενός μεγάλου υπολογιστή) σε ικανό αριθμό χρηστών. Αποδοτική χρήση της CPU όταν μια διεργασία βρίσκεται «μπλοκαρισμένη» περιμένοντας να ολοκληρωθούν διάφορες εργασίες εισόδου / εξόδου. Για να είναι λογικές οι επιδόσεις του συστήματος πρέπει να βρίσκονται περισσότερες από μια διεργασίες στην κύρια μνήμη. 6 3

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΤΟΥ ΠΟΛΥΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Έστω μια διεργασία καταναλώνει τμήμα p τουχρόνουτηςσε κατάσταση αναμονής για εργασίες εισόδου/εξόδου. Με n τέτοιες διεργασίες συγχρόνως στην μνήμη, η πιθανότητα όλες τους να περιμένουν για είσοδο/έξοδο (οπότε η CPU θα είναι αδρανής) είναι p n Αξιοποίηση της CPU = 1 p n Βαθμός πολυπρογραμματισμού είναι η αξιοποίηση της CPU συναρτήσει του n 7 ΠΟΛΥΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΣΤΑΘΕΡΑ ΤΜΗΜΑΤΑ ΜΝΗΜΗΣ Απλούστερος Τρόπος οργάνωσης της μνήμης ώστε να βρίσκονται σε αυτή περισσότερες από μία διεργασίες ταυτόχρονα: Διαίρεσητηςμνήμηςσετμήματα(partitions), ίσα ή άνισα Σύστημα με πολλές ουρές όπου τοποθετούνται οι διεργασίες που καταφθάνουν για να εκτελεσθούν. Η πρώτη προσέγγιση εξυπηρετεί την πρώτη διεργασία στην ουρά η οποία χωράει στο τμήμα της μνήμης που μόλις ελευθερώθηκε. Σύστημα με μία ουρά όπου τοποθετούνται οι διεργασίες που καταφθάνουν για να εκτελεσθούν Στην δεύτερη προσέγγιση τοποθετείται στο τμήμα που μόλις ελευθερώθηκε η μεγαλύτερη διεργασία που βρίσκεται στην ουρά και χωράει στο τμήμα αυτό. 8 4

ΠΟΛΥΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΣΤΑΘΕΡΑ ΤΜΗΜΑΤΑ ΜΝΗΜΗΣ 9 ΜΕΤΑΤΟΠΙΣΗ ΚΑΙ ΠΡΟΣΤΑΣΙΑ Δύοσημαντικάπροβλήματατου πολυπρογραμματισμού: ημετατόπιση(relocation) ηπροστασία(protection) Μετατόπιση: προσδιορισμός της διεύθυνσης μνήμης στην οποία θα μεταφερθεί ο έλεγχος του προγράμματος μετά από μια κλήση σε μια σχετική διεύθυνση x του προγράμματος που εκτελείται. Ηπραγματική διεύθυνση στην οποία θα δοθεί ο έλεγχος του προγράμματος είναι Διεύθυνση έναρξης του προγράμματος + x. Ύπαρξη δύο επιπλέον καταχωρητών Καταχωρητής Βάσης (base register): παίρνει ως τιμή τη διεύθυνση της αρχής του τμήματος Καταχωρητής Ορίου (limit register): παίρνει ως τιμή το μέγεθος του τμήματος π.χ. Αν ο καταχωρήτης βάσης περιέχει διεύθυνση που αντιστοιχεί στα 100Κ, μία εντολή της μορφής CALL 100 μετατρέπεται σε CALL 100K+100 10 5

ΕΝΑΛΛΑΓΗ Σε συστήματα διαμοιρασμού χρόνου (time sharing) υπάρχουν πολλοί χρήστες (πολλές διεργασίες) που πρέπει να εξυπηρετηθούν Ο αριθμός και το μέγεθος των διεργασιών είναι μεγαλύτερος από όσο μπορεί να χωρέσει στην μνήμη σύγχρονος. Εναλλαγή (swapping) : Mετακίνηση διεργασιών από την κύρια μνήμη στον δίσκο και αντίστροφα. 11 ΕΝΑΛΛΑΓΗ 12 6

ΕΝΑΛΛΑΓΗ 13 Ι ΕΑΤΗ ΜΝΗΜΗ Ηιδεατήμνήμη(virtual memory) παρουσιάζει στις διεργασίες παραπάνω μνήμη από αυτή που διαθέτει το σύστημα. Αυτό γίνεται χρησιμοποιώντας ιδεατές διευθύνσεις (virtual addresses) οι οποίες μεταφράζονται σε πραγματικές από τη μονάδα διαχείρισης μνήμης (memory management unit). Ο χώρος των ιδεατών διευθύνσεων διαιρείται σε ίσα μέρη που ονομάζονται σελίδες (pages). Ο χώρος της φυσικής μνήμης (physical memory) διαιρείται αντίστοιχα σε πλαίσια σελίδας (page frames). 14 7

Ι ΕΑΤΗ ΜΝΗΜΗ 15 ΣΕΛΙ ΟΠΟΙΗΣΗ Η σελιδοποίηση λύνει το πρόβλημα του εξωτερικού κατακερματισμού επιτρέποντας ταυτόχρονα την φόρτωση του προγράμματος σε διάσπαρτα τμήματα της κύριας μνήμης Η φυσική μνήμη χωρίζεται σε τμήματα ίσου μεγέθους (πλαίσια), ενώ η λογική μνήμη του προγράμματος χωρίζεται σε τμήματα με το ίδιο μέγεθος (σελίδες). Το μέγεθος είναι συνήθως 512-8192 bytes Η επιλογή της δύναμης του 2 για μέγεθος πλαισίου/σελίδας απλοποιεί τη μετατροπή μιας λογικής διεύθυνσης σε φυσική Η αντιστοίχιση του αριθμού μιας σελίδας και της φυσικής διεύθυνσης του πλαισίου γίνεται μέσω του πίνακα σελίδων (page table) 16 8

ΠΙΝΑΚΕΣ ΣΕΛΙ ΩΝ Αν ο αριθμός των bits των λογικών διευθύνσεων είναι m και το μέγεθος σελίδας είναι 2 n, τότε: τα «υψηλότερα» (most significant) m-n bits μιας λογικής διεύθυνσης προσδιορίζουν τον αριθμό της σελίδας και τα υπόλοιπα n bits τη μετατόπιση μέσα στην σελίδα Σημαντικά Προβλήματα Μεγάλος Πίνακας Σελίδων Γρήγορη Απεικόνιση 17 ΠΙΝΑΚΕΣ ΣΕΛΙ ΩΝ 18 9

ΑΛΓΟΡΙΘΜΟΙ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΣΕΛΙ ΩΝ Όταν προκύπτει λάθος σελίδας, το Λ.Σ. πρέπει να διαλέξει μια σελίδα και να την απομακρύνει για να εξασφαλίσει χώρο στη μνήμη για επόμενη σελίδα Η τροποποιημένη σελίδα πρέπει πρώτα να σωθεί Η μη τροποποιημένη απλώς διαγράφεται Καλύτερη επίδοση του συστήματος επιτυγχάνεται αν επιλεγεί μία σελίδα που δεν χρησιμοποιείται συχνά 19 ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΒΕΛΤΙΣΤΗΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΣΕΛΙ ΑΣ optimal page replacement algorithm Βασίζεται στο χρόνο μελλοντικής χρήσης της σελίδας Θεωρητικά είναι βέλτιστος αλγόριθμος Πρακτικά είναι αδύνατο να υλοποιηθεί αφού προϋποθέτει πρόβλεψη της μελλοντικής συμπεριφοράς των διεργασιών. 20 10

ΑΛΓΟΡΙΘΜΟΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΣΕΛΙ ΑΣ ΠΟΥ ΕΝ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΕ ΠΡΟΣΦΑΤΑ Not Recently Used Κάθε σελίδα έχει bit αναφοράς και bit τροποποίησης Τα bit ενεργοποιούνται όταν στη σελίδα γίνει αναφορά ή τροποποίηση Οι σελίδες κατηγοριοποιούνται 0. δεν έγινε αναφορά, δεν τροποποιήθηκε 1. δεν έγινε αναφορά, τροποποιήθηκε 2. έγινε αναφορά, δεν τροποποιήθηκε 3. έγινε αναφορά, τροποποιήθηκε Ο NRU αντικαθιστά τις σελίδες τυχαία Από την χαμηλότερη αριθμημένη μη άδεια τάξη 21 ΑΛΓΟΡΙΘΜΟΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΣΕΛΙ ΑΣ ΠΡΩΤΗ ΜΕΣΑ, ΠΡΩΤΗ ΕΞΩ (FIFO) first page in first page out Διατήρηση μιας λίστας με δεσμούς όλων των σελίδων Με τη σειρά που ήρθαν στη μνήμη Σελίδα στην αρχή της λίστας που αντικαταστάθηκε Μειονέκτημα Σελίδα στην μνήμη το περισσότερο που μπορεί να χρησιμοποιηθεί 22 11

ΑΛΓΟΡΙΘΜΟΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΣΕΛΙ ΩΝ ΕΥΤΕΡΗΣ ΕΥΚΑΙΡΙΑΣ second chance replacement algorithm Τροποποίηση του FIFO έτσι ώστε σελίδες που έχουν χρησιμοποιηθεί πρόσφατα όταν είναι υποψήφιες για αντικατάσταση να μεταφέρονται πάλι στην αρχή της ουράς Μειονέκτημα Είναι άσκοπα μη αποδοτικός μιας και διαρκώς μετακινεί σελίδες γύρω από τη λίστα 23 ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΡΟΛΟΓΙΟΥ clock Τροποποίηση του αλγορίθμου δεύτερης ευκαιρίας έτσι ώστε ο έλεγχος για τις σελίδες που έχουν χρησιμοποιηθεί να γίνεται κυκλικά και να μη μεταφέρονται στην αρχή της ουράς. Διαφέρει από τον αλγόριθμο δεύτερης ευκαιρίας μόνο στην υλοποίηση 24 12

ΑΛΓΟΡΙΘΜΟΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΤΗΣ ΛΙΓΟΤΕΡΟ ΠΡΟΣΦΑΤΑ ΧΡΗΣΙΜΟΠΟΙΗΜΕΝΗΣ ΣΕΛΙ ΑΣ least recently used Κάθε σελίδα σχετίζεται με έναν μετρητή ο οποίος μετράει τον αριθμό των προσβάσεων στη σελίδα. Η σελίδες με τις λιγότερες προσβάσεις είναι αυτές που απομακρύνονται. Όλοι οι αλγόριθμοι που περιγράφηκαν εξαρτώνται από ειδικό υλικό και δεν βοηθούν στη σχεδίαση ενός Λ.Σ. Που δεν έχει αυτό το υλικό 25 ΜΕΓΕΘΟΣ ΣΕΛΙ ΑΣ Μικρό μέγεθος σελίδας Πλεονεκτήματα Λιγότερη εσωτερική κατάτμηση Διάφορες δομές δεδομένων χωράνε καλύτερα,τομείς κώδικα Λιγότερο αχρησιμοποίητο πρόγραμμα στην μνήμη Μειονεκτήματα Τα προγράμματα χρειάζονται περισσότερες σελίδες, μεγαλύτεροι πίνακες σελίδων Επιβάρυνση λόγω του πίνακα σελίδας και της εσωτερικής κατάτμησης 26 13

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

ΚΑΤΑΤΜΗΣΗ 29 ΚΑΤΑΤΜΗΣΗ 30 15

ΚΑΤΑΤΜΗΣΗ ΜΕ ΣΕΛΙ ΕΣ 31 16