Ενότητα 8 (Κεφάλαιο 8) Ιδεατή Μνήμη

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ενότητα 8 (Κεφάλαιο 8) Ιδεατή Μνήμη"

Transcript

1 ΕΠΛ: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 8 (Κεφάλαιο 8) Ιδεατή Μνήμη Οι διαφάνειες αυτές έχουν συμπληρωματικό και επεξηγηματικό χαρακτήρα και σε καμία περίπτωση δεν υποκαθιστούν το βιβλίο Γιώργος Α. Παπαδόπουλος Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android. Ορολογία 1

2 Βασικά χαρακτηριστικά αποθήκευσης διεργασιών στη μνήμη Oι τεχνικές σελιδοποίησης και κατάτμησης που εξετάστηκαν έχουν δύο βασικά χαρακτηριστικά: Oι αναφορές σε διευθύνσεις μνήμης είναι λογικές και αποκωδικοποιούνται δυναμικά για να δώσουν τις αντίστοιχες απόλυτες (φυσικές) τιμές τους. Μία διεργασία μπορεί να απομακρυνθεί από τη μνήμη και κατόπιν να επανέλθει σε αυτήν και όχι κατ ανάγκη στον ίδιο χώρο που χρησιμοποίησε στο παρελθόν. Tα μέρη από τα οποία αποτελείται ένα πρόγραμμα (είτε είναι σελίδες είτε είναι τμήματα) δεν χρειάζεται να βρίσκονται στη μνήμη σε συνεχόμενες θέσεις. Αυτό επιτυγχάνεται με χρήση τεχνικών μετατόπισης. 4 Άμεσο επακόλουθο των προηγούμενων χαρακτηριστικών Αν ισχύουν τα ανωτέρω χαρακτηριστικά, τότε δεν είναι απαραίτητο όλες οι σελίδες ή τμήματα μίας διεργασίας να βρίσκονται στη μνήμη την ίδια στιγμή. Αν η επόμενη εντολή και τα δεδομένα που εμπλέκονται στην εκτέλεσή της βρίσκονται σε κάποια σελίδα ή πλαίσιο που είναι ήδη στη μνήμη, η εκτέλεση της διεργασίας μπορεί να συνεχίσει τουλάχιστον για κάποιο χρονικό διάστημα. Η παρατήρηση αυτή έγινε από τον Fotheringham το 1961 και αποτελεί τη βάση της ανάπτυξης της τεχνικής της ιδεατής μνήμης. Στρατηγική εκτέλεσης μίας διεργασίας 1 Αν πρέπει να φορτωθεί στη μνήμη μία νέα διεργασία, το Λ.Σ. μεταφέρει σε αυτήν μόνο ένα μέρος της. Το οποίο είναι το υπάρχον στη μνήμη μέρος (resident set). Όσο οι αναφορές σε λογικές διευθύνσεις βρίσκονται στο υπάρχον στη μνήμη μέρος της διεργασίας (κάτι το οποίο μπορεί να ελέγξει το Λ.Σ. από τις πληροφορίες που βρίσκονται στους πίνακες σελίδων ή τμημάτων), η εκτέλεση γίνεται κανονικά. Αν πρέπει να γίνει αναφορά σε λογική διεύθυνση η οποία δεν ανήκει στο υπάρχον στη μνήμη μέρος της διεργασίας, τότε δημιουργείται ένα λάθος πρόσβασης μνήμης και η διεργασία τίθεται υπό αναστολή. Το λάθος πρόσβασης μνήμης μπορεί να είναι σφάλμα σελίδας (page fault) ή σφάλμα τμήματος (segment fault), ανάλογα με το αν χρησιμοποιείται σελιδοποίηση ή κατάτμηση. 6

3 Στρατηγική εκτέλεσης μίας διεργασίας Το Λ.Σ. πρέπει τώρα να μεταφέρει στη μνήμη το μέρος εκείνο της διεργασίας στο οποίο ανήκει η λογική διεύθυνση η οποία δημιούργησε το λάθος πρόσβασης μνήμης. Αυτό επιτυγχάνεται με μία εντολή Ε/Ε στο δίσκο. Όσο διαρκεί η ενέργεια αυτή, το Λ.Σ. επιλέγει μία άλλη διεργασία για να εκτελεσθεί. Όταν το μέρος της αρχικής διεργασίας που βρισκόταν στο δίσκο φορτωθεί στη μνήμη, η διεργασία αυτή επανέρχεται σε κατάσταση έτοιμη για εκτέλεση. 7 Επιπτώσεις αυτής της στρατηγικής Περισσότερες διεργασίες μπορούν να βρίσκονται στην κύρια μνήμη. Μόνο ένα μέρος της κάθε διεργασίας χρειάζεται να βρίσκεται στη μνήμη. Περισσότερες πιθανότητες να υπάρχει πάντα κάποια διεργασία έτοιμη για εκτέλεση και επομένως να γίνεται πιο αποδοτική χρήση της ΚΜΕ. Το μέγεθος σε μνήμη μίας διεργασίας μπορεί να είναι μεγαλύτερο από τη διαθέσιμη κύρια μνήμη. Λαμβάνοντας υπ όψη ότι η περιφερειακή μνήμη είναι πολύ μεγάλη, δεν υπάρχει ουσιαστικά κανένας περιορισμός για το μέγεθος μίας διεργασίας. 8 Πραγματική και ιδεατή μνήμη Πραγματική μνήμη. Η κύρια μνήμη. Ιδεατή μνήμη. Η περιφερειακή μνήμη του δίσκου. Ο πίνακας 8. συγκρίνει τα χαρακτηριστικά των τεχνικών της σελιδοποίησης και της κατάτμησης με και χωρίς χρήση ιδεατής μνήμης. 9

4 Ατέρμονη προσκόμιση πληροφοριών στη μνήμη Στη συνήθη περίπτωση, σχεδόν όλη η κύρια μνήμη θα είναι καταλυμένη από διεργασίες. Επομένως, όταν πρέπει να προσκομισθεί στη μνήμη ένα μέρος μίας διεργασίας, κάποιο άλλο μέρος πρέπει να απομακρυνθεί από εκεί. Αν το μέρος που επιλεχθεί να απομακρυνθεί ζητηθεί αμέσως μετά την απομάκρυνσή του και αυτό το φαινόμενο συνεχισθεί για κάποιο χρονικό διάστημα, τότε το σύστημα θα σπαταλάει τον περισσότερο από το χρόνο του στο να μεταφέρει πληροφορίες από και προς την κύρια μνήμη αντί να εκτελεί εντολές (thrashing). Η αποφυγή αυτού του φαινομένου ήταν σημαντικό ερευνητικό πρόβλημα τη δεκαετία του 70 και οδήγησε στο σχεδιασμό αριθμού αλγορίθμων που βασίζονται στην προσπάθεια πρόγνωσης για τις πιθανότητες ενός μέρους διεργασίας να χρειασθεί στο άμεσο μέλλον αναλύοντας το ιστορικό της διεργασίας. 10 Τοπικότητα των αναφορών Η αρχή της τοπικότητας των αναφορών (principle of locality) ορίζει ότι ανά πάσα χρονική στιγμή η ροή εκτέλεσης ενός προγράμματος εστιάζεται μόνο σε ένα μέρος του κώδικα και των δεδομένων του προγράμματος. Κατ επέκταση, μόνο το μέρος της διεργασίας στο οποίο βρίσκονται η ομάδα των τρεχουσών εκτελούμενων εντολών και τα σχετιζόμενα με αυτές δεδομένα χρειάζεται να βρίσκεται στη μνήμη για το άμεσο μέλλον. Επιπλέον, είναι δυνατόν να κάνουμε ευφυείς προβλέψεις για τα μέρη μίας διεργασίας που θα χρειασθούν στο άμεσο μέλλον, ώστε να μην τα απομακρύνουμε από τη μνήμη και να αποφύγουμε το φαινόμενο του thrashing. Η τοπικότητα των αναφορών είναι άμεση θετική επίπτωση της χρήσης αρθρωτών και δομημένων τεχνικών προγραμματισμού. 11 Εικονική αναπαράσταση της τοπικότητας των αναφορών Παρατηρήστε ότι κατά τη διάρκεια εκτέλεσης της διεργασίας, η αναφορά σε διευθύνσεις εστιάζεται σε υποσύνολο των σελίδων. 1 4

5 Υλοποίηση της ιδεατής μνήμης Για την αποτελεσματική υλοποίηση της τεχνικής της ιδεατής μνήμης, απαιτούνται δύο προϋποθέσεις: Το υλικό του συστήματος πρέπει να υποστηρίζει σελιδοποίηση ή/και κατάτμηση. Το Λ.Σ. πρέπει να υποστηρίζει μηχανισμούς μεταφοράς σελίδων ή/και τμημάτων μεταξύ κύριας και περιφερειακής μνήμης. 1 Σελιδοποίηση με χρήση ιδεατής μνήμης O μηχανισμός παραμένει λίγο πολύ ο ίδιος άλλα τώρα θα πρέπει να ληφθεί υπ όψη ότι οι σελίδες εναλλάσσονται μεταξύ κύριας και περιφερειακής μνήμης. Έτσι κάθε εγγραφή στον πίνακα σελίδων έχει επιπλέον πληροφορίες ελέγχου: Tο bit παρουσίας/απουσίας δηλώνει αν η σελίδα βρίσκεται στην κύρια ή στην περιφερειακή μνήμη. Tο bit τροποποίησης (modified bit) δηλώνει αν η σελίδα έχει υποστεί αλλαγές από τότε που εισήλθε στην κύρια μνήμη. Tο bit αναφοράς (referenced bit) δηλώνει αν η σελίδα έχει χρησιμοποιηθεί από το πρόγραμμα για γράψιμο ή για διάβασμα. Tέλος, υπάρχουν άλλα bits ελέγχου όπως bits προστασίας, κλπ. 14 Πίνακας σελίδων 1

