ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

Download "ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ"

Transcript

1 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 12: Εικονική Μνήμη (Virtual Memory) Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons και ειδικότερα Αναφορά Μη εμπορική Χρήση Όχι Παράγωγο Έργο 3.0 Ελλάδα (Attribution Non Commercial Non-derivatives 3.0 Greece). CC BY-NC-ND 3.0 GR Εξαιρείται από την ως άνω άδεια υλικό που περιλαμβάνεται στις διαφάνειες του μαθήματος, και υπόκειται σε άλλου τύπου άδεια χρήσης. Η άδεια χρήσης στην οποία υπόκειται το υλικό αυτό αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

3 Σειρά Ασκήσεων 12: Εικονική Μνήμη (Virtual Memory) Βιβλίο (Ελληνικό, έκδοση 4) - διαβάστε τα εξής: Χειρισμός Εξαιρέσεων και Διακοπών στο υλικό ενός επεξεργαστή: 4.9, σελ (το μεσαίο κομάτι, σελ , μπορείτε να το περάσετε "στα γρήγορα"). Εικονική Μνήμη: 5.4, σελ , εκτός από τα εξής ενδιάμεσα κομάτια: σελ (συνδυασμός εικονικής μνήμης, κρυφής μνήμης, και TLB): διαβάστε τις "στα γρήγορα", σελ (λεπτομέρειες γιά TLB miss και page fault exceptions): ξεφυλλίστε τις "στα πεταχτά". 5.5, σελ (ένα κοινό πλαίσιο γιά ιεραρχίες μνήμης): χρήσιμο θέμα γιά περαιτέρω κατανόηση, αλλά εκτός ύλης αυτού του μαθήματος. Εικονικές Μηχανές (Virtual Machines) - 5.6, σελ : μπορείτε να τις περάσετε "στα γρήγορα", αν και είναι σημαντικό θέμα της σημερινής τεχνολογίας που πρέπει να ξέρετε περί τίνος πρόκειται γιά την περαιτέρω σταδιοδρομία σας Εικονική Μνήμη: Στόχοι της Ο πρώτος και βασικότερος σκοπός του μηχανισμού της Εικονικής Μνήμης (Virtual Memory) είναι να δίνει την εντύπωση σε πολλαπλούς "χρήστες" ("προγράμματα") ότι έχουν "όλη τη μηχανή δική τους". Το βασικότερο χαρακτηριστικό του ότι το κάθε πρόγραμμα "νομίζει ότι έχει όλη τη μηχανή δική του" είναι ότι το κάθε πρόγραμμα θεωρεί ότι δικαιούται να χρησιμοποιήσει την οιαδήποτε διεύθυνση μνήμης, σαν να ήταν όλη η μνήμη δική του, και σαν να μην υπήρχαν άλλα προγράμματα που τρέχουν (σχεδόν) ταυτόχρονα. Ο μηχανισμός της Εικονικής Μνήμης κάνει ώστε ο Χώρος Διευθύνσεων (Address Space) του κάθε προγράμματος να είναι διαφορετικός και χωριστός από το χώρο διευθύνσεων του άλλου. Η μονάδα "προγράμματος ή χρήστη" που θεωρεί ότι έχει όλη τη μηχανή δική της ομομάζεται Διεργασία (Process) (ή καμιά φορά και "πεδίο προστασίας" - "protection domain"), και αποτελεί "ένα πρόγραμμα". Διαφορετικές διεργασίες μπορεί να ανήκουν σε διαφορετικούς ανθρώπους-χρήστες, οπότε και θέλουμε να προστατεύονται η μία από την άλλη διότι ο κάθε χρήστης μπορεί να θέλει να έχει ιδιωτικές (εμπιστευτικές) πληροφορίες που να μην μπορεί να τις βλέπει ή υποκλέπτει ο άλλος. Μπορεί όμως επίσης διαφορετικές διεργασίες να ανήκουν στον ίδιο άνθρωπο-χρήστη, αλλά και πάλι να θέλουμε να τις προστέψουμε τη μία από την άλλη, π.χ. γιά σκοπούς modularity (τακτοποίηση των πληροφοριών κατά ομάδες) και debugging: εάν "χαλάσει" η μία διεργασία, να συνεχίσει να δουλεύει η άλλη. Στην ίδια περίπτωση ανήκουν και διαφορετικά προγράμματα, που ο προγραμματιστής τους θεωρούσε ότι το καθένα τρέχει μόνο του, και κατέληξαν να τρέχουν μαζί. Παραπλήσια αν και διαφορετική από άποχη δικαιωμάτων και προστασίας είναι και η περίπτωση μιάς "διεργασίας χρήστη" αφ' ενός, και του Λειτουργικού Συστήματος (Operating System) από την άλλη: το λειτουργικό σύστημα είναι σαν μιά άλλη διεργασία, που έχει σαν σκοπό να βοηθά και να συγχρονίζει όλες τις διάφορες διεργασίες των χρηστών. Άλλη περίπτωση είναι δύο διαφορετικές διεργασίες να είναι

