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

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

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

Transcript

1 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης I Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin and Gange, Operating Systems Concepts. Deitel, Deitel and Choffnes, Operating Systems Λειτουργικά Συστήματα, Γ.Α. Παπαδόπουλος, Πανεπιστήμιο Κύπρου Λειτουργικά Συστήματα, Κ. Διαμαντάρας, ΤΕΙΘ Systems Programming in C, A.D. Marshal, University of Cardiff Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας

2 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης I Βασική διαχείριση μνήμης Εναλλαγή Δέσμευση μνήμης Εικονική (Ιδεατή) μνήμη Σελιδοποίηση

3 Διαχείριση μνήμης (1) Η ιδανική μνήμη για το προγραμματιστή: μεγάλη (πρακτικά άπειρη) γρήγορη (σε σχέση με τη CPU) μη πτητική (να μη χάνει τα δεδομένα αν δεν τα σβήσουμε) Τα προγράμματα επεκτείνονται για να καταλάβουν το χώρο μνήμης που τους προσφέρεται Ιεραρχία μνήμης Σχετικά λίγη, γρήγορη, ακριβή μνήμη Cache Αρκετή μέσης ταχύτητας και κόστους κύρια μνήμη RAM Πρακτικά άπειρη, αργή, φθηνή δευτερεύουσα μνήμη HD, CD/DVD (δες πλήρη περιγραφή και σχήματα στην επισκόπηση) Η διαχείριση μνήμης αφορά στον έλεγχο και λειτουργία της ιεραρχίας μνήμης, με έμφαση στη κύρια και δευτερεύουσα μνήμη.

4 Διαχείριση μνήμης (2) Ο διαχειριστής μνήμης είναι το τμήμα του λ.σ. που ασχολείται με την οργάνωση και τις στρατηγικές διαχείρισης της μνήμης. Χαρακτηριστικά των διαχειριστών μνήμης : Εκχωρούν (δεσμεύουν) την κύρια μνήμη σε διεργασίες Ρυθμίζουν την απόδοση (βαθμό) πολυπρογραμματισμού Αντιστοιχούν το χώρο διευθύνσεων της διεργασίας (λογικές διευθύνσεις) στις φυσικές διευθύνσεις κύρια μνήμη Διασφαλίζουν την προστασία και επανατοποθέτηση διεργασιών Ελαχιστοποιούν το χρόνο προσπέλασης χρησιμοποιώντας τεχνικές απεικόνισης, στατικές ή δυναμικές. Αλληλεπιδρούν με ειδικό υλικό για τη διαχείριση της μνήμης (MMU, TLB) για να βελτιώσουν την απόδοση.

5 Βαθμός πολυπρογραμματισμού Degree of multiprogramming Ο βαθμός χρήσης της CPU Β ως συνάρτηση του βαθμού πολυπρογραμματισμού (αριθμός διεργασιών στη κύρια μνήμη) ν και του μέσου ποσοστού αναμονής για Ε/Ε ανά διεργασία (Ι/Ο-burst προς σύνολο χρόνου CPU) π. B = 1 π^v, με 0<=0 B, π 0<=1. Το π συνήθως μεγάλο (80%), ενώ το v εξαρτάται από τη διαθέσιμη μνήμη.

6 Απόδοση πολυπρογραμματισμού (1) 1000Μb κύριας μνήμης, 200Μb σε χρήση από το λ.σ., 800Μb ελεύθερα. Κάθε εφαρμογή καταλαμβάνει κατά μέσο όρο 200Μb, άρα κατά μέσο όρο 'χωρούν' ν = 4 εφαρμογές ταυτόχρονα στη κύρια μνήμη. Αν θεωρήσουμε οτι οι εφαρμογές είναι κατά βάση αλληλεπιδραστικές (πχ εφαρμογές γραφείου, διαδικτύου, γραφικά, παιχνίδια) με μέσο ποσοστό αναμονής Ε/Ε π = 80% τότε Β = ^ 4 ~ 60%. Έστω κόστος μνήμης Χ ευρώ τα 1000Μb. Αν προσθέσουμε 1000Mb κύριας μνήμης, τότε ν' = 9 και αντίστοιχα Β' = ^9 ~ 85%, βελτίωση χρήσης CPU κατά 40%, κόστος 0.4/Χ Αν προθέσουμε 2000Μb κύριας μνήμης, τότε ν'' = 14 και αντίστοιχα Β'' = ^14 ~ 95%, βελτίωση χρήσης CPU κατά 60%, κόστος 0.3/Χ Αν προθέσουμε 3000Μb κύριας μνήμης, τότε ν''' = 19 και αντίστοιχα Β''' = ^19 ~ 99%, βελτίωση χρήσης CPU κατά 66%, κόστος 0.22/Χ

7 Απόδοση πολυπρογραμματισμού (2) π^ν B=1-π^ν Β / # Proc Time * B / # Proc a) Χρόνος άφιξης και απαιτήσεις σε CPU time για 4 διεργασίες. b) Χρήση CPU για 1 έως 4 διεργασίες με μέση αναμονή Ε/Ε 80%. c) Διάγραμμα χρονοπρογραμματισμού εκ περιτροπής των 4 διεργασιών.

8 Ελάχιστη διαχείριση μνήμης Σε απλά συστήματα μονοπρογραμματισμού δεν υπάρχει 'αφαιρετικό μοντέλο' μνήμης (memory abstraction). Η μνήμη 'φαίνεται' ακριβώς όπως πραγματικά είναι στο πρόγραμμα του χρήστη με εξαίρεση το τμήμα του λ.σ. a) πρώτοι υπολογιστές (μονοπρογραμματισμός) b) ενσωματωμένα συστήματα, παιχνιδομηχανές κλπ c) πρώτα PCs. Σε χρήση μόνο σε απλά ενσωματωμένα συστήματα, προγραμματιζόμενους μικροελεγκτές κλπ.