6 Αποκωδικοποίηση διευθύνσεων Virtual Address Physical Address Page # Offset Frame # Offset Register n bits Page Table Ptr Page Table m bits + Page# Offset Page Frame Frame # Program Paging M echanism M ain M emory Figure 8. Address Translation in a Paging System 16 Υλοποίηση πίνακα σελίδων Από τη στιγμή που ο αριθμός των σελίδων δεν περιορίζεται από το μέγεθος της κύριας μνήμης, ο πίνακας σελίδων τείνει να γίνεται μεγάλος. Tο να υπάρχουν πίνακες της τάξης του 1 εκατομμυρίου εγγραφών (δηλαδή 1 εκατομμύριο σελίδες) είναι σύνηθες φαινόμενο. Σημειωτέον ότι κάθε διεργασία έχει το δικό της πίνακα! Αυτό δημιουργεί δύο προβλήματα: Γρήγορη προσπέλαση στα περιεχόμενά του, μία πράξη η οποία είναι συνεχής (για αποκωδικοποίηση διευθύνσεων και εναλλαγή σελίδων). Δέσμευση σημαντικού μέρους της μνήμης για την αποθήκευση των πινάκων σελίδων των διεργασιών που εκτελούνται. Έτσι ακόμα και ο πίνακας σελίδων πρέπει να χωρισθεί σε σελίδες και το μεγαλύτερο μέρος του να βρίσκεται στην περιφερειακή μνήμη. Αυτό οδηγεί στην οργάνωση του πίνακα σε πολλαπλά (περισσότερα του ενός) επίπεδα και την αποθήκευση μερικών από αυτών στο 17 δίσκο. Ιεραρχική, δύο επιπέδων, υλοποίηση του πίνακα σελίδων 4-kbyte root page table 4-M byte user page table 4-Gbyte user address space Figure 8. A Two-Level Hierarchical Page Table 18 6

7 Αποκωδικοποίηση διευθύνσεων με χρήση ιεραρχικού πίνακα Virtual Address 10 bits 10 bits 1 bits Frame # Offset Root page table ptr + + Page Frame Root page table (contains 104 PTEs) 4-kbyte page table (contains 104 PTEs) Program Paging M echanism M ain M emory Figure 8.4 Address Translation in a Two-Level Paging System 19 Μέγεθος του ιεραρχικού πίνακα σελίδων Ένα μειονέκτημα του συγκεκριμένου είδους πίνακα σελίδων είναι ότι το μέγεθός του αυξάνεται αναλογικά με το μέγεθος της ιδεατής μνήμης. Επομένως, δυνητικά μπορεί να είναι πολύ μεγάλος. Μία εναλλακτική λύση είναι η χρήση ανεστραμμένων πινάκων σελίδων (inverted page tables). 0 Ανεστραμμένοι πίνακες σελίδων Χρησιμοποιούνται στις αρχιτεκτονικές PowerPC, UltraSPARC, και IA-64. Οι αριθμοί των σελίδων που βρίσκονται στην ιδεατή μνήμη αντιστοιχίζονται σε ένα κωδικό τεμαχίου (hash value) μέσω μίας αντίστοιχης συνάρτησης (hash function). Ο κωδικός αυτός είναι ένας δείκτης στον ανεστραμμένο πίνακα που περιέχει τις πληροφορίες για τις σελίδες. Ο ανεστραμμένος πίνακας έχει μία εγγραφή για κάθε φυσικό πλαίσιο σελίδας του συστήματος (αντί για κάθε υπάρχουσα σελίδα), γι αυτό και ονομάσθηκε ανεστραμμένος. Επομένως το μέγεθός του είναι σταθερό και ανάλογο με το μέγεθος της κύριας μνήμης. Επειδή περισσότερες από μία ιδεατές διευθύνσεις πιθανόν να αντιστοιχούν σε ένα κωδικό τεμαχίου, δημιουργούνται αλυσίδες οι οποίες όμως είναι συνήθως μικρού μεγέθους (1- εγγραφές). 1 7

8 Περιεχόμενα ενός ανεστραμμένου πίνακα σελίδων Αριθμός σελίδας. Είναι το μέρος της ιδεατής διεύθυνσης μνήμης της σελίδας που αναφέρεται στον αριθμό της. Ταυτότητα της διεργασίας. Η διεργασία στην οποία ανήκει η σελίδα. Ο συνδυασμός αριθμού σελίδας και ταυτότητας διεργασίας αποτελεί μοναδική αναφορά μίας σελίδας μέσα στο ιδεατό χώρο διευθύνσεων μίας διεργασίας. Bits ελέγχου. Παρόμοια με αυτά που χρησιμοποιούνται στον κλασσικό πίνακα σελίδων. Δείκτης αλυσίδας. Δείχνει στην επόμενη εγγραφή στην αλυσίδα. Απεικόνιση ανεστραμμένου πίνακα Virtual Address σελίδων n bits Page # Offset Control n bits bits Process hash m bits Page # ID Chain function 0 i j m 1 I nverted Page Table (one entry for each physical memory frame) Figure 8. Inverted Page Table Structure Frame # Offset m bits Real Address Ενδιάμεση Μνήμη Μετάφρασης Για την απεικόνιση μίας ιδεατής διεύθυνσης στην αντίστοιχή της φυσική διεύθυνση, απαιτούνται δύο προσβάσεις στη μνήμη: Μία για το διάβασμα της αντίστοιχης εγγραφής στον πίνακα σελίδων. Μία για την προσαγωγή των σχετικών δεδομένων. Για την επιτάχυνση της διαδικασίας αυτής χρησιμοποιείται ένα είδος πολύ γρήγορης μνήμης που λέγεται ενδιάμεση μνήμη μετάφρασης (translation lookaside buffer). Περιέχει τις εγγραφές του πίνακα σελίδων για τις σελίδες εκείνες που χρησιμοποιήθηκαν πιο πρόσφατα. 4 8

9 Χρήση ενδιάμεσης μνήμης μετάφρασης Για την αποκωδικοποίηση μίας ιδεατής διεύθυνσης μνήμης εξετάζονται πρώτα τα περιεχόμενα της ενδιάμεσης μνήμης μετάφρασης. Αν η σχετική εγγραφή του πίνακα σελίδων βρίσκεται εκεί, τότε ο αριθμός του αντίστοιχου πλαισίου σελίδων ανακτάται και χρησιμοποιείται για τον καθορισμό της αντίστοιχης φυσικής διεύθυνσης μνήμης. Διαφορετικά, ο αριθμός της σελίδας (από την ιδεατή διεύθυνση μνήμης) χρησιμοποιείται για να βρεθεί η σχετική εγγραφή στον πίνακα σελίδων. Αν η σελίδα δεν βρίσκεται στην κύρια μνήμη, τότε δημιουργείται σφάλμα σελίδας. Σε κάθε περίπτωση, τα περιεχόμενα της ενδιάμεσης μνήμης μετάφρασης ενημερώνονται με τις σχετικές πληροφορίες της νέας σελίδας. Απεικόνιση χρήσης ενδιάμεσης μνήμης μετάφρασης Main Memory Virtual Address Page # Offset Secondary Memory Translation Lookaside Buffer TLB hit Offset Page Table Load page TLB miss Frame # Offset Real Address Page fault Figure 8.6 Use of a Translation Lookaside Buffer 6 Ροή πράξεων με χρήση ενδιάμεσης μνήμης μετάφρασης Star t Return to Faulted Instruction CPU checks the TLB Page Table Entry in TLB? Yes No Page Fault Handling Routine OS Instructs CPU to Read the Page from Disk CPU Activates I/O Hardware No Access Page Table Page in M ain Memory? Yes Update TLB Page Transferred from Disk to Main Memory CPU Generates Physical Address Memory Full? Yes No Perform Page Replacement Page Tables Updated 7 Figure 8.7 Operation of Paging and Translation Lookaside Buffer (TLB) [FURH87] 9

10 Συσχετιστική Απεικόνιση Επειδή η ενδιάμεση μνήμη μετάφρασης περιέχει μόνο μερικές από τις εγγραφές του πίνακα σελίδων, κάθε εγγραφή της περιέχει όχι μόνο τον αριθμό μίας σελίδας αλλά και όλη την εγγραφή για τη σελίδα αυτή. Ο επεξεργαστής έχει τη δυνατότητα να κάνει ταυτόχρονη προσπέλαση σε όλες τις εγγραφές της ενδιάμεσης μνήμης μετάφρασης για να βρει αν υπάρχει εκεί η σελίδα που ψάχνει. Αυτό λέγεται συσχετιστική απεικόνιση (associative mapping) και καθίσταται δυνατόν από την ίδια τη φύση των καταχωρητών που αποτελούν την ενδιάμεση μνήμη μετάφρασης. Tο ποσοστό επιτυχίας (hit ratio) στο να βρεθούν οι ζητούμενες πληροφορίες στην ενδιάμεση μνήμη μετάφρασης παίζει πρωτεύοντα ρόλο στην ταχύτητα αποκωδικοποίησης των ιδεατών διευθύνσεων. 8 Ενδιάμεση μνήμη μετάφρασης vs. πίνακα σελίδων Virtual Address Virtual Address Page # Offset Page # Offset Page # PT Entries Frame # Offset Real Address 7 0 Translation Lookaside Buffer Frame # Offset Real Address Page Table (a) Direct mapping (b) Associative mapping 9 Figure 8.8 Direct Versus Associative Lookup for Page Table Entries Συνδυασμός ενδιάμεσης μνήμης μετάφρασης με γρήγορη μνήμη TLB Operation Virtual Address Page # Offset TLB TLB miss TLB hit Real Address Cache Operation + Tag Remainder Cache Hit Value Miss Main Memory Page Table Value Figure 8.9 Translation Lookaside Buffer and Cache Operation 0 10