4 το ίδιο μεν πρόγραμμα, που όμως τρέχει τρέχει σε διαφορετικά δεδομένα κάθε φορά π.χ. ξεκινάμε έναν compiler γιά να μεταφράσουμε ένα πρόγραμμα, και πριν τελειώσει ξαναξεκινάμε ένα άλλο "instance" του ίδιου compiler γιά να μεταφράσει ένα άλλο πρόγραμμα. Η δυνατότητα του επεξεργαστή (εννοούμε τον κάθε ένα πυρήνα, όταν μιλάμε γιά πολυπύρηνους (multicore) επεξεργαστές) να δίνει την εντύπωση ότι τρέχει (σχεδόν) "ταυτόχρονα" πολλαπλές διεργασίες λέγεται Πολυπρογραμματισμός (Multi- Programming), και στηρίζεται στο ότι οι επεξεργαστές είναι πολύ γρηγορότεροι από τους ανθρώπους: τρέχει πότε τη μία και πότε την άλλη διεργασία, από λίγο την κάθε μία, αλλά τις εναλλάσσει τόσο γρήγορα που ο ανθρώπινος χρήστης δεν βλέπει την εναλλαγή και νομίζει ότι αυτές τρέχουν ταυτόχρονα. Γιά να εναλλάσσονται μεταξύ τους οι διεργασίες χρησιμοποιείται βασικά ο μηχανισμός των Εξαιρέσεων/Διακοπών (Exceptions/Interrupts) βλ. 4.9 του βιβλίου. Η εικονική μνήμη, σαν τρόπος να δίνει την εντύπωση στην κάθε διεργασία ότι έχει τη "μηχανή δική της", αποτελεί ειδική περίπτωση του γενικότερου μηχανισμού της Εικονικοποίησης (Virtualization) βλ. 5.6 του βιβλίου. Η γενικότερη αυτή περίπτωση των "εικονικών μηχανών" (virtual machines) δίνει τη δυνατότητα στην κάθε διεργασία όχι μόνο να (νομίζει ότι) έχει τη μηχανή δική της, αλλά επιπλέον και να έχει το δικό της Λειτουργικό Σύστημα, ανεξάρτητο και ενδεχομένως διαφορετικό από το λειτουργικό σύστημα που έχουν οι άλλες διεργασίες - εικονικέ μηχανές που τρέχουν ταυτόχρονα πάνω στον ίδιο επεξεργαστή. Ο δεύτερος και διαφορετικός σκοπός της εικονικής μνήμης είναι να λειτουργεί σαν ένα επιπλέον επίπεδο της Ιεραρχίας Μνήμης μεταξύ κεντρικής μνήμης (DRAM) και μόνιμης (non-volatile - μη πτητικής) μνήμης (σκληρού δίσκου ή μνήμης flash). Με άλλα λόγια, η εικονική μνήμη δίνει τη δυνατότητα στην κάθε διεργασία να "βλέπει" χώρο μνήμης μεγαλύτερο από το κομμάτι της φυσικής μνήμης (DRAM) που όντως της διατίθεται. Παρ' ότι ο σκοπός αυτός είναι εντελώς διαφορετικός από τον πρώτο (πολλαπλές διεργασίες), τυχαίνει όμως οι ίδιοι μηχανισμοί υλικού (hardware) να μπορούν ταυτόχρονα να υλοποιήσουν και τους δύο σκοπούς. Μιά συνέπεια των δύο προηγουμένων σκοπών είναι το πρόβλημα του τεμαχισμού (fragmentation) της μνήμης, το οποίο και αυτό το λύνουν οι ίδιοι μηχανισμοί της εικονικής μνήμης. Ο τεμαχισμός της μνήμης προκύπτει από το ότι διάφορες διεργασίες ξεκινάνε και τελειώνουν σε διαφορετικές στιγμές, και κάθε μιά που τελειώνει αφήνει και κάμποσες "τρύπες" από αχρησιμοποιήτη (πλέον) μνήμη εκεί που προηγουμένως αυτή κατείχε και χρησιμοποιούσε μνήμη. Επίσης, όταν πηγαινοέρχονται στο δίσκο (η στην flash) κομάτια μνήμης μιάς διεργασίας που δεν χωράνε στην DRAM, δημιουργούνται "τρύπες" στη DRAM από τα κομάτια που μετακομίζουν στο δίσκο. Οι μηχανισμοί της εικονικής μνήμης δίνουν τη δυνατότητα γιά εκχώρηση μνήμης (π.χ. μέσω malloc()) που μοιάζει να αποτελείται από συνεχόμενες διευθύνσεις ενώ στην πραγματικότητα αποτελείται από κομάτια που βρίσκονται κατεσπαρμένα "εδώ κι εκεί" στη φυσική μνήμη Τοποθέτηση και Ανεύρεση Σελίδων: Πίνακες Μετάφρασης Επειδή οι αστοχίες της DRAM ειδωμένης σαν βαθμίδα της ιεραρχίας μνήμης εξυπηρετούνται από το σκληρό δίσκο, και άρα κοστίζουν τραγικά πολύ (εκατομμύρια κύκλους ρολογιού του επεξεργαστή), πρέπει το ποσοστό αστοχίας να γίνει πάρα πολύ χαμηλό. Γιά να επιτευχθεί αυτό, πρέπει η τοποθέτηση των σελίδων να είναι πολύ ευέλικτη δεν μας κάνει ο τρόπος που είναι οργανωμένες οι κρυφές μνήμες, σαν συσχετιστικές μερικών δρόμων, διότι αυτό θα έδινε πολύ μικρή ευελιξία στην επιλογή του "θύματος" που θα αντικατασταθεί γιά να φέρουμε ένα νέο "μπλόκ"