9 Σταθερά ίσα διαμερίσματα (1) Απλή μέθοδος με ελάχιστη επιβάρυνση στο λ.σ. Κάθε διεργασία με μέγεθος μικρότερο ή ίσο με το μέγεθος του διαμερίσματος μπορεί να φορτωθεί. Αν όλα τα διαμερίσματα είναι γεμάτα, το λ.σ. μπορεί να κάνει εναλλαγή μιας διεργασίας. Ένα πρόγραμμα είναι πιθανό να μη χωρά σε ένα διαμέρισμα, τότε θα καταλάβει δύο συνεχή διαμερίσματα. Με τη μέθοδο αυτή η χρησιμοποίηση της κύριας μνήμης είναι εξαιρετικά αναποτελεσματική. Κάθε πρόγραμμα, όσο μικρό και να είναι, καταλαμβάνει ένα ολόκληρο διαμέρισμα. Ο ανεκμετάλλευτος χώρος εσωτερικά σε ένα διαμέρισμα αναφέρεται ως εσωτερικός κατακερματισμός (internal fragmentation). Θα τον δούμε αργότερα και στη τμηματοποποίηση (segmentation)

10 Σταθερά ίσα διαμερίσματα (2) Εσωτερικός κατακερματισμός μέρος του διαμερίσματος που δεν χρησιμοποιείται Operating System 8M 8M Operating System 8M 8M process 1 8M Unused 8M 8M 8M 8M

11 Σταθερά άνισα διαμερίσματα (1) Μειώνει τα προβλήματα των ίσων διαμερισμάτων Πλεονεκτήματα Υπάρχει μικρότερος εσωτερικός κατακερματισμός. Περισσότερο αποτελεσματική χρήση της κύριας μνήμης, σε σχέση με τη μέθοδο των ίσων τμημάτων Μειονεκτήματα Πιθανή καθυστέρηση σε κάποιες διεργασίες Operating System σε σχέση με άλλες 8M λόγω μεγέθους. 2M process 1 4 M Πιθανή μεροληψία κατά των μικρών 6M διεργασιών. 8M 8M 12 M

12 Σταθερά άνισα διαμερίσματα (2) Οι διεργασίες εντάσσονται σε ουρές ανάλογα με τι μέγεθος (a) ή Σε μια ουρά με δυναμικότερο αλγόριθμο τοποθέτησης (b) (δες μεσοπρόθεσμος χρονο-προγραμματισμός κυρίως συστημάτων δέσμης).

13 Δυναμικά διαμερίσματα (1) Τμήματα μεταβλητού μεγέθους και πλήθους. Μια διεργασία αντιστοιχείται ακριβώς στην ποσότητα μνήμης που απαιτείται. Σταδιακά δημιουργούνται κενά (οπές) στη μνήμη. Αυτός είναι ο εξωτερικός κατακερματισμός (external fragmentation). Πρέπει να χρησιμοποιηθεί σύμπτυξη (compaction) που θα μετατοπίσει τις διεργασίες έτσι ώστε να είναι συνεχόμενες και όλη η ελεύθερη μνήμη να αποτελεί μια ενότητα (block). Η σύμπτυξη δαπανά χρόνο της CPU και προϋποθέτει τη δυνατότητα δυναμικής μετατόπισης (μεταφορά ενός προγράμματος σε άλλη περιοχή μνήμης χωρίς να ακυρώνονται οι αναφορές της μνήμης). Θα δούμε αργότερα τα δυναμικά διαμερίσματα σε συνδυασμό με τη κατάτμηση (segmentation).

14 Δυναμικά διαμερίσματα (2)

15 Δυναμικά διαμερίσματα (3)

16 Κατακερματισμός Εσωτερικός : είναι η μνήμη που δεν χρησιμοποιείται (δαπανάται) και είναι ορατή μόνον από τη διεργασία που ζητά μνήμη. Συμβαίνει επειδή η ποσότητα μνήμης που θα εκχωρηθεί στη διεργασία πρέπει να είναι μεγαλύτερη ή ίση από την αιτούμενη ποσότητα. Εξωτερικός: είναι η μνήμη που δεν χρησιμοποιείται (δαπανάται) και είναι ορατή μόνο από το σύστημα εκτός των διεργασιών που απαιτούν μνήμη. Συμβαίνει επειδή όλες οι απαιτήσεις μνήμης δεν είναι του ίδιου μεγέθους.

17 Εναλλαγή (1)

18 Εναλλαγή (2) Ο χώρος της κύριας μνήμης μερικές φορές δεν επαρκεί για να χωρέσει όλες τις εικόνες των ενεργών διεργασιών (που βρίσκονται σε διάφορες καταστάσεις) ιδίως σε συστήματα multi-user συστήματα. Οι εικόνες των διεργασιών πρέπει να μεταφέρονται δυναμικά και με διαφάνεια από τη κύρια στη δευτερεύουσα μνήμη (διαμέρισμα εναλλαγής, swapping partition) και ανίστροφα. Εναλλαγή (Swapping): οι εικόνες των διεργασιών μεταφέρονται ως ενιαίο σύνολο, ολόκληρες. Εικονική (ή Ιδεατή) Μνήμη (Virtual Memory): οι εικόνες των διεργασιών μεταφέρονται κατά τμήματα. Μια διεργασία μπορεί να εκτελεστεί έχοντας στη κύρια μνήμη μόνο τμήμα του χώρου διευθύνσεών της.

19 Εναλλαγή (3) Μεταβολές στη κύρια μνήμη με τη διαδοχική εκτέλεση διεργασιών Α, Β, C, D, A.. Μεγαλύτερη ευελιξία από ότι στα δυναμικά διαμερίσματα λόγω της μετακίνσης διεργασιών οχι μόνο μέσα στη κύρια μνήμη. Πιθανή ανάγκη για σύμπτυξη μνήμης (memory compaction) μετά από πολλές εναλλαγές.

20 Δέσμευση μνήμης (1) Δέσμευση κύριας μνήμης για δύο διεργασίες Α, Β. (a) Πιθανή ανάπτυξη μόνο ενός τμήματος (μόνο stack) (b) Πιθανή ανάπτυξη τμήματος δεδομένων (heap) και στοίβας κλήσεων (stack).