11 Μέγεθος σελίδας Aν είναι σχετικά μικρό ελαττώνει τον εσωτερικό κατακερματισμό της τελευταίας σελίδας ενός προγράμματος. Όμως αυξάνει το μέγεθος του πίνακα σελίδων (και κατ επέκταση το χρόνο προσπέλασής του και το χώρο μνήμης που χρειάζεται για αποθήκευση). Aν είναι σχετικά μεγάλο αντιστρέφεται το πρόβλημα. Σημειωτέον ότι η περιφερειακή μνήμη σχεδιάζεται με τρόπο που να ευνοεί τη μεταφορά δεδομένων μεγάλου μεγέθους, επομένως είναι καλύτερη η χρήση μεγάλου μεγέθους σελίδας. Για να είναι όσο γίνεται πιο εύκολη η αποκωδικοποίηση μίας διεύθυνσης μνήμης το μέγεθος της σελίδας πρέπει να είναι δύναμη του και συνήθως κυμαίνεται μεταξύ 1 K και 4 K (αλλά μπορεί να φτάσει και τα 6 ΜΒ). 1 Σχέση του μεγέθους σελίδας με τη συχνότητα σφαλμάτων σελίδας Αν το μέγεθος της σελίδας είναι μικρό, τότε υπό κανονικές συνθήκες ένας σχετικά μεγάλος αριθμός σελίδων για κάποια διεργασία θα βρίσκεται στη μνήμη. Μετά από κάποιο χρονικό διάστημα οι σελίδες αυτές θα έχουν διευθύνσεις που χρησιμοποιήθηκαν πρόσφατα και επομένως η συχνότητα δημιουργίας σφαλμάτων σελίδων θα είναι μικρή. Όσο αυξάνεται το μέγεθος της σελίδας, κάθε σελίδα θα περιέχει διευθύνσεις μακρύτερα από αυτές που χρησιμοποιήθηκαν πρόσφατα. Κατ επέκταση η αρχή της τοπικότητας των αναφορών δεν ισχύει και αυξάνει η συχνότητα δημιουργίας σφαλμάτων σελίδων. Κάποια στιγμή όμως η συχνότητα δημιουργίας σφαλμάτων σελίδων θα αρχίσει να μειώνεται, όταν το μέγεθος της σελίδας πλησιάζει το μέγεθος της διεργασίας (σημείο P στο επόμενο διάγραμμα) και θα γίνει 0 με ταύτιση των δύο μεγεθών. Τυπική συμπεριφορά διεργασίας σε σχέση με τα σφάλματα σελίδας Page Fault Rate Page Fault Rate (a) Page Size P W (b) Number of Page Frames Allocated N P = size of entir e process W = working set size N = total number of pages in process Figure 8.10 Typical Paging Behavior of a Program 11

12 Παραδείγματα μεγεθών σελίδων 4 Κατάτμηση με χρήση ιδεατής μνήμης Επιτρέπει στον προγραμματιστή να βλέπει τη μνήμη ως ένα αριθμό από τμήματα, το καθένα σε διαφορετικό χώρο διευθύνσεων. Τα τμήματα μπορούν να είναι διαφορετικού ή ακόμα και δυναμικού μεγέθους. Διευκολύνει τη διαχείριση μεγάλων δομών δεδομένων. Ακόμα και αν δεν είναι γνωστό εξ αρχής το μέγεθος μίας δομής δεδομένων, μπορεί να της δοθεί ένα τμήμα του οποίου το μέγεθος θα αυξομειώνεται δυναμικά ανάλογα με το μέγεθος της δομής. Το τμήμα αυτό μπορεί να μετακινηθεί σε άλλο μέρος της μνήμης ή και να απομακρυνθεί από αυτήν, για να επανέλθει αργότερα. Επιτρέπει την επί μέρους τροποποίηση και μεταγλώττιση μέρους ενός προγράμματος. Υποστηρίζει διαμοίραση κώδικα και δεδομένων μεταξύ διεργασιών. Υποβοηθάει τους μηχανισμούς προστασίας διότι ένα τμήμα είναι λογικά αυτόνομο και μπορεί να συσχετισθεί με συγκεκριμένα δικαιώματα πρόσβασης στα περιεχόμενά του με χρήση bits προστασίας ή δακτυλίων προστασίας (protection rings). Οργάνωση τμημάτων Όπως και στην περίπτωση που δεν υποστηρίζεται ιδεατή μνήμη: Για κάθε διεργασία υπάρχει ένας πίνακας τμημάτων για τη διεργασία αυτή. Η αναφορά σε διεύθυνση μνήμης ενός τμήματος είναι της μορφής (αριθμός τμήματος, μετατόπιση). Κάθε εγγραφή στον πίνακα τμημάτων περιέχει την πρώτη διεύθυνση του αντίστοιχου τμήματος στη μνήμη και το μέγεθος του τμήματος. Επιπλέον όμως υπάρχουν: Ένα bit παρουσίας το οποίο δηλώνει αν το τμήμα βρίσκεται ή όχι στη μνήμη. Ένα bit τροποποίησης το οποίο δηλώνει αν τα περιεχόμενα του τμήματος έχουν υποστεί αλλαγές από την τελευταία φορά που φορτώθηκε το τμήμα από το δίσκο στη μνήμη. Αν δεν υπάρχει τροποποίηση, τότε δεν χρειάζεται να ενημερωθεί το αντίγραφο του τμήματος στο δίσκο, γλυτώνοντας έτσι μία πράξη Ε/Ε. Άλλα bits ελέγχου. 6 1

13 Δομή εγγραφής σε πίνακα τμημάτων 7 Αποκωδικοποίηση διευθύνσεων με χρήση κατάτμησης Virtual address Seg # Offset = d + Physical address Base + d Register Seg Table Ptr + Seg # Segment table d Segment Length Base Program Segmentation mechanism M ain memory Figure 8.11 Address Translation in a Segmentation System 8 Συνδυασμός σελιδοποίησης και κατάτμησης Ο χώρος μνήμης του χρήστη χωρίζεται σε ένα αριθμό από τμήματα (με πρωτοβουλία του προγραμματιστή). Το κάθε τμήμα χωρίζεται σε ένα αριθμό από σελίδες, ίδιου μεγέθους με αυτό των πλαισίων σελίδας του συστήματος. Αν το τμήμα έχει μέγεθος μικρότερο από μία σελίδα, τότε κάνει χρήση μόνο μίας σελίδας. Από το σημείο αναφοράς του προγραμματιστή, μία λογική διεύθυνση έχει τη μορφή (αριθμός τμήματος, μετατόπιση). Από το σημείο αναφοράς του συστήματος όμως, μία λογική διεύθυνση έχει τη μορφή (αριθμός τμήματος, 9 αριθμός σελίδας στο τμήμα, μετατόπιση). 1

14 Δομή εγγραφής σε συνδυασμό πίνακα τμημάτων και σελίδων 40 Αποκωδικοποίηση διευθύνσεων Virtual Address Seg # Page # Offset Frame # Offset Seg Table Ptr Segment Table Page Table + Seg# + Page# Offset Page Frame Program Segmentation Mechanism Paging Mechanism Main Memory Figure 8.1 Address Translation in a Segmentation/Paging System 41 Προστασία και διαμοίραση Όπως ήδη έχει ειπωθεί, η κατάτμηση υποβοηθάει τους μηχανισμούς προστασίας και διαμοίρασης. Κάθε εγγραφή στον πίνακα τμημάτων περιλαμβάνει το μέγεθος και την αρχική διεύθυνση του τμήματος. Επομένως, ένα πρόγραμμα δεν μπορεί κατά λάθος να επιχειρήσει πρόσβαση σε μνήμη πέρα από τα όρια του τμήματος. Διαμοίραση επιτυγχάνεται μέσω της δυνατότητας να γίνεται αναφορά σε κάποιο τμήμα στον πίνακα τμημάτων διαφορετικών διεργασιών. 4 14

15 Σχέσεις προστασίας 4 Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android. 44 Ερωτήματα σχετιζόμενα με τη διαχείριση μνήμης Χρήση ή όχι ιδεατής μνήμης. Χρήση σελιδοποίησης ή κατάτμησης ή συνδυασμού τους. Ποιος αλγόριθμος να χρησιμοποιηθεί για τις διάφορες πτυχές της διαχείρισης μνήμης. Οι απαντήσεις στα πρώτα δύο ερωτήματα συνήθως καθορίζονται από τις δυνατότητες της αρχιτεκτονικής του συστήματος. Με ελάχιστες εξαιρέσεις πάντως (π.χ. το DOS) όλα τα Λ.Σ. υποστηρίζουν ιδεατή μνήμη. 4 1

16 Πτυχές της διαχείρισης ιδεατής μνήμης Πολιτικές προσκόμισης σελίδων στην κύρια μνήμη (fetch policies). Πολιτικές τοποθέτησης σελίδων στην κύρια μνήμη (placement policies). Πολιτικές αντικατάστασης σελίδων (replacement policies). Διαχείριση των σελίδων που βρίσκονται στην κύρια μνήμη (resident set management). Πολιτικές απομάκρυνσης σελίδων από την κύρια μνήμη (cleaning policies). Έλεγχος του αριθμού των διεργασιών που βρίσκονται στην κύρια μνήμη (load control). Έχει να κάνει περισσότερο με χρονοπρογραμματισμό και δεν θα ασχοληθούμε περισσότερο εδώ με αυτό. 46 Κοινός παρανομαστής των πτυχών αυτών Είναι η μεγιστοποίηση της απόδοσης του συστήματος που σε αυτή την περίπτωση σημαίνει την ελαχιστοποίηση του αριθμού των σφαλμάτων σελίδας που δημιουργούνται. Kαι αυτό γιατί η αντιμετώπιση ενός σφάλματος σελίδας είναι μία δαπανηρή σε χρόνο διαδικασία που αναγκάζει το Λ.Σ. μεταξύ άλλων να: αποφασίσει ποια σελίδα πρέπει να απομακρυνθεί από την κύρια μνήμη, εναλλάξει τη σελίδα αυτή με τη σελίδα που πρέπει να φορτωθεί στην κύρια μνήμη, εναλλάξει την τρέχουσα διεργασία που εκτελείται με άλλη (process switching), κάτι που έχει επιπρόσθετο κόστος (η τελευταία αυτή εναλλαγή είναι αναγκαία γιατί η αντικατάσταση σελίδων στην κύρια μνήμη είναι ουσιαστικά πράξη Ε/Ε και παίρνει χρόνο να ολοκληρωθεί). Σημαντικό ρόλο στην απόδοση του συστήματος παίζουν επίσης παράγοντες όπως το μέγεθος της κύριας μνήμης, η ταχύτητα προσπέλασης στην κύρια και περιφερειακή μνήμη, ο αριθμός και μέγεθος των διεργασιών που εκτελούνται ταυτόχρονα καθώς επίσης και η συμπεριφορά των εκτελούμενων προγραμμάτων. 47 Πολιτικές προσκόμισης σελίδων στην κύρια μνήμη Καθορίζουν πότε μία σελίδα θα φορτωθεί στην κύρια μνήμη. Υπάρχουν δύο πολιτικές: Απαίτηση σελιδοποίησης (demand paging). Προσελιδοποίηση (prepaging)