5 λέξεων, με αποτέλεσμα συχνά να διώχνουνται "μπλόκς" που τα χρειαζόμαστε. Έτσι, αντίθετα από τις συνηθισμένες κρυφές μνήμες, η εικονική μνήμη λειτουργεί σαν "πλήρως συσχετιστική", δηλαδή το οιοδήποτε "μπλοκ" λέξεων από το δίσκο μπορεί να τοποθετηθεί οπουδήποτε στην DRAM. Αυτό, φυσικά, θα έκανε την αναζήτηση εξαιρετικά δαπανηρή εάν έπρεπε να αναζητούμε το "μπλόκ" παντού, γι' αυτό η αναζήτηση γίνεται αλλοιώς: με "πίνακες μετάφρασης" που καταγράφουν πού βρίσκεται το κάθε "μπλόκ". Επειδή η κάθε προσπέλαση στο δίσκο κοστίζει πολύ (χρονικά), θέλουμε να "αποσβέσουμε" αυτό το κόστος κάνοντας πολλή δουλειά κάθε φορά που πηγάινουμε στο δίσκο, εκμεταλλευόμενοι τη χωρική τοπικότητα καθώς και τα χαρακτηριστικά του δίσκου (προσπέλαση συνεχόμενων λέξεων είναι πολύ γρηγορότερη απ' όσο τυχαίων λέξεων). Έτσι, το "μπλόκ" της ιεραρχίας μνήμης μεταξύ DRAM και δίσκου είναι πολύ μεγαλύτερο απ' όσο το μπλόκ (γραμμή) των κρυφών μνημών. Το "μπλόκ" της ιεραρχίας DRAM-δίσκου λέγεται Σελίδα (Page) και είναι συνήθως 4 ή περισσότερα KBytes. Ένας δεύτερος βασικός (μάλλον και βασικότερος) λόγος γιά τον οποίο θέλουμε μεγάλα μπλόκς (σελίδες) στην εικονική μνήμη είναι ότι έτσι διευκολύνεται και επιταχύνεται ο μηχανισμός ανεύρεσης του μπλόκ που ψάχνουμε κάθε φορά, δηλαδή η μετάφραση σελίδων που θα πούμε αμέσως τώρα. Ο βασικός τρόπος λειτουργίας της εικονικής μνήμης είναι ο εξής. Κάθε διεύθυνση μνήμης που γεννά ο επεξεργαστής δηλαδή το πρόγραμμα που τρέχει θεωρείται ως "εικονική διεύθυνση", και μεταφράζεται σε μιάν άλλη, "φυσική διεύθυνση", προτού δοθεί στη μνήμη γιά να επιλεγεί η λέξη την οποία τελικά θα προσπελάσει το πρόγραμμα. Η μετάφραση αυτή είναι η συνάρτηση που "ανευρίσκει" την κάθε λέξη, δηλαδή αυτή που μας λέει πού στη φυσική μνήμη έχει τοποθετηθεί η κάθε εικονική λέξη. Η συνάρτηση αυτή θα ήταν πανάκριβη εάν δούλευε πάνω σε μεμονωμένες λέξεις, αλλά έχει λογικό κόστος επειδή δουλεύει πάνω σε (μεγάλες) σελίδες. Η μέθοδος αυτή αναζήτησης και ανεύρεσης μπλόκς δεν θα δούλευε γιά την κρυφή μνήμη, λόγω του (σχετικά) μικρού μεγέθους των "γραμμών" της κρυφής μνήμης, και της εκεί απαιτούμενης ταχύτητας. Όμως, δουλεύει μιά χαρά γιά την εικονική μνήμη, λόγω του "κόλπου" του TLB και της λειτουργίας του εν παραλλήλω με την κρυφή μνήμη, όπως θα πούμε παρακάτω. Η μετάφραση διευθύνσεων εξυπηρετεί πολλαπλούς σκοπούς ταυτόχρονα: i. Βρίσκει πού έχουν τοποθετηθεί στη φυσική μνήμη οι σελίδες εικονικής μνήμης που χρησιμοποιούνται περισσότερο επί του παρόντος, ενώ όσες δεν χωράνε στην υπάρχουσα φυσική μνήμη βρίσκονται στο δίσκο δηλαδή υλοποιεί την ιεραρχία μνήμης μεταξύ DRAM και δίσκου. ii. Μεταφράζει τις εικονικές διευθύνσεις της κάθε διεργασίας σε διαφορετικές φυσικές διευθύνσεις γιά την κάθε διεργασία, κι έτσι υλοποιεί το διαχωρισμό και την προστασία μεταξύ διεργασιών (εκτός των περιπτώσεων που θέλουμε οι διεργασίες να επικοινωνούν μεταξύ τους μέσω κοινόχρηστης μνήμης (shared memory)). iii. Ελέγχει ότι η διεργασία που τρέχει έχει δικαίωμα να κάνει την προσπέλαση που ζητά (ανάγνωση/εγγραφή/εκτέλεση) στη διεύθυνση που ζητά, βελτιώνοντας έτσι ακόμη περισσότερο την προστασία των διεργασιών. Η μετάφραση διευθύνσεων γίνεται απεικονίζοντας ολόκληρες "σελίδες" (pages) εικονικής μνήμης σε ολόκληρες φυσικές σελίδες. Το μέγεθος της σελίδας είναι αρκετά KBytes σήμερα, και η τάση είναι να μεγαλώνει με τα χρόνια. Γιά να γίνεται η μετάφραση γρήγορα, χρησιμοποιείται συνήθως ένας μικρός κατάλογος ζευγών εικονικής-φυσικής σελίδας γιά τις πιό συχνά χρησιμοποιούμενες σελίδες ο "TLB" (Translation Lookaside Buffer) οργανωμένος σαν μιά μικρή κρυφή μνήμη, συνήθως πλήρως προσεταιριστική βλέπε σελίδες Επειδή μεταφράζονται μόνον τα

6 αριστερά (MS) bits της εικονικής διεύθυνσης, όπως θα πούμε αμέσως παρακάτω, όταν οι σελίδες είναι αρκετά μεγάλες και η κρυφή μνήμη αρκετά μικρή, μπορούμε να πετύχουμε ώστε η προσπέλαση στην κρυφή μνήμη, που ώς γνωστόν ξεκινάει με κάμποσα από τα δεξιά (LS) bits της διεύθυνσης, να ξεκινάει με μόνον αμετάφραστα bits της διεύθυνσης, κι έτσι το TLB να δουλεύει εν παραλλήλω (ταυτόχρονα) με την κρυφή μνήμη, και άρα ολόκληρος ο μηχανισμός της εικονικής μνήμης να μην προκαλεί καμία επιπλέον καθυστέρηση στο τρέξιμο του επεξεργαστή, όσο οι σελίδες που χρησιμοποιεί ο επεξεργαστής έχουν τη μετάφρασή τους μέσα στο TLB. Οταν μιάν εικονική σελίδα δεν την βρίσκουμε στον TLB, τότε την αναζητάμε στους Πίνακες Μετάφρασης, που βρίσκονται στη μνήμη. (Με μεγαλύτερη ακρίβεια, η εν παραλήλλω λειτουργία TLB και level-1 (L1) cache έχει ως εξής: Φροντίζουμε ώστε το μέγεθος της L1 cache (του κάθε "way" της!) να είναι μικρότερο ή ίσο από το μέγεθος της σελίδας. Όταν ισχύει αυτό, τότε τα index bits που χρειάζονται γιά να ξεκινήσει η προσπέλαση στην L1 cache προέρχονται όλα από το αμετάφραστο κομάτι της διεύθυνσης (από το page offset), δηλαδή από το κομάτι εκείνο της φυσικής διεύθυνσης που το ξέρουμε αμέσως, αφού είναι ίσο με το αντίστοιχο κομάτι της εικονικής διεύθυνσης. Με αυτό το κομάτι ξεκινάει η πρόσβαση στην L1 cache. ταυτόχρονα με το ξεκίνημα της πρόσβασης στην L1 cache, δίδεται και η εικονική σελίδα στο TLB γιά μετάφραση. Το TLB το κάνουμε να είναι τόσο γρήγορο όσο και η ανάγνωση των tags της L1 cache. Έτσι, με το που τελειώνει η ανάγνωση των tags στην L1 cache (όπου τα tags αυτά είναι φυσικές διευθύνσεις), έχει τελειώσει και η μετάφραση από το TLB (εάν ήταν εύστοχη), κι έτσι τα tags των lines που βρίσκονται στην cache συγκρίνονται με την μεταφρασμένη πλέον (από το TLB) φυσική διεύθυνση). Θεωρήστε το εξής μικρό (εξωπραγματικό σήμερα) σύστημα εικονικής μνήμης, σαν απλό παράδειγμα. Οι εικονικές διευθύνσεις έχουν μέγεθος 20 bits (δηλ. είναι πενταψήφιες στο δεκαεξαδικό σύστημα), άρα ο χώρος εικονικών διευθύνσεων είναι 1 MByte ανά διεργασία. Μέγεθος σελίδας = 4 KBytes, άρα τα 12 LS bits κάθε διεύθυνσης (3 LS δεκαεξαδικά ψηφία) επιλέγουν 1 byte μέσα στη σελίδα, ενώ τα υπόλοιπα MS bits υποδηλώνουν γιά ποιά σελίδα μιλάμε. Ετσι, η κάθε διεργασία έχει 256 εικονικές σελίδες (1 MByte / 4 KBytes = 256). Η φυσική μνήμη είναι 64 KBytes, άρα οι φυσικές διευθύνσεις αποτελούνται από 16 bits (4 δεκαεξαδικά ψηφία), επομένως υπάρχουν 16 φυσικές σελίδες (64 KBytes / 4 KBytes = 16). Τότε, η μετάφραση μιάς εικονικής διεύθυνσης, π.χ. της FE210, στην αντίστοιχη φυσική γίνεται ως εξής: Χωρίζουμε την εικονική διεύθυνση στα 12 LS bits, που υποδηλώνουν το byte μέσα στη σελίδα (εδώ: 210), και στα 8 MS bits, που ορίζουν την εικονική σελίδα (εδώ: FE). Τα 12 LS bits (210) δεν χρειάζονται μετάφραση, αφού απεικονίζουμε ολόκληρες εικονικές σελίδες σε ολόκληρες φυσικές σελίδες, και όλες οι σελίδες είναι ευθυγραμμισμένες στα φυσικά όριά τους. Τα 8 MS bits, δηλαδή ο αριθμός εικονικής σελίδας (FE), χρησιμοποιούνται σαν index στον πίνακα μετάφρασης (page table) της διεργασίας (process) που τρέχει αυτή τη στιγμή. Ο πίνακας αυτός έχει μέγεθος 256 θέσεις όσες και οι εικονικές σελίδες ανά διεργασία. Υπάρχει χωριστός πίνακας μετάφρασης γιά κάθε διεργασία, έτσι ώστε η κάθε διεργασία να μπορεί να έχει τις δικές της, διαφορετικές, φυσικές σελίδες, παρά το γεγονός ότι χρησιμοποιεί ίδιες