21 Δέσμευση μνήμης (2) Αν το λ.σ. δεν δεσμεύει επιπλέον χώρο για την ανάπυξη των διεργασιών ή αν ο επιλέον χώρος που δεσμεύτηκε δεν είναι επαρκής τότε: Αν υπάρχει γειτονικός ελεύθερος χώρος μπορεί να δεσμευθεί. Αν υπάρχει άλλος χώρος στη κύρια μνήμη (οπή, hole) για τη συνολική μεταφορά της εικόνας της διεργασίας. Αν δεν υπάρχουν τέτοιοι χώροι τότε η διεργασία πρέπει να μεταφερθεί στο χώρο εναλλαγής και να περιμένει την αποδέσμευση μνήμης. Αν ο χώρος εναλλαγής είναι ανεπαρκής η διεργασία αναστέλεται (πιθανό πρόβλημα αδιεξόδου από αιτήματα δέσμευσης χώρου μνήμης και δίσκου). Στο δίσκο μεταφέρεται μόνο το τμήμα της μνήμης που πραγματικά χρησιμοποιήθηκε και τροποποιήθηκε από τη διεργασία, όχι αυτό που δεσμεύτηκε αλλά μπορεί να μη χρησιμοποιήθηκε/τροποποιήθηκε.

22 Συνεχής και ασυνεχής δέσμευση μνήμης Η συνεχής δέσμευση μνήμης αφορά τα απλά υπολογιστικά συστήματα όπου αν το πρόγραμμα ήταν μεγαλύτερο από τη διαθέσιμη μνήμη το σύστημα δεν μπορούσε να το εκτελέσει. Ο χώρος διευθύνσεων (ή η εικόνα) της διεργασίας θεωρείται αδιαίρετος (συνεχής). Είναι η περίπτωση που μελετούμε μέχρι τώρα, αφού οι βασικές τεχνικές εφαρμόζονται κατ' αναλογία και στην ασυνεχή δέσμευση μνήμης. Στη ασυνεχή δέσμευση μνήμης το πρόγραμμα διαιρείται σε τμήματα που τοποθετούνται από το σύστημα σε μη γειτονικές οπές στην κύρια μνήμη. Η τεχνική αυτή κάνει εφικτή τη χρήση περιοχών που είναι πολύ μικρές για να χωρέσουν ολόκληρο πρόγραμμα. Αν και με τον τρόπο αυτό εισάγεται στο σύστημα πολυπλοκότητα αυτή δικαιολογείται από την αύξηση που επιτυγχάνεται στο βαθμό πολυ-προγραμματισμού.

23 Υλοποίηση δέσμευσης μνήμης (a) Τμήμα μνήμης με πέντε διεργασίες (A, B, C, D, E) και τρείς οπές (γραμμοσκισμένες περιοχές). Οι μικρές γραμμές δηλώνουν τις μονάδες δέσμευσης μνήμης (πχ 1K bytes). (b) Υλοποίηση με χάρτη μνήμης (bitmap). (c) Υλοποίηση με συνεδεδμένη λίστα (P=process, H=hole).