17 Απαίτηση σελιδοποίησης Βασίζεται στη λογική ότι μόλις αρχίσει να εκτελείται μία καινούργια διεργασία δημιουργούνται στην αρχή πολλά σφάλματα σελίδας αλλά μόλις φορτωθούν οι σελίδες που χρειάζονται, αυτά μειώνονται σημαντικά. Επομένως, μετά το αρχικό φόρτωμα σελίδων, ο αριθμός των σφαλμάτων σελίδων θα είναι μικρός. 49 Προσελιδοποίηση Φορτώνεται μία ομάδα από σελίδες πριν ζητηθούν. Βασίζεται στο γεγονός ότι λόγω του τρόπου που λειτουργούν οι συσκευές αποθήκευσης, είναι πιο αποδοτικό να μεταφερθεί στην κύρια μνήμη μία ομάδα από σελίδες αποθηκευμένες συνεχόμενα, παρά μία μόνο σελίδα. Φυσικά, η τεχνική αυτή είναι ωφέλιμη μόνο αν η πλειοψηφία των σελίδων που φορτωθούν στη μνήμη αποδειχθεί τελικά ότι χρειάζονται. Σημειωτέον ότι η χρησιμότητα της προσελιδοποίησης δεν έχει αποδειχθεί στατιστικά. 0 Πολιτικές τοποθέτησης σελίδων στην κύρια μνήμη Σε συστήματα που χρησιμοποιούν σελιδοποίηση το πρόβλημα αυτό δεν υπάρχει γιατί μία σελίδα μπορεί να φορτωθεί σε οποιοδήποτε μέρος της κύριας μνήμης. Mόνο σε συστήματα που χρησιμοποιούν μόνο κατάτμηση πρέπει να χρησιμοποιηθεί κάποιος από τους αλγόριθμους τοποθέτησης. 1 17

18 Πολιτικές αντικατάστασης σελίδων Σκοπός τους είναι να επιλέξουν την «πιο κατάλληλη» σελίδα που πρέπει να απομακρυνθεί από την κύρια μνήμη για να δημιουργηθεί χώρος για να φορτωθεί κάποια άλλη σελίδα από την περιφερειακή μνήμη. O ορισμός της «πιο κατάλληλης» σελίδας δίνεται από την αρχή της βελτιστοποίησης (principle of optimality): η σελίδα που πρέπει να αντικατασταθεί είναι αυτή που δεν θα χρειασθεί στο μέλλον για το μεγαλύτερο χρονικό διάστημα. Φυσικά, μια και δεν μπορεί να προβλεφθεί το μέλλον, οι αλγόριθμοι που ακολουθούν προσπαθούν να εκτιμήσουν κατά προσέγγιση ποια είναι η καλύτερη σελίδα, λαμβάνοντας υπ όψη τους το ιστορικό της συμπεριφοράς των σελίδων μίας διεργασίας. Σημειωτέον ότι όσο πιο πολύπλοκος είναι ένας αλγόριθμος τόσο περισσότερο κόστος έχει η υλοποίησή του. Κλείδωμα πλαισίων σελίδων Ανεξάρτητα από το ποιος αλγόριθμος αντικατάστασης σελίδων εφαρμόζεται, ορισμένα πλαίσια σελίδων στη μνήμη μπορεί να είναι κλειδωμένα. Οι σελίδες που βρίσκονται στα κλειδωμένα πλαίσια δεν μπορούν να αντικατασταθούν. Τα κλειδωμένα πλαίσια έχουν πληροφορίες που τις χρειάζεται το Λ.Σ. για να λειτουργεί, όπως: Κώδικας του πυρήνα του Λ.Σ. Σημαντικές δομές ελέγχου. Προσωρινή μνήμη. Το κλείδωμα επιτυγχάνεται με την ύπαρξη ενός bit κλειδώματος στον πίνακα τμημάτων ή/και σελίδων το οποίο εξετάζει ο αλγόριθμος αντικατάστασης πριν επιλέξει μία σελίδα για να την απομακρύνει από την κύρια μνήμη. Βασικοί αλγόριθμοι αντικατάστασης σελίδων Τυχαία αντικατάσταση (random page replacement). Βέλτιστος (optimal). Μη πρόσφατα χρησιμοποιούμενη σελίδα (not recently used, NRU). Λιγότερο πρόσφατα χρησιμοποιούμενη σελίδα (least recently used, LRU). Πρώτη εισερχόμενη, πρώτη εξερχόμενη (first in first out, FIFO). Ρολόι (Clock). 4 18

19 Παράδειγμα Για την κατανόηση κάποιων από αυτούς τους αλγορίθμους, θα χρησιμοποιήσουμε ένα παράδειγμα. Μία διεργασία έχει σελίδες (1-) και τις έχουν δοθεί στη μνήμη πλαίσια σελίδων. Επίσης, η πρόσβαση στα περιεχόμενα των σελίδων της έχει ως εξής: 1 4. Τυχαία επιλογή Απλά επιλέγει τυχαία μία σελίδα. Έχει μικρό κόστος εκτέλεσης αλλά μπορεί κάλλιστα να διαλέξει για αντικατάσταση μία σελίδα που αμέσως μετά θα χρησιμοποιηθεί ξανά. Έτσι εφαρμόζεται σπάνια αφού στατιστικά έχει τα χειρότερα αποτελέσματα. Η μεγαλύτερη χρησιμότητά του έγκειται στο να αποτελεί μέτρο σύγκρισης για τους υπόλοιπους αλγόριθμους. 6 Βέλτιστος Εξετάζει τις εντολές του εκτελούμενου προγράμματος και επιλέγει τη σελίδα εκείνη στην οποία θεωρεί ότι θα γίνει αναφορά όσο γίνεται πιο μακριά στο μέλλον. Έχει πάντα τα καλύτερα αποτελέσματα. Tο πρόβλημα είναι ότι δεν μπορούμε να ξέρουμε τη μελλοντική συμπεριφορά του προγράμματος. Επομένως ο αλγόριθμος δεν μπορεί να υλοποιηθεί. Όμως, όπως και ο προηγούμενος, μπορεί να χρησιμεύσει σαν μέσο σύγκρισης για τους υπόλοιπους. 7 19

20 Παράδειγμα χρήσης του βέλτιστου αλγόριθμου Με αυτόν τον αλγόριθμο έχουμε σφάλματα, μετά το γέμισμα των πλαισίων. 8 Μη πρόσφατα χρησιμοποιούμενη σελίδα Επιλέγει τη σελίδα εκείνη στην οποία δεν έχει γίνει αναφορά για ένα συγκεκριμένο χρονικό διάστημα (ένα κτύπο του ρολογιού, δηλαδή γύρω στα 0 msec). O αλγόριθμος αυτός είναι εύκολα κατανοητός, έχει καλές επιδόσεις και υλοποιείται εύκολα με απλή αναφορά στα bits εκείνα του πίνακα σελίδων που δείχνουν αν έχει γίνει αναφορά ή τροποποίηση σε μία σελίδα. 9 Λιγότερο πρόσφατα χρησιμοποιούμενη σελίδα Επιλέγει τη σελίδα εκείνη στην οποία δεν έχει γίνει αναφορά για το μεγαλύτερο χρονικό διάστημα. Mε βάση το φαινόμενο της τοπικότητας των αναφορών, οι πιθανότητες η σελίδα αυτή να χρειασθεί στο εγγύς μέλλον είναι μικρές. O αλγόριθμος αυτός έχει καλές επιδόσεις οι οποίες πλησιάζουν αυτές του βέλτιστου. Όμως είναι πολυέξοδος στην υλοποίηση γιατί χρειάζεται να καταγράφεται ο χρόνος που έγινε αναφορά σε μία σελίδα κάθε φορά που χρησιμοποιείται για ανάγνωση ή/και τροποποίηση, κάτι που έχει μεγάλο κόστος. 60 0

21 Παράδειγμα χρήσης του αλγόριθμου LRU Ο LRU έχει σχεδόν τις ίδιες επιδόσεις με αυτές του βέλτιστου. Στο παράδειγμά μας δημιουργεί 4 λάθη σελίδας. 61 Πρώτη εισερχόμενη, πρώτη εξερχόμενη Επιλέγει για αντικατάσταση τη σελίδα εκείνη που έχει μείνει για μεγαλύτερο χρονικό διάστημα στην κύρια μνήμη. Βασίζεται στη λογική ότι οι πιθανότητες η σελίδα αυτή να συνεχίσει να είναι χρήσιμη είναι μικρές. Είναι απλός στην υλοποίηση (χρειάζεται μόνο μία κυκλική ουρά) αλλά η λογική στην οποία βασίζεται δεν είναι συχνά σωστή και έτσι έχει κακή απόδοση. Ο λόγος που η λογική δεν είναι πάντα σωστή έγκειται στο γεγονός ότι σε ένα πρόγραμμα υπάρχουν συχνά περιοχές κώδικα ή/και δεδομένων που χρησιμοποιούνται κατ εξακολούθηση. Σε αυτές τις περιπτώσεις, οι σελίδες που αντιστοιχούν σε αυτές τις περιοχές θα μπαινοβγαίνουν συνέχεια στη μνήμη. 6 Παράδειγμα χρήσης του αλγόριθμου FIFO Ο αλγόριθμος FIFO δημιουργεί 6 σφάλματα σελίδας. Παρατηρείστε ότι ενώ ο LRU αναγνωρίζει ότι στις σελίδες και γίνεται αναφορά πιο συχνά από ότι στις υπόλοιπες σελίδες, ο FIFO δεν καταφέρνει να κάνει το ίδιο. 6 1