7 εικονικές διευθύνσεις με όλες τις άλλες διεργασίες. Στη θέση FE του πίνακα μετάφρασης, όπου μας οδήγησαν τα 8 MS bits της εικονικής διεύθυνσης, υπάρχουν πληροφορίες όπως θα πούμε παρακάτω γιά να ελέγξουμε αν η εικονική σελίδα FE που θέλουμε υπάρχει στη φυσική μνήμη, και αν έχουμε δικαίωμα να την προσπελάσουμε όπως ζητά η τρέχουσα διεργασία. Στη ίδια θέση FE του πίνακα μετάφρασης βρίσκουμε τον αριθμό της φυσικής σελίδας όπου βρίσκεται αυτή τη στιγμή η εικονική σελίδα FE. Στο παράδειγμά μας, υπάρχουν 16 φυσικές σελίδες, άρα ο αριθμός φυσικής σελίδας έχει 4 bits. Έστω ότι βρήκαμε τον αριθμό A σαν αριθμό φυσικής σελίδας. Σε αυτόν κολάμε και τα 12 αμετάφραστα LS bits της εικονικής διεύθυνσης (210), και φτιάχνουμε έτσι τα 16 bits της φυσικής διεύθυνσης: A210, στο παράδειγμά μας Προστασία Μνήμης: Διαχωρισμός και Προστασία Διεργασιών: το hardware του επεξεργαστή βρίσκει τον πίνακα μετάφρασης της τρέχουσας διεργασίας από τη (φυσική) διεύθυνση βάσης του πίνακα αυτού, που είναι γραμμένη (από το λειτουργικό σύστημα) σ' έναν ειδικό καταχωρητή του συστήματος διαχείρισης μνήμης όχι στο κανονικό register file. Όταν ο επεξεργαστής τρέχει σε "user mode", δεν επιτρέπεται να γράψει αυτόν τον καταχωρητή, ούτως ώστε να μην μπορεί να υποκριθεί ότι είναι άλλη διεργασία, δηλαδή να μην μπορεί να αποκτήσει πρόσβαση στη μνήμη άλλων διεργασιών. Προστασία Λειτουργικού Συστήματος: Ο παραπάνω ειδικός καταχωρητής που καθορίζει τον τρέχοντα πίνακα μετάφρασης δηλαδή την τρέχουσα διεργασία είναι προσπελάσιμος από τον επεξεργαστή μόνον όταν ο επεξεργαστής βρίσκεται σε "kernel mode", δηλαδή τρέχει το λειτουργικό σύστημα. Κάθε εξαίρεση (exception) περιλαμβανόμενου και του καλέσματος συστήματος (system call) αποθηκεύει την παλιά κατάσταση (user/kernel) στην οποία έτρεχε ο επεξεργαστής, και φέρνει τον επεξεργαστή σε kernel mode. Έτσι, ο trap (exception) handler εκτελείται πάντα σε kernel mode, ενώ ο μόνος τρόπος γιά ένα χρήστη να φέρει τον επεξεργαστή σε kernel mode είναι να προκαλέσει εξαίρεση, εκτελώντας μιάν εντολή system call κάτι σαν παράνομη εντολή που προκαλεί εξαίρεση, αλλά που το λειτουργικό σύστημα ξέρει ότι προορίζεται σαν system call και όχι σαν απλή παράνομη εντολή λόγω προγραμματιστικού σφάλματος. Το κάλεσμα συστήματος είναι επίτηδες φτιαγμένο να συμπεριφέρεται σαν εξαίρεση (exception), και όχι σαν απλό κάλεσμα διαδικασίας (εντολή jal), ούτως ώστε η είσοδος στο λειτουργικό σύστημα που πρέπει να γίνει σε kernel mode να γίνεται μόνο στην προκαθορισμένη διεύθυνση του trap handler, και όχι σε οιαδήποτε άλλη αυθαίρετη διεύθυνση θα μπορούσε να ζητήσει ένας κακόβουλος χρήστης προκειμένου να παρακάμψει το μέρος εκείνο του λειτουργικού συστήματος που κάνει τους ελέγχους του εάν ο χρήστης έχει δικαίωμα να ζητήσει αυτό που ζητά. Παρούσες/Απούσες Σελίδες και Προστασία Σελίδων: Κάθε θέση του πίνακα μετάφρασης περιέχει: Το "valid bit", που υποδεικνύει αν η εικονική σελίδα στην οποία αναφερόμαστε είναι παρούσα ή απούσα από τη φυσική μνήμη. Ενδεχόμενη απουσία της εικονικής σελίδας από τη φυσική μνήμη μπορεί να οφείλεται είτε στο ότι η εικονική αυτή σελίδα είναι παράνομη (δεν χρησιμοποιείται, δηλαδή το πρόγραμμα δεν είχε εντολές ή δεδομένα εκεί, ούτε ζήτησε να βάλει κάτι μέσω malloc/sbreak), είτε στο ότι είναι νόμιμη μεν αλλά αυτή τη στιγμή βρίσκεται στο δίσκο και όχι στη μνήμη.