24 Χάρτες μνήμης Για μνήμη Μ bytes και μονάδα κατανομής N bytes απαιτείται χάρτης μνήμης Μ/Ν bits. Για λέξη μνήμης 32 bits απαιτούνται Μ/32*Ν λέξεις. Πχ Μ = 1000 Mb, Ν = 100 Κb, λέξη 32 bits M/N ~ 2^20/*2^7 ~ 2^13 bits ή Μ/32*Ν ~ 2^8 256) λέξεις. Μεγάλη μονάδα κατανομής = μικρός χάρτης μνήμης σημαντικός κατακερματισμός Μικρή μονάδα κατανομής = μεγάλος χάρτης μνήμης λιγότερος κατακερματισμός μνήμης Σε κάθε κατανομή μνήμης ο διαχειριστής μνήμης πρέπει να διατρέχει το χάρτη μνήμης για να βρεί τη βέλτιστη (ή τη πρώτη) διαθέσιμη περιοχή (δηλαδή >= Κ διαδοχικά 0, όπου Κ οι απαιτούμενες μονάδες κατανομής). Πολυπλοκότητα ανάλογη του bit-level string matching σε δυαδικό αλφάβητο (~ Μ*Κ/2 bit level συγκρίσεις).

25 Συνδεδεμένες λίστες Η λίστα είναι ταξινομημένη ως προς τις διεθύνσεις μνήμης. Τέσσερις περιπτώσεις ενημέρωσης της λίστας μετά από τον τερματισμό μιας διεργασίας X. Ιδιαίτερη σημασία έχει η συγχώνευση των οπών (περιπτώσεις (b)-(d)) και η αντίστοιχη σμίκρυνση της λίστας. Μια διπλά συνδεδεμένη λίστα διευκολύνει στις περιπτώσεις (c) και (d).

26 Αλγόριθμοι δέσμευσης (1) Πρώτη προσαρμογή (First Fit): επιλέγεται η πρώτη οπή με μέγεθος Μ >= Κ. Το απομένον τμήμα μεγέθους Μ-Κ χαρακτηρίζεται νέα οπή. Συντομότερη δυνατή αναζήτηση. Σύντομα γεμίζουν οι 'χαμηλές' διευθύνσεις. Επόμενη προσαρμογή (Next Fit): όπως ο προηγούμενος αλλά ξεκινούμε από το σημείο που σταματήσαμε στη τελευταία κατανομή, όχι από την αρχή. Λίγο χειρότερος από First Fit. Βέλτιστη προσαρμογή (Best Fit): επιλέγεται η οπή με μέγεθος min(m >= K). Πιο αργός από First Fit, αφού διατρέχει όλη τη δομή, αλλά και πιο σπάταλος, επειδή δημιουργεί κατά μέσο όρο πιο μικρές -και λιγότερο χρήσιμες- οπές. Χειρότερη προσαρμογή (Worst fit): επιλέγεται η οπή με μέγεθος max(m >= K). Φτωχά αποτελέσματα.

27 Αλγόριθμοι δέσμευσης (2) Εκχώρηση block 16K 8K 8K 12K First Fit 12K Best Fit 6K 22K Last allocated block (14K) 18K 2K 8K 8K 6K 6K Allocated block Free block 14K 14K Next/Worst Fit 36K 20K Before After

28 Αλγόριθμοι δέσμευσης (3) Χωριστές λίστες για οπές και για διεργασίες. Επιταχύνονται οι αλγόριθμοι δέσμευσης μνήμης (προσαρμογής) αλλά επιβαρύνονται οι αλγόριθμοι αποδέσμευσης (σύμπτυξης). Ταξινόμηση της λίστας οπών κατά μέγεθος οπής. Η βέλτιστη και η πρώτη προσαρμογή ταυτίζεται, η επόμενη είναι περιττή. Εναλλακτικά, η λίστα των οπών αντικαθίσταται από τις ίδιες τις οπές. Μερικές λέξεις δεσμεύονται για να δείχνουν την προηγούμενη, επόμενη οπή και το μέγεθός τους. Γρήγορη προσαρμογή (Quick Fit): οι οπές ομαδοποιούνται σε υπολίστες με βάση τα πιο συχνά ζητούμενα μεγέθη μνήμης (εικόνων διεργασιών). Γρήγορος αλγόριθμος δέσμευσης αλλά πιο περίπλοκη αποδέσμευση.

29 Σύστημα ζευγών ή φίλων (buddies) (1) Χρησιμοποιείται στο Linux. Όλος ο διαθέσιμος χώρος της μνήμης συμπεριφέρεται ως ένα μοναδικό block μεγέθους 2U Αν απαιτηθεί ένα block μεγέθους s τέτοιου ώστε 2U-1 < s <= 2U, εκχωρείται ολόκληρο το block Διαφορετικά το block διαιρείται σε δύο ίσα τμήματα (ζεύγος φίλων buddies). Η διαδικασία συνεχίζεται μέχρι να δημιουργηθεί το μικρότερο block που είναι μεγαλύτερο ή ίσο του μεγέθους s.

30 Σύστημα ζευγών ή φίλων (buddies) (2)

31 Σύστημα ζευγών ή φίλων (buddies) (3)

32 Εικονική (Ιδεατή) Μνήμη Προϊστορία: το πρόγραμμα (και τα δεδομένα) χωρίζεται από το προγραμματιστή σε υπερθέματα (οverlays), δηλαδή τμήματα κώδικα ή δεδομένων που φορτώνονται στη μνήμη σύμφωνα με οδηγίες (directives) που ενσωματώνονται στο πρόγραμμα και απευθύνονται στο σύστημα εκτέλεσης και το λ.σ. Η εικονική (ιδεατή) μνήμη αυτοματοποιεί αυτή τη διαδικασία ώστε να υλοποιείται διαφανώς, χωρίς τη συμμετοχή του προγραμματιστή. Επιπλέον παρέχεται η δυνατότητα ταυτόχρονης εξυπηρέτησης περισσότερων διεργασιών στη κύρια μνήμη (μεγαλύτερος βαθμός πολυπρογραμματισμού). Τελικά, διευκολύνει τη προσωρινή μεταφορά στη δευτερεύουσα μνήμη των διεργασιών που αναμένουν αργές λειτουργίες Ε/Ε (suspended).

33 Υπερθέματα (overlays)

34 Σύνδεση και Φόρτωση (1) Στά σύγχρονα λ.σ. το πρώτο βήμα κατά τη δημιουργία μιας ενεργής διεργασίας είναι η φόρτωση ενός προγράμματος στην κύρια μνήμη και η δημιουργία της εικόνας διεργασίας. Η διαδικασία αυτή γίνεται σχετικά αυτόματα κατά τη μεταγλώττιση (αρχικά) και μετά κατά τη σύνδεση (linkig) και φόρτωση (loading).

35 Σύνδεση και Φόρτωση (2) Το πρόγραμμα αποτελείται από έναν αριθμό μεταγλωττισμένων ενοτήτων (modules) με τη μορφή αντικειμένου κώδικα (object code). Αυτές οι ενότητες συνδέονται (linked) και τότε την επιλύονται (resolved) οποιεσδήποτε αναφορές μεταξύ τους (πχ συναρτήσεις, εξωτερικές μεταβλητές) ενώ συγχρόνως πραγματοποιούνται αναφορές και σε ρουτίνες βιβλιοθήκης. Οι ρουτίνες βιβλιοθήκης μπορούν να ενσωματωθούν στο πρόγραμμα ή να αναφέρονται ως διαμοιραζόμενος κώδικας που πρέπει να παρέχεται από το Λ.Σ. κατά τη στιγμή της εκτέλεσης (dynamic linking). Η μονάδα σύνδεσης (linker) παίρνει ως είσοδο μια συλλογή από modules αντικειμένων και παράγει ένα module φόρτωσης που αποτελείται από ένα ολοκληρωμένο σύνολο από προγράμματα και δεδομένα που θα περάσουν στον φορτωτή. Σε κάθε module αντικειμένου μπορούν να υπάρχουν αναφορές διεύθυνσης σε θέσεις άλλων modules. Η μονάδα φόρτωσης (loader) τοποθετεί το module που πρόκειται να φορτωθεί στην κύρια μνήμη και ενημερώνει τα σχετικά modules των βιβλιοθηκών, αν υπάρχει dynamic linking. Οι έτοιμες εφαρμογές, οι υπηρεσίες και τα εκτελέσιμα του λ.σ. Προφανώς ξεκινούν από τη φάση του loading και dynamic linking.

36 Δόμηση του χώρου διευθύνσεων Source code Library code Other objects Secondary memory C Reloc Object code Link Edit Compile time: μεταγλώττιση Link time: σύνδεση στοιχείων Load time: Primary memory Loader Εκχώρηση πρωτεύουσας μνήμης Διευθέτηση διευθύνσεων στο χώρο διευθύνσεων Αντιγραφή του χώρου διευθύνσεων από τη δευτερεύουσα στην πρωτεύουσα μνήμη Process address space

37 Σύνδεση και Φόρτωση (3) Απόλυτη φόρτωση Το υπό φόρτωση module φορτώνεται πάντοτε στην ίδια θέση στην κύρια μνήμη. Οι αναφορές διεύθυνσης θα πρέπει να είναι απόλυτες διευθύνσεις της κύριας μνήμης. Φόρτωση με επανατοποθέτηση (relocation) Το υπό φόρτωση module μπορεί να τοποθετηθεί οπουδήποτε στην κύρια μνήμη. Ο interpreter ή ο compiler παράγουν διευθύνσεις σχετικές με ένα γνωστό σημείο που είναι συνήθως η αρχή του προγράμματος. Δυναμική εκτέλεση φόρτωσης Το υπό φόρτωση module φορτώνεται στην κύρια μνήμη με όλες τις αναφορές μνήμης σε σχετική μορφή. Οι απόλυτες διευθύνσεις υπολογίζονται κατά τη στιγμή εκτέλεσης μιας εντολής.

38 Σύνδεση και Φόρτωση (4) Στατική σύνδεση (static linking) Τα object files και οι βιβλιοθήκες συνδυάζονται σε ένα μοναδικό εκτελέσιμο αρχείο κατά τη διάρκεια της σύνδεσης Δυναμική σύνδεση (dynamic linking) Ta οbject files παραμένουν αποσυνδεδεμένα Ο κώδικας αντιστοιχείται και συνδέεται κατά τον χρόνο εκτέλεσης. Παράδειγμα αποτελούν οι βιβλιοθήκες συστήματος (system libraries).

39 Λογικές και φυσικές διευθύνσεις (1) Τα συστήματα ιδεατής μνήμης καλύπτουν τις ανάγκες των διεργασιών μέσω της ψευδαίσθησης ότι έχουν στη διάθεσή τους περισσότερη κύρια μνήμη από όση διαθέτει το υπολογιστικό σύστημα. Έτσι υπάρχουν δύο τύποι διευθύνσεων στα συστήματα ιδεατής μνήμης : Αυτές στις οποίες αναφέρονται οι διεργασίες (ιδεατές ή εικονικές ή λογικές διευθύνσεις virtual / logical addresses) Αυτές που είναι διαθέσιμες στην κύρια μνήμη (φυσικές ή πραγματικές διευθύνσεις real / physical addresses)

40 Εικονική και φυσική μνήμη virtual memory (data names) physical memory (data locations) 0 0 translation virtual address physical address M-1 N-1

41 Λογικές και φυσικές διευθύνσεις (2) Μια λογική διεύθυνση είναι μια αναφορά σε μια θέση μνήμης ανεξάρτητα από τη φυσική δομή και οργάνωση της μνήμης καθώς και από την τρέχουσα εκχώρηση των δεδομένων στη μνήμη. Οι μεταγλωττιστές παράγουν κώδικα στον οποίο όλες οι αναφορές μνήμης είναι λογικές διευθύνσεις. Οι λογικές διευθύνσεις παράγονται από τον επεξεργαστή, είναι οι εικονικές διευθύνσεις. Πριν πραγματοποιηθεί η πρόσβαση στην κύρια μνήμη γίνεται μετάφραση στη φυσική διεύθυνση Μια σχετική (relative) διεύθυνση ή απόσταση (οffset) είναι το απλούστερο παράδειγμα λογικής διεύθυνσης στο οποίο η διεύθυνση εκφράζεται ως μια θέση σχετική με ένα γνωστό σημείο του προγράμματος (π.χ. Απόσταση από την αρχή ή τη βάση (base+offset) Μια φυσική ή απόλυτη (absolute) διεύθυνση είναι μια φυσική θέση στην κύρια μνήμη.

42 Επανατοποθέτηση και Προστασία (1) Η 'εικόνα' μιας διεργασίας μπορεί σε διαφορετικές χρονικές στιγμές της εκτέλεσης να τοποθετηθεί σε διαφορετικά σημεία της κύριας μνήμης. Οι διευθύνσεις των δεδομένων και του κώδικα δεν μπορούν να είναι απόλυτες (absolute) αλλά σχετικές (relative) από την αρχή των αντίστοιχων τμημάτων. Οι χώροι διευθύνσεων των διεργασιών πρέπει να είναι διακριτοί (ιδιωτικοί), εκτός από τις ρητά διαμοιραζόμενες θέσεις μνήμης (πόρους). Χρήση Μονάδων Διαχείρισης Μνήμης (MMUs) με καταχωρητές βάσης και ορίου (base and limit). Οι σχετικές (λογικές) διευθύνσεις προστίθενται στη βάση για να παράγουν την φυσική (απόλυτη) διεύθυνση. Φυσικές διευθύνσεις πάνω από το όριο προκαλούν διακοπή (σφάλμα).

43 Eπανατοποθέτηση και Προστασία (2) Δύο διεργασίες με απόλυτες διευθύνσεις και χώρους διευθύνσεων 16Κ Ποια διιεύθυνση θα παράγει η εντολή JMP 28?

44 Επανατοποθέτηση και Προστασία (3) Όταν μια διεργασία περιέρχεται σε κατάσταση εκτέλεσης ένας καταχωρητής βάσης της CPU (base register) φορτώνεται με τη φυσική διεύθυνση εκκίνησης της διεργασίας. Ένας καταχωρητής ορίου (limit register) φορτώνεται με τη φυσική διεύθυνση τερματισμού της διεργασίας. Όταν προκύψει μια σχετική διεύθυνση, αυτή προστίθεται στο περιεχόμενο του καταχωρητή βάσης για να αποκτηθεί η φυσική διεύθυνση που συγκρίνεται με το περιεχόμενο του καταχωρητή ορίου. Αυτό παρέχει προστασία υλικού: κάθε διεργασία μπορεί να έχει πρόσβαση μόνον στη δική της εικόνα (process image). Δύο πράξεις για κάθε παραγόμενη διεύθυνση (overhead).

45 Θέση και λειτουργία της MMU (1)

46 Θέση και λειτουργία της MMU (2) Relative address Process Control Block Base Register Adder Bounds Register Comparator Interrupt to operating system Program Absolute address Data Stack Process image in main memory

47 Θέση και λειτουργία της MMU (3) Οι ίδιες διεργασίες με χρήση σχετικών διευθύνσεων. Βase JMP 28 => add = if > error. Limit

48 Σελιδοποίηση (1) Η κατάτμηση της μνήμης σε μικρά ίσου μεγέθους τμήματα (blocks, chunks) και η διαίρεση κάθε διεργασίας σε τμήματα του ίδιου μεγέθους. Τα τμήματα μιας διεργασίας λέγονται σελίδες(pages) και τα τμήματα της μνήμης πλαίσια σελίδων (page frames). Ο εικονικός χώρος διευθύνσεων διαμοιράζεται σε σελίδες σταθερού μεγέθους, ενώ η φυσική μνήμη διαμοιράζεται σε πλαίσια σελίδας (page frames) (μεγέθους ίδιου με τη σελίδα). Μια σελίδα μπορεί να τοποθετηθεί σε οποιοδήποτε πλαίσιο σελίδας. Εναλλαγές μεταξύ μνήμης και δίσκου πάντα σε μονάδες σελίδας. Η τρέχουσα κατάσταση ανά διεργασία δίνεται από τον Πίνακα Σελίδων (Page Table)

49 Σελιδοποίηση (2) virtual pages page frames

50 Αντιστοίχηση σελίδων σε πλαίσια σελίδων Page 0 Page 1 Page 2 Page 3 Page 4 Logical memory (P0) Page 0 Page 1 Logical memory (P1) Page frame number Page table (P0) 8 0 Page table (P1) 0 Physical memory Page 1 (P1) Free pages Page 4 (P0) Page 1 (P0) Page 2 (P0) Page 0 (P0) Page 0 (P1) Page 3 (P0)

51 Απεικόνιση λογικών σε φυσικές διευθύνσεις (1) Διαίρεση της διεύθυνσης από τη CPU σε δύο τμήματα Αριθμός σελίδας ( p ) Μετατόπιση στη σελίδα ( d ) Αριθμός σελίδας Δείκτης στον πίνακα σελίδων Ο πίνακας σελίδων περιέχει τη διεύθυνση βάσης της σελίδας στη φυσική μνήμη Μετατόπιση στη σελίδα Προστίθεται στη διεύθυνση βάσης για να βρεθεί η πραγματική διεύθυνση στη φυσική μνήμη Μέγεθος σελίδας = 2d bytes παράδειγμα: 4 KB (=4096 byte) pages 32 bit logical addresses 2d = = 20 bits d = bits p d 32 bit logical address

52 Απεικόνιση λογικών σε φυσικές διευθύνσεις (2) page number page offset CPU p Page frame number d 0 1 p-1 p p+1 f d Page frame number f page table f-1 f f+1 f+2 physical memory

53 Παράδειγμα απεικόνισης present/absent bit Page table Incoming virtual address (0x2004, 8196) Outgoing physical address (0x6004, 24580) Παράδειγμα: 4 KB pages (12-bit offsets) 16 bit virtual address space 16 pages (4-bit index) 8 physical pages (3-bit index) 4-bit index into page table virtual page = 0010 = 2 12-bit offset

54 Σελιδοποίηση(3) Σχέση μεταξύ των χώρων εικονικών (ιδεατών) και φυσικών διευθύνσεων. Εικονικές διευθύνσεις 16bit (0K 64K). Φυσικές διευθύνσεις 15bit (0K 32Κ). Εικονικές Σελίδες (Vitual Pages) ίσες με τα Πλαίσια Σελίδας (Page Frames) 4Κ.

55 Σελιδοποίηση(4) Το πρόγραμμα 'παράγει' μια λογική διεύθυνση 16 bits. Αυτή χωρίζεται σε δύο τμήματα: τον αριθμό σελίδας (page number) και στην διεύθυνση μέσα στη σελίδα (page offset). Το page offset καθορίζεται από το μέγεθος σελίδας: για τα 4K απαιτούνται 12bits. Άρα για το page number απομένουν 4bits, επομένως το λ.σ. Μπορεί να εξυπηρετήσει το πολύ 16 σελίδες στην εικονική μνήμη (μέγεθος πίνακα σελίδων). Η φυσική μνήμη είναι 32Κ άρα απαιτούνται 15bits για τη προσπέλαση. Το page frame έχει μέγεθος 4Κ (όσο και η σελίδα) άρα απαιτούνται 12bits. H φυσική μνήμη με τα 3 bits που απομένουν μπορεί να εξυπηρετήσει μέχρι 8 page frames. Ο πίνακας σελίδων δείχνει τη τρέχουσα σχέση μεταξύ των 16 σελίδων του χώρου διευθύνσεων μιας διεργασίας (4 bits) και των 8 πλαισίων σελίδων της μνήμης (3 bits).

56 Σελιδοποίηση(5) 15 bits φυσικής διεύθυνσης = 3 page frame number + 12 page offset To page number δείχνει τη θέση στο page table. To Present/absent bit δείχνει αν η σελίδα είναι στη μνήμη Αν ==1 τότε δείχνει σε ποιό page frame βρίσκεται (δίνει το page frame number). Αν ==0 τότε προκαλείται page fault (σφάλμα σελίδας). 16 bits εικονικής διεύθυνσης = 4 page number + 12 page offset.

57 Πίνακας σελίδων page A0 page A1 process A virtual memory page A2 page A3 page table A physical memory page A0 page A2 page B1 5 page table B page B0 page B1 process B virtual memory page B2 page B page A3 7 8 page B page B

58 Δομή πίνακα σελίδων Αριθμός πλαισίου σελίδας (Page frame number): έχει εξηγηθεί Bit Παρουσίας/Απουσίας (Present/Absent bit): έχει εξηγηθεί Προστασία (Protection): 1 bit = R/W ή RO, 3 bits = R W X (όπως Unix) Τροποποίηση (Modified): Dirty bit δηλώνει οτι η σελίδα έχει τροποποιηθεί και σε περίπτωση εναλλαγής πρέπει να ξαναγραφεί στο δίσκο. Αναφορά (Referenced): Δηλώνει οτι η σελίδα χρησιμοποιήθηκε για ανάγνωση και χρησιμεύει στις αποφάσεις αντικατάστασης σελίδων. (Απ)ενεργοποίηση κρυφής μνήμης (Caching): Κανονικά το Caching είναι on. Απενεργοποιείται μόνο για ειδικές σελίδες που αναφέρονται σε ενταμιευτές συσκευών Ε/Ε (I/O buffers) που απεικονίζονται στη μνήμη (memory mapped I/O).

59 Bit παρουσίας/απουσίας (present/absent) Virtual Page Number Memory resident page table (physical page Present/Absent or disk address) Physical Memory Disk Storage (swap file or regular file system file)

60 Βits προστασίας Κάθε γραμμή στον πίνακα σελίδων περιέχει πληροφορίες για τα δικαιώματα πρόσβασης (access rights) Page Tables Memory Read? Write? Physical Addr Process i: VP 0: Yes No PP 9 VP 1: Yes Yes PP 4 No XXXXXXX VP 2: No 0 :1 : Read? Write? Physical Addr VP 0: Yes Yes PP 6 Process j: VP 1: Yes No PP 9 VP 2: No XXXXXXX No N-1 :

61 Πίνακας σελίδων - υλοποίηση (1) Συνάρτηση απεικόνισης: Φυσική_διεύθυνση = F(Λογική_διεύθυνση) Μπορεί να είναι σελιδοποιημένος. Τουλάχιστο ένα τμήμα του βρίσκεται στη κύρια μνήμη κατά την εκτέλεσή της. Ζητήματα υλοποίησης: Η απεικόνιση πρέπει να είναι γρήγορη αφού εκτελείται σε κάθε αναφορά στη μνήμη ~ 35% εντολών γλώσσας μηχανής (απλή συνάρτηση και με υποστήριξη υλικού). Η απεικόνιση παρεμβάλλεται ακόμη και στις αναφορές στη κρυφή μνήμη, οπότε επηρεάζει και αυτή τη λειτουργία. Ο πίνακας σελίδων δεν πρέπει να είναι τεράστιος, σε σχέση με το μέγεθος της σελίδας, με το μέγεθος της διεργασίας και με το μέγεθος της κύριας μνήμης.

62 Πίνακας σελίδων υλοποίηση (2) Δύο εναλλακτικές (ακραίες) υλοποιήσεις: Κατά τη θεματική εναλλαγή, φόρτωση του πίνακα σελίδων σε ειδικό χώρο μνήμης (register bank, πίνακα καταχωρητών). Σημαντική επιβάρυνση στη θεματική εναλλαγή. Ο πίνακας σελίδων δεν μπορεί να είναι πολύ μεγάλος, πχ όχι πάνω από λίγα Κ bytes. Ταχύτατη υλοποίηση της απεικόνισης αλλά με σοβαρούς φυσικούς περιορισμούς. Κατά τη θεματική εναλλαγή, φόρτωση μόνο δείκτη του πίνακα σελίδων σε καταχωρητή. Ελάχιστη επιβάρυνση στη θεματική εναλλαγή. Απεριόριστος πίνακας σελίδων. Μεγάλες καθυστερήσεις στην υλοποίηση της απεικόνισης, αφού η αναφορά στη μνήμη απαιτεί άλλη αναφορά στη μνήμη (στο πίνακα σελίδων) και πιθανό page fault. Συνήθως εφαρμόζεται κάποιος συνδυασμός των δύο εναλλακτικών.

63 Καταχωρητής - δείκτης σε πίνακα σελίδων

64 Παράδειγμα υλοποίησης πίνακα σελίδων Σε ένα σύγχρονο σύστημα έχουμε χώρο διευθύνσεων 32 bits και φυσική μνήμη 1G. Με σελίδα 4Κ έχουμε αριθμό σελίδας 20 bits, δηλαδή πίνακα σελίδων 1Μ θέσεων. Κάθε θέση απαιτεί τόσα bits όσα χρειάζονται για την δεικτοδότηση των πλαισίων σελίδων της φυσικής μνήμης, δηλαδή 30-12=18 bits τουλάχιστο. Αν κάθε θέση του καταλαμβάνει 4 bytes τότε δεσμεύεται χώρος κύριας μνήμης : 220 Χ 4 bytes = 222 bytes = 4 MB Αν στο σύστημα «τρέχουν» 25 διεργασίες τότε απαιτείται χώρος για τους πίνακες σελίδων : 25 Χ 4 ΜΒ = 100 ΜΒ! Μέγεθος φυσικής μνήμης 4Gb είναι συνηθισμένο και πιθανό ; Ήδη χρησιμοποιείται διευθυνσιοδότηση 64-bits για την αύξηση του εικονικού χώρου διευθύνσεων.

65 Πολυεπίπεδοι πίνακες σελίδων (1) page # p1 CPU p2 Main Memory logical address offset physical address frame # offset p2 Level 1 Page Table Level 2 Page Tables

66 Πολυεπίπεδοι πίνακες σελίδων (2)

67 Πολυεπίπεδοι πίνακες σελίδων (3) (a) Λογική διεύθυνση 32 bit με δύο πεδία page number των 10 bits PT1, PT2 και ένα πεδίο offset των 12 bits. (b) Πίνακας σελίδων δύο επιπέδων. Το πεδίο PT1 δείχνει στε θέση του πίνακα πρώτου επιπέδου που περιέχει δείκτες προς τους πίνακες δευτέρου επιπέδου. Οι θέσεις των πινάκων δευτέρου επιπέδου προσεγγίζονται από το πεδίο PT2.

68 Πολυεπίπεδοι πίνακες σελίδων(4) Λογική διεύθυνση 0x offset 0 04 PT PT Επιλέγεται ο πίνακας 1 δευτέρου επιπέδου (PT1 = 1). Επιλέγεται η θέση 3 του πίνακα 1 (PT2 = 3). Στo πλαίσιο σελίδας που δείχνει η θέση 3 επιλέγεται προστίθεται το offset 4 και παράγει τη Φυσική διεύθυνση.

69 Πολυεπίπεδοι πίνακες σελίδων (5) Μέγεθος σελίδας δευτέρου επιπέδου 4Κ (12 bits offset). Μέγεθος 'σελίδας' πρώτου επιπέδου 2^10 * 4Κ = 4Μ (10 bits PT2). Χώρος διευθύνσεων 2^10 * 4Μ = 4G (10 bits PT1). Μέγεθος πινάκων πρώτου και δευτέρου επιπέδου 1024 θέσεις, συνολικά 1024 * 1024 = 1Μ σελίδες των 4Κ. Αρχή τοπικότητας: κάθε πίνακας δευτέρου επιπέδου ελέγχει 4Μ συνεχούς εικονικής μνήμης. Κάθε διεργασία (πρόγραμμα) συνήθως προσπελαύνει μια περιοχή κώδικα, μια περιοχή δεδομένων και μια περιοχή στοίβας. Επομένως αρκούν τρείς πίνακες δευτέρου επιπέδου. Οι υπόλοιποι (γκρίζοι) είναι μεν διαθέσιμοι (χώρος διευθύνσεων 4G) αλλά στη πράξη δεν χρησιμοποιούνται ταυτόχρονα. Σπάνια χρησιμοποιούνται περισσότεροι πίνακες ταυτόχρονα. Τα PT1, PT2 δε χρειάζεται να είναι συμμετρικά. Το πρόβλημα του μεγέθους του πίνακα σελίδων έχει μειωθεί αλλά δεν έχει λυθεί εντελώς.

70 Translation Lookaside Buffers (TLBs) (1) Νέα εφαρμογή της αρχής της τοπικότητας: ειδική συσχετιστική μνήμη (Cache) με περιορισμένο αριθμό γραμμών (πχ 64) που κρατά τις πιο πρόσφατες αναφορές από τους τρείς πίνακες δευτέρου επιπέδου του πολυεπίπεδου πίνακα σελίδων. Η ΜΜU πρώτα αναζητά το page number στο TLB (στήλη Virtual page AND Valid). Αν τη βρεί και οι περιορισμοί είναι επαρκείς (στήλη Protection) => TLB hit + παραγωγή φυσικής διεύθυνσης. Αν τη βρεί και οι περιορισμοί είναι ανεπαρκείς (στήλη Protection) => TLB hit + παραγωγή σφάλματος προστασίας. Αν δε τη βρεί => TLB miss, απαιτείται αναφορά στο κανονικό πίνακα σελίδων + αντικατάσταση μιας γραμμής στο TLB κατ' αναλογία με τους αλγορίθμους συσχετιστικής μνήμης (όχι απαραίτητα page fault).

71 Σύγκριση άμεσης και συσχετιζόμενης αναζήτησης στον πίνακα σελίδων

72 Τυπικά περιεχόμενα και δομή TLB

73 Λειτουργία TLBs (1)

74 Λειτουργία TLBs (2)

75 TLB, σελιδοποίηση και Cache

76 Effective Access Time (1) Ο μέσος χρόνος προσπέλασης της κύριας μνήμης εξαρτάται από το πόσο συχνά ο ζητούμενος αριθμός σελίδας βρίσκεται στο TLB Αυτό είναι γνωστό και ως ΤLB hit ratio Ο πραγματικός χρόνος προσπέλασης (Effective Access Time EAT) υπολογίζεται λαμβάνοντας υπόψη την περίπτωση να βρεθεί ή να μη βρεθεί η ζητούμενη σελίδα σύμφωνα με την πιθανότητα που δίνει το hit ratio EAT = hit ratio * entry found + (1-hit ratio) * entry not found

77 Effective Access Time (2) Βασικές παραδοχές: memory access time: 60 ns, TLB access time: 6 ns EAT χωρίς σελιδοποίηση: 60 ns EAT με χρήση του πίνακα σελίδων: 60 ns + 60 ns = 120 ns EAT TLB/πίνακας σελίδων 1. hit ratio 90% EAT = 0.9 * (6 + 60) * ( ) = = 72 ns 20% απώλεια απόδοσης σε σχέση με τη μη σελιδοποίηση 2. hit ratio 99% EAT = 0.99 * (6 + 60) * ( ) = = ns 11% απώλεια απόδοσης σε σχέση με τη μη σελιδοποίηση

78 Υλοποίηση TLBs Δύο εναλλακτικές λύσεις: Υλικό και Λογισμικό(!?) Υλικό (conventional wisdom): όλη η διαχείριση TLB γίνεται από την MMU στο υλικό. Γρήγορη αλλά σχετικά περίπλοκη λύση και με φυσικούς περιορισμούς στο μέγεθος του TLB. Λογισμικό (σχετικά πρόσφατα): η MMU απλά ειδοποιεί για το TLB miss και η υπόλοιπη διαχείριση TLB γίνεται από ειδική ρουτίνα του λ.σ. που κάνει χρήση των δυνατοτήτων της μεγάλης Κρυφής Μνήμης που ήδη υπάρχει στο σύστημα. Απλούστερη και πιο ευέλικτη λύση με συγκρίσιμη απόδοση, επιτρέπει αποθήκευση του TLB στην υπάρχουσα Κρυφή Μνήμη.

79 Αντεστραμμένοι πίνακες σελίδων (1) a) b) c) a) Πίνακας (εικονικών) σελίδων 4Κ για λογική διεύθυνση 64 bits. b) Πίνακας πλαισίων σελίδων (φυσικών σελίδων) 4Κ για μνήμη 1G: πως θα γίνει η αναζήτηση? c) Ο πίνακας b) αλλά δεικτοδοτημένος με hashing της εικονικής σελίδας.

80 Αντεστραμμένοι πίνακες σελίδων (2) Inverted Page Tables και Translation Lookaside Buffers. Λειτουργία TLB όπως στη περίπτωση του λογισμικού. Η MMU ειδοποιεί για το TLB miss και η υπόλοιπη διαχείριση TLB γίνεται από ειδική ρουτίνα του λ.σ. που κάνει χρήση Inverted Page Tables με hashing ώστε να επιταχύνει την αναζήτηση των σελίδων και την ενημέρωση του TLB. Ο συνδυασμός φαίνεται να επικρατεί στα συστήματα 64 bits.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

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

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

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

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

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

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

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

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ 2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ222) Λειτουργικά Συστήματα (ΗΥ222) Διάλεξη 7: Εισαγωγή στην Ιδεατή Μνήμη - Τμηματοποίηση Η Ευτυχισμένη Κοινωνία των Διεργασιών 2 Πολλαπλές χαρούμενες διεργασίες στο σύστημα Και αν το Visual Studio χρειαστεί

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 3ο: Διαχείριση Μνήμης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 3ο: Διαχείριση Μνήμης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 3ο: Διαχείριση Μνήμης 1 4.1 Απλή Διαχείριση O Διαχειριστής Μνήμης (ΔΜ) (memory manager) πρέπει να: ξέρει ποια διαμερίσματα της ΚΜ είναι κατειλλημένα μπορεί ν' αναθέτει

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

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

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

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών 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. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

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

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

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

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

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

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

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

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

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

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

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

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

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

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

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

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

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

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

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

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