22 Το παράδοξο του Belady Ο αλγόριθμος FIFO ορισμένες φορές δημιουργεί περισσότερα σφάλματα όταν αυξηθεί ο αριθμός των πλαισίων. Θεωρείστε το διπλανό παράδειγμα όπου σε μία διεργασία έχουν δοθεί αρχικά πλαίσια και κατόπιν 4. Η διεργασία αυτή έχει σελίδες, στις οποίες κάνει αναφορά με την εξής σειρά: Με πλαίσια ο αριθμός των σφαλμάτων είναι 9 ενώ με 4 είναι 10. Η παρατήρηση αυτή έγινε από τον Belady το Ρολόι Ο αλγόριθμος του ρολογιού χρησιμοποιεί σε κάθε πλαίσιο σελίδας ένα επιπρόσθετο bit χρήσης. Όταν μία σελίδα φορτωθεί για πρώτη φορά σε κάποιο πλαίσιο, η τιμή του bit αυτού είναι 1. Επίσης, κάθε φορά που γίνεται αναφορά στα περιεχόμενα της σελίδας, η τιμή του bit γίνεται 1. Ο αλγόριθμος θεωρεί ότι τα πλαίσια των οποίων οι σελίδες είναι υποψήφιες για αποχώρηση από τη μνήμη δημιουργούν ένα κύκλο με ένα δείκτη να δείχνει κυκλικά από το ένα πλαίσιο στο επόμενο. Όταν μία σελίδα αντικαθίσταται, ο δείκτης μετατοπίζεται στο επόμενο πλαίσιο από αυτό του οποίου η σελίδα αντικατεστάθη. Όταν πρέπει να αντικατασταθεί μία σελίδα, ο δείκτης σαρώνει κυκλικά τα πλαίσια για να βρει ένα πλαίσιο με τιμή 0 στο bit χρήσης και διαλέγει το πρώτο από αυτά για να αντικαταστήσει τη σελίδα του πλαισίου. Κάθε φορά που βρίσκει ένα πλαίσιο με τιμή 1 στο bit χρήσης το θέτει σε 0. Αν όλα τα πλαίσια έχουν τιμή 1 στο bit χρήσης, τότε ο δείκτης θα κάνει έναν πλήρη κύκλο θέτοντας τις τιμές όλων των bits σε 0 και μετά θα διαλέξει το πρώτο από αυτά (το αρχικό πλαίσιο). 6 Παράδειγμα χρήσης του αλγόριθμου του ρολογιού Ο αλγόριθμος είναι παρόμοιος με τον FIFO με εξαίρεση τη χρήση του bit χρήσης. Η παρουσία ενός αστερίσκου δηλώνει ότι το bit χρήσης είναι 1 και το βέλος αναπαριστά το δείκτη. Σημειώστε ότι ο αλγόριθμος προστατεύει από αντικατάσταση τις σελίδες των πλαισίων και. Λέγεται και αλγόριθμος της δεύτερης ευκαιρίας (second chance). 66

23 Συμπεριφορά του αλγόριθμου του ρολογιού 1 67 Συμπεριφορά του αλγόριθμου του ρολογιού 68 Συμπεριφορά του αλγόριθμου του ρολογιού 69

24 Page address str eam Σύγκριση των αλγορίθμων αντικατάστασης σελίδων 1 4 OPT 1 F 4 F 4 4 F LRU 1 1 F F F F FIFO F F F F F F CLOCK * * * * * * * 1* * 1 F * * * * * * * * * * 1 4* 4* 4 4 * F F F F * * * F = page fault occurring after the frame allocation is initially filled Figure 8.14 Behavior of Four Page-Replacement Algorithms 70 Σύγκριση της απόδοσης των αλγορίθμων αντικατάστασης σελίδων Page Faults per 1000 References FIFO CLOCK LRU OPT Number of Frames Allocated Figure 8.16 Comparison of Fixed-Allocation, Local Page Replacement Algorithms 71 Χρήση προσωρινής μνήμης για σελίδες Μία ενδιαφέρουσα παραλλαγή του αλγόριθμου FIFO με χρήση προσωρινής μνήμης εφαρμόστηκε στο Λ.Σ. VAX VMS. Όταν ο αλγόριθμος επιλέγει μία σελίδα για αντικατάσταση, αυτή δεν μεταφέρεται στο δίσκο αλλά τοποθετείται σε έναν από δύο προσωρινούς χώρους μνήμης (buffers), ανάλογα με το αν έχουν τροποποιηθεί τα περιεχόμενά της ή όχι (αυτό επιτυγχάνεται όχι με φυσική μετατόπιση των σελίδων στη μνήμη αλλά με αλλαγή των σχετικών δεικτών στους πίνακες σελίδων). Αν οι προσωρινοί χώροι είναι πλήρεις, τότε περιοδικά κάποιες από τις σελίδες αυτές (ξεκινώντας από αυτές που βρίσκονται στους χώρους αυτούς για το μεγαλύτερο χρονικό διάστημα) απομακρύνονται από αυτούς. Τα πλεονεκτήματα της μεθόδου είναι ότι για τις μη τροποποιημένες σελίδες αν χρειασθούν ξανά στο διάστημα που αυτές βρίσκονται στο προσωρινό χώρο δεν χρειάζεται να μεταφερθούν από το δίσκο και για τις τροποποιημένες σελίδες η μεταφορά τους στο δίσκο γίνεται σε ομάδες και όχι μία-μία, μειώνοντας έτσι τις πράξεις Ε/Ε. 7 4

25 Μέγεθος γρήγορης μνήμης και πολιτική αντικατάστασης σε αυτήν Με την αύξηση του μεγέθους της κύριας μνήμης, μειώνεται η τοπικότητα των αναφορών. Όμως αυξάνεται επίσης το μέγεθος της πολύ γρήγορης (κρυφής) μνήμης (cache). Η έξυπνη τοποθέτηση και αντικατάσταση σελίδων στη μνήμη cache μπορεί να έχει σημαντικό θετικό αντίκτυπο στην απόδοση του συστήματος (μείωση μέχρι και 0% της αποτυχίας εύρεσης μίας σελίδας στη μνήμη cache). 7 Διαχείριση των σελίδων που βρίσκονται στην κύρια μνήμη Το Λ.Σ. πρέπει να αποφασίσει πόσες σελίδες από κάθε διεργασία θα φορτώσει στην κύρια μνήμη. Όσο μικρότερος είναι ο αριθμός τόσο περισσότερες διεργασίες θα μπορούν να βρίσκονται στη μνήμη. Όμως, όσο μικρότερος είναι ο αριθμός τόσο μεγαλύτερη θα είναι και η συχνότητα σε σφάλματα σελίδων. Επίσης, από ένα σημείο και μετά, παρέχοντας περισσότερες σελίδες σε μία διεργασία δεν θα επηρεάσει σημαντικά τη συχνότητα δημιουργίας λαθών σελίδας για αυτή τη διεργασία. 74 Προσεγγίσεις στον αριθμό των πλαισίων που κατανέμονται στις διεργασίες Σταθερή κατανομή (fixed allocation). Διατηρεί σταθερό τον αριθμό των πλαισίων που χορηγούνται σε μία διεργασία. Ο αριθμός αυτός υπολογίζεται από το Λ.Σ. όταν δημιουργείται η διεργασία και βασίζεται στις ιδιότητες της διεργασίας ή σε πληροφορίες από τον προγραμματιστή. Όταν δημιουργείται σφάλμα σελίδας, αντικαθίσταται μία από τις σελίδες αυτών των πλαισίων. Μεταβλητή κατανομή (variable allocation). Επιτρέπει δυναμικά την αύξηση του αριθμού των πλαισίων κάποιας διεργασίας, κυρίως αυτών που δημιουργούν πολλά σφάλματα σελίδας, αλλά και τη μείωση των αριθμών των πλαισίων για διεργασίες που έχουν περιορισμένη ανάγκη σε μνήμη. 7

26 Εύρος εφαρμογής των πολιτικών αντικατάστασης σελίδων Οι πολιτικές αντικατάστασης σελίδων μπορεί να εφαρμοσθούν σε: Τοπικό επίπεδο (local replacement policy) όπου εξετάζονται μόνο οι σελίδες της διεργασίας που δημιούργησε το σφάλμα σελίδας, ή σε Ολικό επίπεδο (global replacement policy) όπου εξετάζονται όλες τις σελίδες που βρίσκονται στην κύρια μνήμη, ανεξαρτήτως του αν ανήκουν ή όχι στη διεργασία που δημιούργησε το σφάλμα σελίδας. Ο συνδυασμός της σταθερής ή δυναμικής κατανομής και του τοπικού η ολικού εύρους οδηγεί σε τρεις πιθανούς συνδυασμούς. 76 Σταθερή κατανομή με τοπική αντικατάσταση Αποφασίζεται από την αρχή πόσα πλαίσια θα χορηγηθούν σε κάθε διεργασία, με βάση τις ιδιότητες της διεργασίας και τις ανάγκες του προγράμματος. Αν συμβεί σφάλμα σελίδας, η αντικατάσταση γίνεται μόνο ανάμεσα στις σελίδες της διεργασίας που βρίσκονται στη μνήμη. Αν η κατανομή δεν επαρκεί, τότε θα δημιουργηθούν πολλά σφάλματα σελίδων. Αν η κατανομή είναι υπέρ το δέον, τότε θα έχουμε μειωμένο αριθμό διεργασιών στη μνήμη και κατ επέκταση είτε υποχρησιμοποίηση της ΚΜΕ ή επιπλέον κόστος σε εναλλαγή διεργασιών. 77 Μεταβλητή κατανομή με ολική αντικατάσταση Η πιο εύκολη στην υλοποίηση προσέγγιση (και γι αυτό χρησιμοποιείται σε πολλά Λ.Σ.). Το Λ.Σ. διατηρεί μία λίστα από ελεύθερα πλαίσια. Όταν μία διεργασία προκαλέσει σφάλμα σελίδας, το Λ.Σ. της παραχωρεί ένα πλαίσιο από αυτήν τη λίστα και κατ επέκταση επεκτείνεται το μέγεθος της διεργασίας στη μνήμη με επακόλουθο τη σταδιακή μείωση των σφαλμάτων σελίδας για αυτή τη διεργασία. Όταν δεν υπάρχουν ελεύθερα πλαίσια, το Λ.Σ. πρέπει να αφαιρέσει ένα από αυτά που διαθέτει κάποια διεργασία και να το παραχωρήσει σε αυτήν που δημιούργησε το σφάλμα σελίδας. Εδώ βρίσκεται το μειονέκτημα της μεθόδου αυτής: να αποφασισθεί σε ποια διεργασία θα υπάρξει η μικρότερη αρνητική επίπτωση αν της αφαιρεθεί ένα πλαίσιο από αυτά που διαθέτει. 78 6