8 Τον αριθμό της φυσικής σελίδας (4 bits στο εδώ παράδειγμά μας) όπου βρίσκεται αυτή τη στιγμή η εικονική σελίδα, όταν αυτή είναι παρούσα στη φυσική μνήμη. Τα "bits προστασίας" (π.χ. 3 bits: "rwx"), που δηλώνουν τι είδους προσπελάσεις επιτρέπεται να κάνει η παρούσα διεργασία στις λέξεις αυτής της σελίδας (read/write/execute). Το "dirty bit", που δείχνει αν ο επεξεργαστής άλλαξε ή όχι τα περιεχόμενα αυτής της σελίδας από τότε που την διαβάσαμε τελευταία φορά από το δίσκο επομένως εάν χρειάζεται ή όχι να γράψουμε το (νέο) περιεχόμενό της πίσω στο δίσκο όταν κάποιος άλλος της κάνει "έξωση" (eviction) από τη μνήμη. Το "reference bit", που το χρησιμοποιεί το λειτουργικό σύστημα γιά να προσεγγίσει τον αλγόριθμο αντικατάστασης "LRU": σε κάθε προσπέλαση στη σελίδα, ο επεξεργαστής θέτει αυτό το bit, ενώ το λειτουργικό σύστημα περιοδικά διαβάζει αυτά τα bits γιά να δεί ποιές σελίδες χρησιμοποιήθηκαν πρόσφατα, και στη συνέχεια τα μηδενίζει. "Παράνομες" προσπελάσεις εικονικής μνήμης είναι π.χ. οι εξής: (i) προσπάθεια εγγραφής σε σελίδα όπου δεν έχω δικαίωμα εγγραφής (π.χ. σελίδα read-ony), ή (ii) προσπάθεια ανάγνωσης δεδομένων από σελίδα που είναι, π.χ. "execute-only" (δηλ. περιέχει εντολές), ή (iii) προσπάθεια ανάγνωσης με σκοπό την εκτέλεση (instruction fetch) από σελίδα που δεν περιέχει εκτελέσιμες εντολές, ή (iv) προσπάθεια προσπέλασης οιασδήποτε μορφής σε σελίδα "unallocated", δηλαδή που ούτε ο compiler έβαλε εκεί (στατικά) κάποιο μέρος του προγράμματος (εντολές ή δεδομένα), ούτε η malloc() εκχώρησε εκεί (δυναμικά) χώρο (άδεια χρήσης). Τέτοιες "παράνομες" προσπελάσεις προκαλούν πρόωρο τερματισμό της εκτέλεσης, με το οικείο σε όλους μας μήνυμα "segmentation violation - core dumped". "Απούσες (αλλά νόμιμες)" σελίδες εικονικής μνήμης είναι εκείνες που ναι μεν το πρόγραμμα έχει νόμιμο δικαιώμα προσπέλασης σε αυτές (δηλ. δεν είναι παράνομη η προσπέλαση), αλλά όμως τυχαίνει (είτε ελλείψει επαρκούς μνήμης, είτε επειδή ποτέ μέχρι στιγμής δεν την είχε ζητήσει το πρόγραμμα) η σελίδα αυτή να μην βρίσκεται αυτή τη στιγμή στην (κεντρική) μνήμη (RAM) του υπολογιστή, αλλά στο (σκληρό) δίσκο. Προσπελάσεις σε απούσες σελίδες προκαλούν προσωρινή διακοπή της εκτέλεσης του προγράμματος (σφάλμα σελίδας - page fault exception/interrupt), ανάληψη από το λειτουργικό σύστημα να προσκομίσει την απούσα σελίδα, και επανεκκίνηση του προγράμματος "σαν να μη συνέβη τίποτα" μετά την προσκόμιση αυτή. Διαβάστε γιά τις Εξαιρέσεις/Διακοπές (Exceptions/Interrupts) από την 4.9 του βιβλίου. Προσέξτε ιδιαίτερα ότι τα σφάλματα σελίδας πρέπει να τα αναγνωρίζει το υλικό και να τα χειρίζεται πρίν ολοκληρωθεί η εκτέλεση της εντολής που τα προκάλεσε: πριν γράψει η εντολή load στον καταχωρητή προορισμού ή η εντολή store στη λέξη προορισμού, μέσα στην ανύπρακτη! σελίδα μνήμης. Αλλοιώς, π.χ., δεν μπορούν να επανεκκινηθούν σωστά, μετά την προσκόμιση της απούσας σελίδας από το δίσκο, εντολές όπως "lw $8, 4($8)" που προκύπτουν π.χ. από συνηθισμένες εκχωρήσεις όπως: "p = p->next;". Άσκηση 12.4: Μονοεπίπεδος Πίνακας Μετάφρασης (α) Γιά το παραπάνω μικρό (εξωπραγματικό σήμερα) παράδειγμα εικονικής μνήμης, κάντε ένα σχηματικό διάγραμμα που να δείχνει τον καταχωρητή που περιέχει τον pointer στον πίνακα μετάφρασης της παρούσας διεργασίας, τον πίνακα μετάφρασης, την εικονική διεύθυνση (20 bits) που γεννά ο επεξεργαστής, τα πεδία από τα οποία