27 Μεταβλητή κατανομή με τοπική αντικατάσταση Όταν μία διεργασία φορτωθεί στη μνήμη, της παραχωρείται ένας αριθμός πλαισίων (με χρήση προσελιδοποίησης ή απαίτησης σελιδοποίησης) με βάση τις ιδιότητες και ανάγκες της διεργασίας. Όταν δημιουργηθεί σφάλμα σελίδας, επιλέγεται για αντικατάσταση μία από τις σελίδες της διεργασίας αυτής. Όμως, περιοδικά το Λ.Σ. επανεξετάζει τη συμπεριφορά της κάθε διεργασίας έτσι ώστε να εκτιμηθεί αν χρειάζεται να γίνει ανακατανομή στον αριθμό των πλαισίων που ανήκουν σε κάθε διεργασία. Η τεχνική αυτή είναι πιο πολύπλοκη από την προηγούμενη αλλά μπορεί να οδηγήσει σε καλύτερα αποτελέσματα. 79 Εκτίμηση ανακατανομής στον αριθμό των πλαισίων Εδώ γίνεται χρήση του λεγόμενου μοντέλου συνόλου εργασίας (working set model) που προσπαθεί να υπολογίσει το μέγεθος της μνήμης που πρέπει να έχει κάθε διεργασία για να εκτελεσθεί χωρίς να δημιουργήσει πολλά σφάλματα σελίδας. Συνδυάζεται η χρήση του με αυτή του αλγόριθμου συχνότητας λάθους σελίδας (page fault frequency) που προσπαθεί να εντοπίσει τις διεργασίες εκείνες που δημιουργούν ένα απαράδεκτα υψηλό αριθμό σφαλμάτων σελίδων και ή να τις απομακρύνει προσωρινά από την κύρια μνήμη ή να τις εφοδιάσει με περισσότερα πλαίσια σελίδας. 80 Ανακεφαλαίωση των τεχνικών διαχείρισης σελίδων στη μνήμη 81 7

28 Πολιτικές απομάκρυνσης σελίδων από την κύρια μνήμη Καθορίζουν πότε μία σελίδα θα απομακρυνθεί από την κύρια μνήμη. Υπάρχουν δύο πολιτικές: Απομάκρυνση μετά από απαίτηση (demand cleaning policy). Προαπομάκρυνση (precleaning policy). Ο πολιτικές αυτές μπορούν να συνδυασθούν και με τη χρήση μνήμης cache (διαφάνεια 7). 8 Απομάκρυνση μετά από απαίτηση Ενημερώνει το αντίγραφο της σελίδας στην περιφερειακή μνήμη μόνο όταν πρέπει να απομακρυνθεί η σελίδα αυτή από την κύρια μνήμη. 8 Προαπομάκρυνση Ενημερώνει το αντίγραφο μίας σελίδας στην περιφερειακή μνήμη πριν χρειασθεί κάποια διεργασία το αντίστοιχο πλαίσιο. Αυτό επιτρέπει τη μεταφορά σελίδων στην περιφερειακή μνήμη κατά ομάδες αλλά η ενημέρωση των αντίστοιχων αντιγράφων τους μπορεί να καταστεί άχρηστη αν εν τω μεταξύ οι σελίδες αυτές έχουν τροποποιηθεί. 84 8

29 Έλεγχος φόρτου Ο έλεγχος φόρτου (load control) καθορίζει το βέλτιστο αριθμό διεργασιών που πρέπει να βρίσκονται στη μνήμη, δηλαδή το βαθμό πολυπρογραμματισμού του συστήματος. Είναι σημαντική παράμετρος στην απόδοση του συστήματος γιατί: Αν ο αριθμός των διεργασιών στη μνήμη είναι πολύ μικρός, τότε είτε η ΚΜΕ θα είναι ανενεργή για μεγάλα χρονικά διαστήματα είτε θα υπάρχει μεγάλο κόστος σε εναλλαγή διεργασιών. Αν ο αριθμός των διεργασιών στη μνήμη είναι υπερβολικά μεγάλος, τότε κατά μέσο όρο οι περισσότερες διεργασίες δεν θα έχουν αρκετή μνήμη με αποτέλεσμα να δημιουργούνται πολύ συχνά σφάλματα σελίδας. 8 Πολυπρογραμματισμός Processor Utilization Multiprogramming Level Figure 8.19 Multiprogramming Effects 86 Αναστολή εκτέλεσης διεργασιών Αν το Λ.Σ. αποφασίσει ότι πρέπει να μειωθεί ο βαθμός πολυπρογραμματισμού, τότε μία ή περισσότερες από τις διεργασίες που εκτελούνται πρέπει να τεθεί υπό αναστολή και να απομακρυνθεί από τη μνήμη. Τίθεται επομένως το ερώτημα με βάση ποια κριτήρια γίνεται η επιλογή των διεργασιών αυτών από το Λ.Σ. 87 Εδώ υπάρχουν 6 επιλογές. 9

30 Πολιτικές αναστολής εκτέλεσης διεργασιών 1 Η διεργασία με τη χαμηλότερη προτεραιότητα. Έχει να κάνει με πολιτικές χρονοδρομολόγησης και είναι άσχετη με θέματα απόδοσης. Η διεργασία που δημιούργησε σφάλμα σελίδας. Υπάρχει πιθανότητα να μην έχει στη μνήμη τις σελίδες που χρειάζεται για να εκτελεστεί και θα τεθεί έτσι ή αλλιώς υπό αναστολή, επομένως κερδίζουμε σε κόστος Ε/Ε και εναλλαγής σελίδων. Η διεργασία που ενεργοποιήθηκε πιο πρόσφατα. Έχει τη μεγαλύτερη πιθανότητα να μην έχει στη μνήμη τις σελίδες που χρειάζεται για να εκτελεστεί. 88 Πολιτικές αναστολής εκτέλεσης διεργασιών Η διεργασία με τον μικρότερο αριθμό σελίδων στη μνήμη. Έχει το μικρότερο κόστος στο μελλοντικό φόρτωμά της στη μνήμη αλλά τιμωρούνται οι διεργασίες με έντονη τοπικότητα των αναφορών. Η διεργασία με τον μεγαλύτερο αριθμό σελίδων στη μνήμη. Απελευθερώνει πολλά πλαίσια σελίδας και μειώνει την ανάγκη για επιπρόσθετες αναστολές διεργασιών. Η διεργασία με τον μεγαλύτερο εναπομείναντα κβάντο εκτέλεσης. Ακολουθεί τη φιλοσοφία του αλγόριθμου χρονοδρομολόγησης SPN. 89 Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android. 90 0

31 Unix Επειδή το Unix είναι ανεξάρτητο πλατφόρμας, οι μηχανισμοί διαχείρισης μνήμης διαφέρουν κατά περίπτωση στις εκδόσεις του. Τα πρώτα Unix χρησιμοποιούσαν μεταβλητά τμήματα χωρίς σελιδοποίηση. Τα πιο σύγχρονα Unix (SVR4 και Solaris) χρησιμοποιούν σελιδοποίηση και ιδεατή μνήμη. Ο πυρήνας του Unix χρησιμοποιεί μνήμη χωρίς σελιδοποίηση. 91 Δομή σελίδων Page frame number Age Copy on Modifrence Refe- Protect Valid write (a) Page table entry Swap device number Device block number Type of storage (b) Disk block descriptor Page state Reference count Logical device Block number Pfdata pointer (c) Page frame data table entry Reference Page/storage count unit number (d) Swap-use table entry Figure 8.0 UNIX SVR4 Memory Management Formats 9 Στοιχεία του πίνακα σελίδων 9 1

32 Πεδία περιγραφέα μπλοκ δίσκου 94 Δομή πλαισίων σελίδων 9 Αντικατάσταση σελίδων Γίνεται χρήση του πίνακα πλαισίων σελίδων. Γίνεται χρήση δεικτών για τη δημιουργία λίστας ελεύθερων πλαισίων. 96

33 Αλγόριθμος ρολογιού με δύο δείκτες End of page list Beginning of page list handspread fronthand backhand 97 Figure 8.1 Two-Handed Clock Page-Replacement Algorithm Λειτουργία του αλγόριθμου του ρολογιού με δύο δείκτες Όταν μία σελίδα μεταφέρεται στη μνήμη, το bit αναφοράς είναι 0. Κάθε φορά που γίνεται αναφορά στη σελίδα για διάβασμα ή γράψιμο, το bit αυτό γίνεται 1. Ο πρώτος δείκτης σαρώνει τις σελίδες και θέτει το bit της κάθε σελίδας στη τιμή 0. Μετά από κάποιο χρονικό διάστημα, έρχεται η σειρά του δεύτερου δείκτη να σαρώσει τις σελίδες. Αν το bit μίας σελίδας είναι 1, τότε η σελίδα αυτή έχει χρησιμοποιηθεί στο μεσοδιάστημα μεταξύ του σαρώματος των δύο δεικτών και επομένως αγνοείται. Αν το bit μίας σελίδας είναι 0 τότε η σελίδα αυτή δεν έχει χρησιμοποιηθεί στο μεσοδιάστημα μεταξύ του σαρώματος των δύο δεικτών και επομένως γίνεται υποψήφια για απομάκρυνση από τη μνήμη. 98 Παράμετροι του αλγόριθμου του ρολογιού με δύο δείκτες Η συχνότητα με την οποία οι δείκτες σαρώνουν τις σελίδες (υπολογίζεται σε αριθμό σελίδων ανά δευτερόλεπτο). Η απόσταση μεταξύ των δεικτών (δηλαδή το χρονικό διάστημα που θα μεσολαβήσει μεταξύ του πρώτου και του δεύτερου σαρώματος). Οι τιμές των παραμέτρων αυτών καθορίζονται από το Λ.Σ. όταν ξεκινάει η λειτουργία του συστήματος αλλά μεταβάλλονται δυναμικά ανάλογα με το ποσοστό ελεύθερης μνήμης που υπάρχει ανά πάσα χρονική στιγμή στο σύστημα. 99