9 αυτή αποτελείται, από που προέρχεται το index στον πίνακα μετάφρασης, τι διαβάζουμε από τη θέση εκείνη του πίνακα, και πώς συνθέτουμε τη φυσική διεύθυνση (16 bits). (β) Έστω ότι, στο παραπάνω απλό παράδειγμά μας, η διεργασία μας έχει τις εξής σελίδες: Εικονική σελίδα 00: παράνομη (περιέχει τον NULL pointer). Εικονική σελίδα 01: περιέχει κώδικα (r-x), και βρίσκεται στη φυσική σελίδα 4. Εικονικές σελίδες 02 έως και 09: περιέχουν κώδικα (r-x), αλλά είναι απούσες από τη φυσική μνήμη. Εικονική σελίδα 0A: περιέχει στατικά δεδομένα (rw-), και βρίσκεται στη φυσική σελίδα F, dirty. Εικονικές σελίδες 0B έως και BF: παράνομες (unallocated). Εικονική σελίδα C0: περιέχει δυναμικά δεδομένα (rw-), και βρίσκεται στη φυσική σελίδα 9, dirty. Εικονική σελίδα C1: περιέχει δυναμικά δεδομένα read-only (r--), και βρίσκεται στη φυσική σελίδα 0. Εικονικές σελίδες C2 και C3: περιέχουν δυναμικά δεδομένα (rw-), αλλά είναι απούσες από τη φυσική μνήμη. Εικονικές σελίδες C4 έως και FD: παράνομες (unallocated). Εικονική σελίδα FE: περιέχει δεδομένα στοίβας (rw-), και βρίσκεται στη φυσική σελίδα D, dirty. Εικονική σελίδα FF: περιέχει δεδομένα στοίβας (rw-), και βρίσκεται στη φυσική σελίδα 1, clean. Δείξτε τα περιεχόμενα του πίνακα μετάφρασης της διεργασίας μας, χωρίς τα reference bits αλλά με όλα τα άλλα πεδία του (256 γραμμές επί 4 πεδία ανά γραμμή επιτρέπεται η χρήση αποσιωποιητικών...). (γ) Ποιές από τις παρακάτω προσπελάσεις στις εικονικές διευθύνσεις που δίδονται προκαλούν σφάλμα σελίδας και γιατί; Ποιές από αυτές θα προκαλέσουν τερματισμό του προγράμματος, ως λανθασμένο, και ποιές απλώς θα κάνουν το λειτουργικό σύστημα να φέρει την αιτηθείσα σελίδα από το δίσκο και να επανεκκινήσει το πρόγραμμα; Οι υπόλοιπες, σε ποιά φυσική διεύθυνση μεταφράζονται; (fetch), 0B0F4 (read), C001C (write), 0292C (fetch), (read), 99F88 (read), FE5D8 (write), FF100 (fetch), C20CC (write), CD0CC (write), C0444 (read), 01FF4 (fetch), C1FFC (write), 008E4 (write), C7700 (read), 01E40 (write). Άσκηση 12.5: Χώρου Πολυεπίπεδοι Πίνακες Μετάφρασης - Οικονομία Οι περισσότερες διεργασίες χρησιμοποιούν σχετικά λίγες από τις εικονικές τους σελίδες, και αυτές συνοθηλευμένες (clustered) σε μερικές "γειτονιές", όπως στην παραπάνω άσκηση Εκμεταλλευόμενοι αυτή την ιδιότητα, μπορούμε να μειώσουμε το χώρο μνήμης που καταλαμβάνει ο πίνακας μετάφρασης της κάθε διεργασίας, σπάζοντας τον σε μερικούς μικρότερους πίνακες, οργανωμένους σαν μιά πολυ-επίπεδη ιεραρχία. Θεωρήστε ότι στο σύστημα μνήμης της άσκησης 12.4 αλλάζουμε τον μοναδικό (μονοεπίπεδο) πίνακα μετάφρασης ανά διεργασία σε διεπίπεδους πίνακες, ώς εξής. Κάθε διεργασία έχει έναν πίνακα πρώτου επιπέδου, μεγέθους 16 θέσεων. Τον πίνακα

10 αυτόν τον βρίσκουμε μέσω του γνωστού pointer που περιέχεται στον ειδικό καταχωρητή που αναφέραμε παραπάνω. Χρησιμοποιούμε τα 4 MS bits της εικονικής διεύθυνσης γιά να επιλέξουμε μία από τις 16 θέσεις αυτού του πίνακα. Κάθε συνδυασμός των 4 αυτών bits, επομένως και κάθε θέση αυτού του πίνακα, αντιστοιχεί σε 16 εικονικές σελίδες. Εαν καμία από αυτές τις 16 σελίδες δεν υπάρχει στη φυσική μνήμη, τότε σημειώνουμε τη θέση αυτή του πίνακα πρώτου επιπέδου σαν άκυρη (valid bit = 0). Αλλοιώς, η θέση αυτή του πίνακα πρώτου επιπέδου περιέχει έναν pointer σε ένα πίνακα μετάφρασης δευτέρου επιπέδου. Εάν η εικονική μας διεύθυνση μας οδήγησε σε τέτοια θέση στον πίνακα πρώτου επιπέδου, τότε χρησιμοποιούμε τα επόμενα 4 bits της εικονικής διεύθυνσης σαν index στον πίνακα δευτέρου επιπέδου όπου μας οδήγησε ο πίνακας πρώτου επιπέδου. Εκεί, στον πίνακα δευτέρου επιπέδου, βρίσκουμε τα τελικά στοιχεία γιά τη σελίδα που ζητάμε. (αβγ) Κάντε ένα διάγραμμα ανάλογο προς αυτό της άσκησης 12.4(α) γιά το διεπίπεδο σύστημα μετάφρασης αυτής της άσκησης. Στο ίδιο διάγραμμα, δείξτε όλους τους πίνακες δευτέρου επιπέδου που θα υπάρχουν γιά τις σελίδες της άσκησης 12.4(β). Επίσης δείξτε, όλα τα περιεχόμενα όλων των πινάκων μετάφρασης, πρώτου και δευτέρου επιπέδου. Βεβαιωθείτε (χωρίς να δώσετε γραπτά την απάντησή σας) ότι το σύστημα αυτό μεταφράζει τις διευθύνσεις της άσκησης 12.4(γ) το ίδιο όπως και το μονοεπίπεδο σύστημα της άσκησης εκείνης. (δ) Πόσες θέσεις μνήμης καταλαμβάνουν όλοι οι πίνακες μετάφρασης του παρόντος διεπίπεδου συστήματος γιά τη διεργασία μας και γιά τις σελίδες (β); Σε σχέση με το μονοεπίπεδο σύστημα της άσκησης 12.4(β) υπάρχει οικονομία στο χώρο μνήμης που καταλαμβάνεται; Άσκηση 12.6: Πολυεπίπεδοι Πίνακες Μετάφρασης σε ένα Ρεαλιστικό Σύστημα Επαναλάβετε την άσκηση 12.5(α) που ήταν σαν την 12.4(α) (σχηματικό διάγραμμα πινάκων μετάφρασης) αυτή τη φορά γιά ένα ρεαλιστικό, σημερινό, σύστημα εικονικής μνήμης: Οι εικονικές διευθύνσεις έχουν μέγεθος 64 bits. Όμως, γιά πρακτικούς λόγους, μονο τα 50 LS από αυτά χρησιμοποιούνται (χώρος εικονικών διευθύνσεων 1 PetaByte ανά διεργασία...). Μέγεθος σελίδας 16 KBytes. Επομένως τα 14 LS bits της εικονικής διεύθυνσης δεν χρειάζονται μετάφραση. Τρία επίπεδα πινάκων μετάφρασης ανά διεργασία. Κάθε πίνακας μετάφρασης έχει μέγεθος 4096 θέσεις, άρα "κοιτάζει" 12 από τα bits του αριθμού εικονικής σελίδας. Δυνατότητα επέκτασης έως 1 TeraByte φυσικής μνήμης, δηλαδή 40 bits φυσική διεύθυνση, ή 64 M φυσικές σελίδες (26-μπιτος αριθμός φυσικής σελίδας) επί 16 KBytes ανά σελίδα. Άσκηση 12.7: TLB, Process ID, και Κοινόχρηστες Σελίδες Όπως είπαμε και παραπάνω, γιά να γίνεται η μετάφραση γρήγορα, χρησιμοποιείται συνήθως ένας μικρός κατάλογος ζευγών εικονικής-φυσικής σελίδας γιά τις πιό συχνά χρησιμοποιούμενες σελίδες, ο "TLB" (Translation Lookaside Buffer), οργανωμένος σαν μιά μικρή κρυφή μνήμη, συνήθως πλήρως προσεταιριστική. Προκειμένου να μην αναγκαζόμαστε να ακυρώνουμε τα περιεχόμενα του TLB σε κάθε αλλαγή της διεργασίας που τρέχει (context swap), θέλουμε να μπορούμε να έχουμε μέσα στο TLB, ταυτόχρονα, ζευγάρια εικονικής-φυσικής σελίδας πολλών