34 Διαχείριση μνήμης στον πυρήνα του Unix Ο πυρήνας συνεχώς δημιουργεί και καταστρέφει πίνακες και προσωρινούς χώρους μνήμης οι οποίοι είναι πολύ μικρότεροι σε μέγεθος από αυτό μίας τυπικής σελίδας. Επομένως η τεχνική της σελιδοποίησης δεν είναι κατάλληλη σε αυτή την περίπτωση. Ο πυρήνας για τη δυναμική δέσμευση και αποδέσμευση μνήμης κάνει χρήση μίας παραλλαγής του αλγόριθμου των φίλων (lazy buddy) που αποφεύγει να συγχωνεύσει μέρη μνήμης για όσο μεγαλύτερο χρονικό διάστημα μπορεί και μετά συγχωνεύει όσα περισσότερα μπορεί. Βασίζεται στην παρατήρηση ότι το Unix συχνά χρειάζεται για σχετικά μεγάλο χρονικό διάστημα μπλοκ μνήμης συγκεκριμένου μεγέθους και δεν ωφελεί να συγχωνεύουμε πολύ συχνά τη 100 μνήμη. Παράμετροι του αλγόριθμου του Lazy Buddy N i = τρέχων αριθμός μπλοκ μεγέθους i. A i = τρέχων αριθμός μπλοκ μεγέθους i που είναι δεσμευμένα. G i = τρέχων αριθμός μπλοκ μεγέθους i που είναι ελεύθερα σε σχέση με όλη τη μνήμη. L i = τρέχων αριθμός μπλοκ μεγέθους i που είναι ελεύθερα σε σχέση με μέρος της μνήμης. 101 Περιγραφή του Lazy Buddy Initial value of Di is 0 After an operation, the value of Di is updated as follows (I) if the next operation is a block allocate request: if there is any free block, select one to allocate if the selected block is locally free then Di := Di + else Di := Di + 1 otherwise first get two blocks by splitting a larger one into two (recursive operation) allocate one and mark the other locally free Di remains unchanged (but D may change for other block sizes because of the recursive call) (II) if the next operation is a block free request Case Di mark it locally free and free it locally Di := Di - Case Di = 1 mark it globally free and free it globally; coalesce if possible Di := 0 Case Di = 0 mark it globally free and free it globally; coalesce if possible select one locally free block of size i and free it globally; coalesce if possible Di := 0 Figure 8. Lazy Buddy System Algorithm 10 4

35 Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android. 10 Διαχείριση μνήμης στο Linux Έχει πολλά κοινά με αυτήν του Unix αλλά είναι πιο πολύπλοκη. Ο πίνακας σελίδων είναι τριών επιπέδων και έχει μέγεθος μίας σελίδας. Κάθε διεργασία έχει ένα κατάλογο σελίδων (page directory) που έχει μέγεθος μίας σελίδας και πρέπει να βρίσκεται στη μνήμη. Κάθε στοιχείο του καταλόγου αυτού είναι ένας δείκτης σε μία σελίδα στον ενδιάμεσο κατάλογο σελίδων (middle page directory) του οποίου το μέγεθος μπορεί να είναι μεγαλύτερο από αυτό μίας σελίδας. Κάθε στοιχείο του ενδιάμεσου κατάλογου σελίδων δείχνει σε μία σελίδα του πίνακα σελίδων του οποίου το μέγεθος επίσης μπορεί να είναι μεγαλύτερο από αυτό μίας σελίδας. Κάθε στοιχείο του πίνακα σελίδων δείχνει σε μία ιδεατή σελίδα της διεργασίας. 104 Αποκωδικοποίηση διευθύνσεων Global Directory Virtual address M iddle Dir ectory Page Table Offset Page table + Page directory + Page middle directory + Page frame in physical memory cr register + 10 Figure 8. Address Translation in Linux Virtual Memory Scheme

36 Αντικατάσταση σελίδων Μέχρι την έκδοση.6.8, χρησιμοποιείτο μία παραλλαγή του αλγόριθμου του ρολογιού. Το bit χρήσης μίας σελίδας αντικαθίσταται με μία μεταβλητή 8 bits η οποία αυξάνεται κατά μία μονάδα κάθε φορά που η σελίδα χρησιμοποιείται. Ταυτόχρονα, το Linux περιοδικά σαρώνει τις σελίδες και μειώνει την τιμή της μεταβλητής. Οι σελίδες εκείνες με τιμή 0 στη μεταβλητή τους αυτή είναι υποψήφιες για απομάκρυνση από τη μνήμη. Σε γενικές γραμμές, όσο μεγαλύτερη τιμή έχει αυτή η μεταβλητή τόσο περισσότερη χρήση της αντίστοιχης σελίδας γίνεται και επομένως τόσο λιγότερο υποψήφια είναι αυτή για απομάκρυνση. Επομένως, ο αλγόριθμος του Linux ήταν μία μορφή της πολιτικής της λιγότερο χρησιμοποιούμενης σελίδας. 106 Ο αλγόριθμος του διαιρεμένου LRU 1 Το πρόβλημα με τον προηγούμενο αλγόριθμο είναι ότι η περιοδική σάρωση των σελίδων για τη μείωση της μεταβλητής καταναλώνει πολύ χρόνο χρήσης της ΚΜΕ για μεγάλες ποσότητες μνήμης. Από την έκδοση.6.8 το Linux χρησιμοποιεί ένα καινούργιο αλγόριθμο, του διαιρεμένου LRU (split LRU). Στον νέο αλγόριθμο, για κάθε σελίδα υπάρχουν δύο bits, ένα για ενεργοποίηση και ένα για αναφορά. Η κάθε σελίδα βρίσκεται είτε στην ομάδα των ενεργοποιημένων σελίδων είτε στην ομάδα των μη ενεργοποιημένων σελίδων. Η φυσική μνήμη χωρίζεται σε «ζώνες» με βάση τη διεύθυνσή τους. Σε κάθε ζώνη υπάρχει μία συνδεδεμένη λίστα με τις σελίδες που βρίσκονται σε κάθε μία από τις δύο προαναφερθείσες καταστάσεις. Μία διεργασία χαμηλού επιπέδου (δαίμων) σαρώνει περιοδικά την κάθε ζώνη και τροποποιεί τα δύο bits με βάση την ακόλουθη λογική. 107 Ο αλγόριθμος του διαιρεμένου LRU 1. Την πρώτη φορά που μία σελίδα βρισκόμενη σε μη ενεργοποιημένη κατάσταση αναφέρεται, το bit αναφοράς γίνεται 1.. Την επόμενη φορά που θα γίνει αναφορά σε αυτήν τη σελίδα, η σελίδα μεταφέρεται στη λίστα των ενεργοποιημένων σελίδων. Δηλαδή, χρειάζονται δύο συνεχόμενες αναφορές στη σελίδα για να θεωρηθεί ενεργοποιημένη.. Αν η δεύτερη αναφορά στη σελίδα δεν γίνει σε συγκεκριμένο χρονικό διάστημα, τότε το bit αναφοράς γίνεται Παρομοίως, για μία σελίδα που είναι ενεργοποιημένη, χρειάζονται δύο περίοδοι μη αναφοράς σε αυτήν (timeouts) για να μεταφερθεί η σελίδα στην ομάδα των μη ενεργοποιημένων σελίδων. Οι σελίδες που είναι στην ομάδα των μη ενεργοποιημένων σελίδων είναι υποψήφιες για αντικατάσταση με βάση τον αλγόριθμο LRU

37 Σχεδιάγραμμα περιγραφής του διαιρεμένου LRU I nactive timeout Active PG_active = 0 PG_referenced = 0 timeout PG_active = 1 PG_referenced = 0 used timeout used used timeout PG_active = 0 PG_referenced = 1 PG_active = 1 PG_referenced = 1 used Figure 8.4 Linux Page Reclaiming 109 Κατανομή του χώρου του πυρήνα Στο επίπεδο του πυρήνα, το Linux κατανέμει τα φυσικά πλαίσια σελίδων, ανάλογα με τις ανάγκες που παρουσιάζονται: Σε διεργασίες των χρηστών. Για δεδομένα και κώδικα του πυρήνα. Για τις ανάγκες κρυφής μνήμης (page cache). Γίνεται χρήση του αλγόριθμου των φίλων για την κατανομή της μνήμης στο μέγεθος μίας σελίδας. Όμως οι ανάγκες του πυρήνα σε μνήμη είναι συνήθως μικρότερη από το μέγεθος μίας σελίδας. Γι αυτό χρησιμοποιείται η τεχνική της «κατανομής πλάκας» (slab allocation), που κατανέμει μέρος μίας σελίδας. 110 Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android

38 Διαχείριση μνήμης στα Windows Ο διαχειριστής μνήμης έχει σχεδιασθεί να λειτουργεί σε διαφορετικές πλατφόρμες και το μέγεθος της σελίδας κυμαίνεται μεταξύ 4Κ-64Κ (π.χ. στις πλατφόρμες Intel και AMD64 το μέγεθος είναι 4Κ και στην Intel Itanium είναι 8Κ). Σε πλατφόρμες των bits, κάθε διεργασία έχει χώρο μνήμης των bits, δηλαδή 4 GB. Ο μισός χώρος χρησιμοποιείται από τα ίδια τα Windows, αφήνοντας GB για τη διεργασία. Υπάρχει πάντως η πρόβλεψη για αύξηση του χώρου μνήμης μίας διεργασίας στα GB, αν υπάρχει ανάγκη. 11 Χώρος μνήμης bits 0 64-Kbyte region for NULL-pointer assignments (inaccessible) -Gbyte user addr ess space (unreserved, usable) 64-Kbyte region for bad pointer assignments (inaccessible) -Gbyte r egion for the operating system (inacessible) 0xFFFFFFFF Figure 8. Windows Default -bit Virtual Address Space 11 Διαχείριση σελίδων Μόλις δημιουργηθεί, μία διεργασία μπορεί να χρησιμοποιήσει όλο το χώρο της των GB. Ο χώρος αυτός είναι χωρισμένος σε σταθερά τμήματα των 64 ΚΒ, τα οποία με τη σειρά τους είναι χωρισμένα σε σελίδες σταθερού μεγέθους. Το κάθε τμήμα μπορεί να είναι σε μία από καταστάσεις: Διαθέσιμο, αν οι διευθύνσεις μνήμης του δεν χρησιμοποιούνται από τη διεργασία. Κρατημένο, αν ο διαχειριστής μνήμης το χρησιμοποιεί για κάποιο σκοπό (π.χ. για αποθήκευση μίας ουράς). Δεσμευμένο, αν οι διευθύνσεις του χρησιμοποιούνται από την ίδια τη διεργασία (οι σελίδες αυτού του τμήματος μπορεί να είναι στη μνήμη ή στο δίσκο)

39 Διαχείριση χώρου σελίδων Τα Windows χρησιμοποιούν την πολιτική της «μεταβλητής κατανομής, τοπικής αντικατάστασης». Μόλις ενεργοποιηθεί, μία διεργασία εφοδιάζεται με σχετικές δομές δεδομένων για να διαχειρισθεί τις σελίδες της, καθώς αυτές φορτώνονται στη μνήμη. Ο χώρος μνήμης που έχει δοθεί σε κάθε διεργασία αναπροσαρμόζεται περιοδικά με βάση πόση ελεύθερη μνήμη υπάρχει στο σύστημα και ανάλογα με την περίπτωση ο αριθμός πλαισίων που έχουν δοθεί σε κάθε διεργασία αυξάνεται ή μειώνεται (στη δεύτερη περίπτωση αφαιρούνται οι λιγότερο χρησιμοποιούμενες σελίδες της διεργασίας). 11 Περιεχόμενα Τεχνικές υλοποίησης ιδεατής μνήμης. Στρατηγικές διαχείρισης ιδεατής μνήμης. Διαχείριση μνήμης στο UNIX και Solaris. Διαχείριση μνήμης στο Linux. Διαχείριση μνήμης στα Windows. Διαχείριση μνήμης στο Android. 116 Διαχείριση χώρου μνήμης Το Android επεκτείνει το μοντέλο διαχείρισης μνήμης του πυρήνα του Linux με ένα αριθμό από επιπλέον χαρακτηριστικά, όπως τα ακόλουθα: ASHMem. Παρέχει ανώνυμη διαμοιραζόμενη μνήμη, όπου η μνήμη παρουσιάζεται ως περιγραφέας αρχείου ο οποίος μπορεί να δοθεί από μία διεργασία σε άλλη για να διαμοιρασθούν τη μνήμη. Pmem. Παρέχει ιδεατή μνήμη σε φυσικά συνεχόμενο χώρο και είναι χρήσιμο για υλικό που δεν υποστηρίζει τεχνικές ιδεατής μνήμης. Low Memory Killer. Ενημερώνει διεργασίες ότι πρέπει να απελευθερώσουν μνήμη 117 και αν δεν συμμορφωθούν τερματίζει την εκτέλεσή τους. 9

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

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης. Περιεχόμενα. Ανάγκη για διαχείριση μνήμης. Βασικές αρχές διαχείρισης μνήμης. ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης Οι

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Memory) Εικονική Μνήμη (Virtual Memory) Για τη δημιουργία των διαφανειών έχει χρησιμοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems Concepts,

Διαβάστε περισσότερα

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση

Διαβάστε περισσότερα

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

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

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Εικονική Μνήμη Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 5β: Διαχείριση Κύριας Μνήμης Διαχείριση Δευτερεύουσας Μνήμης Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation Προηγμένοι Μικροεπεξεργαστές Paging & Segmentation Segmentation Τεχνική για σπάσουμε την μνήμη σε λογικά κομμάτια Κάθε κομμάτι αποθηκεύει πληροφορία σχετική με data segments for each process code segments

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

Διαβάστε περισσότερα

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

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 9 : Ιδεατή Μνήμη 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 8: Διαχείριση Μνήμης. Φυσικές και Λογικές Διευθύνσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης III Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz,

Διαβάστε περισσότερα

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

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια

Διαβάστε περισσότερα

Virtual Memory. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Virtual Memory. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 24-25 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Virtual Memory http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

Διαβάστε περισσότερα

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

Διαχείριση Μνήμης (Memory Management) Διαχείριση Μνήμης (Memory Management) Εισαγωγή Βασικές έννοιες και μοντέλο εκτέλεσης Εναλλαγή (swapping) Ανάθεση σε συνεχόμενα τμήματα (contiguous allocation) Σελιδοποίηση (paging) Τμηματοποίηση (segmentation)

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

Διαβάστε περισσότερα

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

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

Διαβάστε περισσότερα

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

ιαχείριση Μνήµης (Memory Management) ιαχείριση Μνήµης (Memory Management) Πως κατανέµεται η µνήµη στις διάφορες διεργασίες Τύποι Μνήµης Η µνήµη µε µηχανικά µέρη είναι σηµαντικά πιο αργή αλλά και αρκετά πιο φθηνή. Οι καταχωριτές (registers)

Διαβάστε περισσότερα

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 6: Διαχείριση Μνήμης Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 8: Διαχείριση Μνήμης. Φυσικές και Λογικές Διευθύνσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 9: Ιδεατή Μνήμη. Σφάλματα Σελίδας. Τοποθέτηση & αντικατάσταση σελίδων. Τοπικότητα Αναφορών. Κατάπτωση. Παράδοξο Belady. Παραμένων

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1 Λειτουργικά Συστήματα Κεφάλαιο 5 Κεφ. 5 Λειτουργικά Συστήματα 1 Διαχείριση Κεντρικής Μνήμης Στην Κεντρική (κύρια) Μνήμη του Η/Υ αποθηκεύονται ανα πάσα στιγμή όλα τα προγράμματα που εκτελούνται στην ΚΜΕ

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Χρήση Κρυφής Μνήμης (Cache)

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 9: Ιδεατή Μνήμη. Σφάλματα Σελίδας. Τοποθέτηση & αντικατάσταση σελίδων. Τοπικότητα Αναφορών. Κατάπτωση. Παράδοξο Belady. Παραμένων

Διαβάστε περισσότερα

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 5α: Διαχείριση Κύριας Μνήμης Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κλειώ Σγουροπούλου Λειτουργικό Σύστημα Ένα πρόγραμμα που διαχειρίζεται τους πόρους ενός υπολογιστικού συστήματος και ενεργεί ως μεσάζων μεταξύ του χρήστη και των πόρων αυτών user

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 6: Διαχείριση Μνήμης Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 7: Εικονική Μνήμη Σελιδοποίηση & Πίνακες Σελίδων Ιδεατή Μνήμη Βασισμένη σε Σελίδες (Σελιδοποίηση) Σπάσε τη μνήμη σε κομματάκια σταθερού μεγέθους (σελίδες) Δίλλημα:

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 7: Διαχείριση Μνήμης ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ENOTHTA 6 IAXEIPIΣH MNHMHΣ

ENOTHTA 6 IAXEIPIΣH MNHMHΣ ENOTHTA 6 Περιεχόµενα 1. O ρόλος του διαχειριστή µνήµης 2. ιαχείρηση µνήµης όταν τα προγράµµατα είναι εξ ολοκλήρου φορτωµένα στην κύρια µνήµη 3. Iδεατή µνήµη 4. Στρατηγικές διαχείρισης ιδεατής µνήµης 6-1

Διαβάστε περισσότερα

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

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υλισµικό διαχείρισης µνήµης (Memory management hardware) Ιστορική αναδροµή Πρώτοι υπολογιστές µικρή χωρητικότητα µνήµης (κόστος) διαίρεση προγραµµάτων σε τµήµατα επικάλυψης (overlay segments) που χωρούσαν στην µνήµη (επικάλυψη µνήµης) Κάθε τµήµα επικάλυψης Φορτωνόταν,

Διαβάστε περισσότερα

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

Διαβάστε περισσότερα

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

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 8 : Διαχείριση Μνήμης Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών Το εκπαιδευτικό υλικό που ακολουθεί αναπτύχθηκε στα πλαίσια του έργου «Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών», του Μέτρου «Εισαγωγή

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

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

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, Εικονικοποίηση Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

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

Υλισμικό Διαχείρισης Μνήμης (Memory Management Hardware) Υλισμικό Διαχείρισης Μνήμης (Memory Management Hardware) Ιστορική αναδρομή Πρώτοι υπολογιστές μικρή χωρητικότητα μνήμης (κόστος) διαίρεση προγραμμάτων σε τμήματα επικάλυψης (overlay segments) που χωρούσαν

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

Διαβάστε περισσότερα

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ 2/9/5 ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer Architecture,

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης I Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual memory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual memory) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Προβλήματα φυσικής μνήμης (1) Τι θα συμβεί εάν η μνήμη

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management)

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management) Λειτουργικά Συστήματα Ι Διαχείριση Μνήμης (Memory Management) 1 «Δίψα» για Μνήμη! ~1990: ένας desktop υπολογιστής είχε περίπου 1MB memory. Τα 4MB ήταν πολυτέλεια! Σήμερα: ένα laptop, ακόμα κι ένα κινητό(!)

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

Διαβάστε περισσότερα

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ TfiÌÔ B' ÏÔ apple Ú ÎË ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα APXEΣ TEXNOΛOΓIAΣ

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN ENOTHTA 8 Περιεχόµενα 1. οµή αρχείων 2. Λειτουργίες επί των αρχείων 3. Oργάνωση αρχείων 4. Iδιοχαρακτηριστικά αρχείων 5. Kατάλογοι αρχείων 6. ιαχείριση του χώρου του δίσκου 7. Yλοποίηση αρχείων 8-1 1.

Διαβάστε περισσότερα

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ

ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ ΗΜΥ 32 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 8: ΕΙΚΟΝΙΚΗ (Virtual) ΜΝΗΜΗ Διδάσκων: Χάρης Θεοχαρίδης, ΗΜΜΥ ttheocharides@ucy.ac.cy [Προσαρμογή από Computer Architecture, Hennessy & Patterson,

Διαβάστε περισσότερα