11 διαφορετικών διεργασιών. Αυτό όμως απαιτεί να μπορούμε να τα ξεχωρίζουμε μεταξύ τους, αφού την κάθε ορισμένη εικονική διεύθυνση ενδέχεται να την χρησιμοποιούν πολλές διεργασίες αλλά γιά διαφορετική πληροφορία και κατά διαφορετικό τρόπο η κάθεμία. Γιά να γίνεται ο διαχωρισμός αυτός, καταγράφουμε τον αριθμό διεργασίας ("PID", Process Identifier) μαζί με τον αριθμό εικονικής σελίδας αυτής της διεργασίας σε κάθε θέση (ζευγάρι εικονικής-φυσικής σελίδας) του TLB. (α) Θεωρήστε μιά εικονική μνήμη με μεγέθη όπως της άσκησης 12.4, και θεωρήστε ότι το PID έχει μέγεθος 8 bits (μέχρι 256 ταυτόχρονες διεργασίες). Θεωρήστε ένα TLB μεγέθους 16 θέσεων, με πλήρως προσεταιριστική τοποθέτηση ζευγών (οιοδήποτε ζεύγος μετάφρασης μπορεί να μπεί οπουδήποτε στο TLB). Ποιά πεδία πρέπει να έχει η κάθε θέση αυτού του TLB, και τι μεγέθους το καθένα; (β) Δώστε ένα αριθμητικό παράδειγμα του πλήρους περιεχομένου του TLB όταν αυτό περιέχει ζευγάρια μετάφρασης γιά τις παρακάτω εικονικές σελίδες αποφασίστε μόνοι σας, αυθαίρετα (σαν να είσασταν το λειτουργικό σύστημα), σε ποιάν φυσική σελίδα θα τοποθετήστε την κάθε εικονική σελίδα που σας ζητείται να ευρίσκεται εν χρήση: Την εικονική σελίδα 03 της διεργασίας 3B (περιέχει κώδικα), και την εικονική σελίδα 03 της διεργασίας B4 (περιέχει data r/w), οι οποίες αναφέρονται σε εντελώς διαφορετικές, ανεξάρτητες φυσικές σελίδες. Η διεργασία 3B και η διεργασία 3C αποτελούν διαφορετικές ενεργοποιήσεις του ιδίου προγράμματος, π.χ. ο ίδιος web browser τρεγμένος από δύο διαφορετικούς χρήστες. Γιά οικονομία (φυσικής) μνήμης, το λειτουργικό σύστημα κρατά μόνο ένα αντίτυπο του κώδικα αυτής της εφαρμογής στη μνήμη, και κάνει όλες τις διεργασίες που το τρέχουν να "βλέπουν" αυτό το μοναδικό κοινόχρηστο αντίτυπο στη δική της εικονική μνήμη η κάθε μία. Βάλτε λοιπόν στο TLB και την εικονική σελίδα 03 της διεργασίας 3C, που περιέχει τον ίδιο κώδικά με τη σελίδα 03 της 3B. Βάλτε την εικονική σελίδα FF της διεργασίας 3B, και την εικονική σελίδα FF της διεργασίας 3C, που περιέχουν δεδομένα στοίβας. Οπως είπαμε, αυτές οι δύο διεργασίες αποτελούν διαφορετικές ενεργοποιήσεις του ιδίου προγράμματος. Παρά το γεγονός ότι ο κώδικας των δύο αυτών διεργασιών είναι κοινός, τα δεδομένα τους όμως είναι διαφορετικά, αφού π.χ. άλλα κάνει ο ένας χρήστης με τον web browser του, και άλλα ο άλλος. Οι διεργασίες A2 και A3 συνεργάζονται μεταξύ τους, και επικοινωνούν μέσω κοινόχρηστης μνήμης: Η διεργασία A2 παράγει δεδομένα προς επεξεργασία, και τα γράφει στην εικονική της σελίδα C2 (προστασία -w-). Η διεργασία A3 καταναλώνει τα δεδομένα που παράγει η A2, και τα επεξεργάζεται. Η A3 διαβάζει τα δεδομένα αυτά από την εικονική σελίδα της E3 (προστασία r--), η οποία όμως, μέσω του συστήματος εικονικής μνήμης, αντιστοιχεί στην ίδια φυσική σελίδα στην οποία αντιστοιχεί και η C2 της A2, ώστε να επιτυγχάνεται η συνεργασία παραγωγού-καταναλωτή των δύο διεργασιών. Βάλτε στο TLB σας και αυτές τις δύο εικονικές σελίδες. (γ) Οι διεργασίες 3B και 3C, παραπάνω, είναι προστατευμένες η μία από την άλλη; Μπορεί η μία να διαβάσει τα δεδομένα της άλλης (κλέβοντας έτσι, π.χ., ο ένας χρήστης τον αριθμό πιστωτικής κάρτας που ο άλλος πληκτρολογεί στον browser του γιά μιάν αγορά μέσω διαδικτύου); Μπορεί η μία να αλλοιώσει (γράψει) τα δεδομένα της άλλης (παραπλανόντας έτσι, π.χ., ο ένας χρήστης τον άλλον); Μπορεί η μία να καταστρέψει (γράψει) τον κώδικα της άλλης ("κολλώντας" έτσι, π.χ., ο ένας χρήστης τον άλλον); Πώς εξασφαλίζουμε την επιθυμητή προστασία και ανεξαρτησία μεταξύ αυτών των δύο διεργασιών, ενώ ταυτόχρονα κάνουμε και οικονομία μνήμης κρατώντας ένα μόνο φυσικό αντίτυπο του κώδικα που αυτές τρέχουν;

Σειρά Ασκήσεων 12: Εικονική Μνήμη (Virtual Memory)

Σειρά Ασκήσεων 12: Εικονική Μνήμη (Virtual Memory) ΗΥ-225: Οργάνωση Υπολογιστών 1νοιξη 2014 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 12: Εικονική Μνήμη (Virtual Memory) Προθεσμία έως Τετάρτη 21 Μαΐου 2014 (βδ. 12.2) ώρα 23:59 (παράδ. on-line)

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

Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory)

Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory) ΗΥ-225: Οργάνωση Υπολογιστών Άνοιξη 2012 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory) Παράδοση: Δευτέρα 30 Απριλίου 2012 (βδ. 10.1) σε χαρτί, στο μάθημα Βιβλίο

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

Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory)

Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory) ΗΥ-225: Οργάνωση Υπολογιστών 1νοιξη 2013 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 10: Εικονική Μνήμη (Virtual Memory) Παράδοση: Τετάρτη 22 Μαΐου 2013 (βδ. 11.2) σε χαρτί, στο μάθημα Βιβλίο

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

Σειρά Ασκήσεων 16: Εικονική Μνήμη (Virtual Memory)

Σειρά Ασκήσεων 16: Εικονική Μνήμη (Virtual Memory) 1 of 6 ΗΥ-225: Οργάνωση Υπολογιστών Άνοιξη 2008 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 16: Εικονική Μνήμη (Virtual Memory) Προθεσμία έως Πέμπτη 5 Ιουνίου 2008, ώρα 23:59 (βδομάδα F) Βιβλίο

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Διαλέξεις 6: Κάλεσμα Διαδικασιών, Χρήση και Σώσιμο Καταχωρητών. Μανόλης Γ.Η.

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 14: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores) Μανόλης Γ.Η.

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

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

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

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

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

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

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

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

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

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

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

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 8 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΜΟΝΑΔΑ ΜΝΗΜΗΣ Επαρκής χωρητικότητα αποθήκευσης Αποδεκτό μέσο επίπεδο απόδοσης Χαμηλό μέσο κόστος ανά ψηφίο Ιεραρχία μνήμης

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 3: Προσπελάσεις Μνήμης στον MIPS. Μανόλης Γ.Η. Κατεβαίνης

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 3: Προσπελάσεις Μνήμης στον MIPS. Μανόλης Γ.Η. Κατεβαίνης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Ασκήσεις 3: Προσπελάσεις Μνήμης στον MIPS Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ Εισήγηση 9Β: Απλή Τυχαία Δειγματοληψία για την εκτίμηση ποσοστού Διδάσκων: Δαφέρμος Βασίλειος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΣΧΟΛΗΣ

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

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών 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. Προσομοίωση λειτουργίας ιεραρχίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΗ ΑΝΑΛΥΣΗ Ενότητα #4: ΙΣΟΡΡΟΠΙΑ ΑΓΟΡΩΝ

ΟΙΚΟΝΟΜΙΚΗ ΑΝΑΛΥΣΗ Ενότητα #4: ΙΣΟΡΡΟΠΙΑ ΑΓΟΡΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΟΙΚΟΝΟΜΙΚΗ ΑΝΑΛΥΣΗ Ενότητα #4: ΙΣΟΡΡΟΠΙΑ ΑΓΟΡΩΝ Διδάσκων: Μανασάκης Κωνσταντίνος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Τα κείμενα και τα διαγράμματα της παρουσίασης έχουν ληφθεί

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

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

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

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

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

Ιστορίας της παιδείας από τα κάτω Α03 06

Ιστορίας της παιδείας από τα κάτω Α03 06 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Ιστορίας της παιδείας από τα κάτω Α03 06 Ενότητα #9: Βασικές αρχές μικροϊστορίας κατά Μ. Χατζηϊωάννου Διδάσκων: Χουρδάκης Αντώνιος ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ

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

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

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

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

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

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

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

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

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

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

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

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

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

τατιςτική ςτην Εκπαίδευςη II

τατιςτική ςτην Εκπαίδευςη II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ τατιςτική ςτην Εκπαίδευςη II Αρχείο αποτελεςμάτων Διδάσκων: Μιχάλης Λιναρδάκης ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΑΓΩΓΗΣ Άδειες Χρήσης Το παρόν

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

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις Αρης Ευθυμίου Κόστος διακλαδώσεων Οι διακλαδώσεις έχουν σχετικά μεγάλο κόστος χρόνου Τουλάχιστον ένας κύκλος

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 5 Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση

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

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ. Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ. Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ Διδάσκων: Μανασάκης Κωνσταντίνος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Τα κείμενα και

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

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

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

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

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ Εισήγηση 9Α: Απλή Τυχαία Δειγματοληψία Διδάσκων: Δαφέρμος Βασίλειος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΣΧΟΛΗΣ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες

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

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

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

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

Αρχιτεκτονική-ΙI Ενότητα 4 :

Αρχιτεκτονική-ΙI Ενότητα 4 : ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

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

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

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

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Εισαγωγή στη LibreOffice Base Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες

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

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

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

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

Γνωστική Ψυχολογία 3

Γνωστική Ψυχολογία 3 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Γνωστική Ψυχολογία 3 Ενότητα #8: Θεωρητικά μοντέλα Διδάσκων: Οικονόμου Ηλίας ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Ιεραρχία Μνήμης. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores) ΗΥ-225: Οργάνωση Υπολογιστών 1νοιξη 2013 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading,

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

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

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

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

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

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

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

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

Γνωστική Ψυχολογία 3

Γνωστική Ψυχολογία 3 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Γνωστική Ψυχολογία 3 Ενότητα #3: Εισαγωγή στη Μνήμη Διδάσκων: Οικονόμου Ηλίας ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

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

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

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