ENOTHTA 6 IAXEIPIΣH MNHMHΣ

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

Download "ENOTHTA 6 IAXEIPIΣH MNHMHΣ"

Transcript

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

2 1. O ρόλος του διαχειριστή µνήµης Tο τµήµα του Λ.Σ. που διαχειρίζεται τη µνήµη λέγεται ιαχειριστής Mνήµης (Memory Manager). Kαθήκον του είναι να παρακολουθεί ποια τµήµατα της µνήµης είναι σε χρήση και ποια όχι, να χορηγεί µνήµη σε διεργασίες όποτε τη χρειάζονται και να την επαναχορηγεί σε άλλες όταν οι πρώτες ολοκληρώνουν την αποστολή τους, καθώς και να διαχειρίζεται την εναλλαγή πληροφοριών (swapping) µεταξύ κύριας µνήµης και δίσκου όταν η κύρια µνήµη δεν είναι αρκετή για να εξυπηρετηθούν όλες οι διεργασίες. Συγκεκριµένα, η διαχείριση µνήµης απαιτεί την ικανοποίηση των ακόλουθων αναγκών: Mετατόπιση (relocation). Aν µία διεργασία χρειασθεί να αποµακρυνθεί από την κύρια µνήµη, δεν θα πρέπει να είναι αναγκαίο όταν επανέλθει να αποθηκευθεί στον ίδιο χώρο που καταλάµβανε προηγουµένως. Για να ικανοποιηθεί αυτή η ανάγκη θα πρέπει οι διευθύνσεις µνήµης που χρησιµοποιούν οι εντολές του προγράµµατος να µην είναι απόλυτες αλλά σχετικές ως προς το περιεχόµενο κάποιου καταχωρητή. Προστασία (protection). Kάποια διεργασία να µην µπορεί να αναφερθεί σε θέση µνήµης που ανήκει σε άλλη διεργασία. Tο πρόβληµα γίνεται πιο δύσκολο λόγω της µετατόπισης των διεργασιών στην κύρια µνήµη και ο έλεγχος πρέπει να γίνεται δυναµικά και όχι στατικά (την ώρα της µετάφρασης). ιαµοίρασµα (sharing). Περισσότερες από µία διεργασίες θα πρέπει να µπορούν να αναφέρονται στον ίδιο χώρο µνήµης (π.χ. όλες οι διεργασίες ενός προγράµµατος θα πρέπει να µπορούν να αναφέρονται στο χώρο µνήµης στον οποίο βρίσκεται αποθηκευµένος ο κώδικας του προγράµµατος. Λογική οργάνωση (logical organisation). Aν και η µνήµη (κύρια και περιφερειακή) είναι ουσιαστικά ένας µονοδιάστατος πίνακας που αποτελείται από µία σειρά από bytes, εν τούτοις σε λογικό επίπεδο θα πρέπει να υποστηρίζει τη λογική δοµή ενός τυπικού προγράµµατος: χωρισµός σε ενότητες (modules), κοινή χρήση κάποιων ενοτήτων από προγράµµατα, κλπ. Φυσική οργάνωση (physical organisation). Mετατόπιση πληροφοριών µεταξύ κύριας και περιφερειακής µνήµης. 6-2

3 2. ιαχείρηση µνήµης όταν τα προγράµµατα είναι εξ ολοκλήρου φορτωµένα στην κύρια µνήµη Tα συστήµατα διαχείρησης µνήµης µπορούν να χωρισθούν σε δύο κατηγορίες: σε αυτά που µετακινούν διεργασίες µεταξύ κύριας µνήµης και δίσκου κατά τη διάρκεια εκτέλεσής τους και αυτά που δεν διαθέτουν τέτοιες τεχνικές. Ξεκινάµε µε τη δεύτερη κατηγορία. 2.1 Σταθερά τµήµατα µνήµης Mε εξαίρεση το χώρο της µνήµης που χρειάζεται το Λ.Σ., ο υπόλοιπος χωρίζεται σε σταθερά τµήµατα (fixed partitioning). Tα τµήµατα αυτά µπορεί να είναι όλα του ιδίου µεγέθους ή ποικίλων µεγεθών. Στην περίπτωση του χωρισµού της µνήµης σε ισοµεγέθη τµήµατα, κάθε πρόγραµµα καταλαµβάνει ένα τέτοιο τµήµα. Στην περίπτωση που κάποιο πρόγραµµα είναι µεγαλύτερο από το µέγεθος των τµηµάτων θα πρέπει να χωρισθεί σε τµήµατα επικάλυψης (overlays) και να µεταφέρεται στο χώρο της κύριας µνήµης που ανήκει στο τµήµα εκείνο του προγράµµατος που πρέπει να εκτελεσθεί, επικαλύπτοντας το προηγούµενο τµήµα τού προγράµµατος. Eδώ γίνεται προσπάθεια να χωρισθεί ένα πρόγραµµα σε µέρη ανεξάρτητα (κατά το δυνατόν) µεταξύ τους: π.χ. ένα τµήµα για είσοδο δεδοµένων, ένα για την επεξεργασία τους και ακόµα ένα για την έξοδο των αποτελεσµάτων. H δουλειά αυτή πρέπει να γίνει από τον προγραµµατιστή και είναι βασανιστική, βαρετή και χρονοβόρα. Eπίσης, η µέθοδος αυτή οδηγεί σε σπατάλη µνήµης στην (όχι σπάνια) περίπτωση που κάποιο πρόγραµµα είναι µικρότερο από το µέγεθος των τµηµάτων. Aυτό το φαινόµενο ονοµάζεται εσωτερικός κατακερµατισµός (internal fragmentation). 6-3

4 2.1 Σταθερά τµήµατα µνήµης (συνέχεια) H σπατάλη αυτή της µνήµης µπορεί να µειωθεί αν η κύρια µνήµη χωρισθεί σε τµήµατα ποικίλων µεγεθών. Σε αυτή την περίπτωση όµως τίθεται το ερώτηµα µε ποιο τρόπο διαµοιράζουµε τα διαθέσιµα τµήµατα στα προγράµµατα. Yπάρχουν δύο εναλλακτικές λύσεις: i) Kάνοντας χρήση πολλαπλών ουρών αναθέτουµε στο κάθε πρόγραµµα το µικρότερο σε µέγεθος τµήµα που ικανοποιεί τις ανάγκες του. Aυτό προϋποθέτει όµως ότι κάποιο πρόγραµµα γνωρίζει εκ των προτέρων τις ανάγκες του σε µνήµη. Eπίσης, µπορεί να ελαχιστοποιείται η σπατάλη µνήµης µέσα σε ένα τµήµα αλλά συνολικά υπάρχει ακόµα σπατάλη γιατί µπορεί κάποιο τµήµα να παραµένει αχρησιµοποίητο αν δεν υπάρχει κάποιο πρόγραµµα αρκετά µεγάλο για να δικαιολογείται η ανάθεσή του σε αυτό. ii) Kάνοντας χρήση µίας ουράς, αναθέτουµε σε κάποιο πρόγραµµα το µικρότερο διαθέσιµο τµήµα. Aν δεν υπάρχει διαθέσιµο τµήµα, κάποιο από τα προγράµµατα που βρίσκονται στην κύρια µνήµη θα πρέπει να µεταφερθεί στο δίσκο (κατά προτίµηση κάποιο που βρίσκεται σε τµήµα του µεγέθους που χρειάζεται το νέο πρόγραµµα για να τρέξει, αλλά µπορεί να ληφθούν υπ όψη εδώ και άλλα κριτήρια όπως προτεραιότητες, κατάσταση διεργασιών, κλπ.). H µέθοδος του διαµοιράσµατος της µνήµης σε σταθερά τµήµατα, αν και σχετικά απλή σε υλοποίηση, έχει µερικά σηµαντικά µειονεκτήµατα: O αριθµός των εν ενεργεία διεργασιών στο σύστηµα περιορίζεται στον αριθµό των τµηµάτων. Eπειδή στα περισσότερα συστήµατα οι ανάγκες σε µνήµη µίας τυπικής εργασίας δεν µπορούν να προκαθορισθούν, ο χωρισµός της µνήµης σε τµήµατα διαφορετικού µεγέθους δεν µπορεί να γίνει αποτελεσµατικά και σπαταλάται σηµαντική ποσότητα µνήµης. H χρήση της µεθόδου αυτής δεν συναντάται πλέον στις µέρες µας. Iστορικά, ένα από τα πιο επιτυχηµένα Λ.Σ. που χρησιµοποιούσαν αυτή τη µέθοδο είναι το OS/MFT (Multiprogramming with a Fixed number of Tasks) της IBM. 6-4

5 2.2 Mεταβλητά τµήµατα µνήµης Mερικά από τα προβλήµατα της χρήσης σταθερών τµηµάτων επιλύονται µε τη χρήση µεταβλητών τµηµάτων. Eδώ, σε κάθε διεργασία εκχωρείται η ποσότητα της µνήµης που χρειάζεται, εφ όσον βεβαίως είναι διαθέσιµη. Kάποια στιγµή, κάποια από τις διεργασίες που βρίσκονται στην κύρια µνήµη θα αποδεσµεύσει τη µνήµη που χρησιµοποιούσε (είτε γιατί τερµάτισε είτε γιατί θα µεταφερθεί στο δίσκο). Tον χώρο που απελευθερώνεται µπορεί να καταλάβει µία ή περισσότερες διεργασίες ανάλογα µε τις ανάγκες τους. Aντίθετα µε την περίπτωση των σταθερών τµηµάτων, εδώ ο αριθµός, η θέση και το µέγεθος των τµηµάτων καθώς επίσης και ο αριθµός των διεργασιών στην κύρια µνήµη είναι µεταβλητός. Tο πλεονέκτηµα της µεθόδου αυτής είναι ότι δεν εγκλωβιζόµαστε σε σταθερό αριθµό τµηµάτων και αυξάνεται έτσι η απόδοση της µνήµης. Aπό την άλλη πλευρά όµως ο µηχανισµός δέσµευσης και αποδέσµευσης της µνήµης και ο µηχανισµός παρακολούθησης των µεταβολών που λαµβάνουν χώρα γίνεται πιο πολύπλοκος. Ένα άλλο πρόβληµα που δηµιουργείται είναι ότι κάποια στιγµή θα υπάρχουν στη µνήµη πολλά µικρά κενά τµήµατα τα οποία αν και συνδυασµένα θα µπορούσαν να ικανοποιήσουν τις ανάγκες κάποιας διεργασίας, από µόνα τους είναι άχρηστα. Aυτό το φαινόµενο ονοµάζεται εξωτερικός κατακερµατισµός (external fragmentation). O Knuth υπολόγισε ότι σε γενικές γραµµές τα κενά h θα είναι κατά µέσο όρο τα µισά από ότι οι διεργασίες n (δηλαδή h=n/2). Tο αποτέλεσµα αυτό είναι γνωστό σαν ο κανόνας του 50% (fifty percent rule) και βασίζεται στην παρατήρηση ότι εφαπτόµενα κενά συνενώνονται σε ένα. Mία πιθανή λύση θα ήταν η περιοδική µετακίνηση από το Λ.Σ. όλων των τµηµάτων έτσι ώστε να βρίσκονται σε συνεχόµενες θέσεις και εποµένως οι ελεύθεροι χώροι να είναι και αυτοί µαζί σαν ένα τµήµα. Aυτή η µέθοδος ονοµάζεται συµπίεση µνήµης (compaction) αλλά χρησιµοποιείται σπάνια γιατί είναι πολύ δαπανηρή σε χρόνο KME. Π.χ. σε µία µηχανή µε 1 MB µνήµη και µε δυνατότητα µεταφοράς 1 byte/msec (δηλαδή 1 MB / sec) θα χρειαζόταν ένα δευτερόλεπτο για τη συµπίεση όλης της µνήµης. 6-5

6 2.3 Aλγόριθµοι τοποθέτησης Για την επιλογή του κατάλληλου τµήµατος µνήµης για τις ανάγκες µίας διεργασίας χρησιµοποιείται ένας από τους ακόλουθους αλγόριθµους τοποθέτησης (placement algorithms). O κοινός παρανοµαστής για όλους είναι η προσπάθεια εύρεσης ενός τµήµατος µνήµης ίσου ή µεγαλύτερου αυτού που κάποια διεργασία έχει ανάγκη µε τρόπο που να ελαχιστοποιεί τη σπατάλη µνήµης αλλά και τη συχνότητα χρήσης τεχνικών συµπίεσης. O αλγόριθµος της πρώτης τοποθέτησης (first-fit) σαρώνει τη µνήµη και διαλέγει το πρώτο τµήµα που θα βρει και είναι κατάλληλο για τις ανάγκες του προγράµµατος. Aν το τµήµα αυτό είναι µεγαλύτερο από όσο χρειάζεται το διασπά σε δύο κοµµάτια. Eίναι ο απλούστερος από τους αλγόριθµους, γρήγορος στην εκτέλεση και παραδόξως έχει συνήθως καλά αποτελέσµατα. Mία παραλλαγή του προηγούµενου αλγόριθµου είναι αυτός της επόµενης τοποθέτησης (next-fit) όπου η αναζήτηση ενός κατάλληλου τµήµατος ξεκινάει από το σηµείο που βρέθηκε το τελευταίο κατάλληλο τµήµα αντί από την αρχή της µνήµης. Mελέτες προσοµοίωσης από τον Bays έδειξαν ότι ο αλγόριθµος αυτός έχει ελαφρώς χειρότερα αποτελέσµατα από αυτόν της πρώτης τοποθέτησης. Tείνει να χορηγεί µνήµη από το µεγαλύτερο διαθέσιµο κοµµάτι που βρίσκεται προς το τέλος της µνήµης (υψηλότερες διευθύνσεις). Eποµένως η περιοχή εκείνη της µνήµης σπάει γρήγορα σε µικρά και άχρηστα τµήµατα, δηµιουργώντας την ανάγκη χρήσης τεχνικών συµπίεσης. Παρεµπιπτόντως, το αντίθετο συµβαίνει µε τον προηγούµενο αλγόριθµο ο οποίος δηµιουργεί το ίδιο πρόβληµα στις χαµηλές θέσεις µνήµης. O αλγόριθµος της καλύτερης τοποθέτησης (best-fit) προσπαθεί να βρει το τµήµα εκείνο της µνήµης που είναι όσο γίνεται πιο µικρό (αλλά βεβαίως να εξακολουθεί να ικανοποιεί τις ανάγκες του προγράµµατος). Aν και φαίνεται λογική αυτή η προσέγγιση γιατί προσπαθεί να ελαχιστοποιήσει τα άχρηστα κενά, εν τούτοις δηµιουργεί µεγαλύτερο πρόβληµα γιατί τα κενά που αναπόφευκτα θα δηµιουργηθούν είναι πολύ µικρά και άχρηστα ακόµα και για µικρά προγράµµατα. Eπίσης είναι πιο αργός από τους προηγούµενους λόγω της σάρωσης όλης της µνήµης. 6-6

7 2.3 Aλγόριθµοι τοποθέτησης (συνέχεια) O αλγόριθµος της χειρότερης τοποθέτησης (worst-fit) κάνει ακριβώς το αντίθετο ψάχοντας να βρεί το µεγαλύτερο τµήµα έτσι ώστε όταν διασπασθεί το υπόλοιπο κοµµάτι να είναι αρκετά µεγάλο για να παραµείνει χρήσιµο. Προγράµµατα προσοµοίωσης έδειξαν ότι δεν είναι πολύ αποτελεσµατικός. Tέλος, ο αλγόριθµος της γρήγορης τοποθέτησης (quick-fit) αποθηκεύει τα πιο συνηθισµένα µεγέθη µνήµης που ζητούνται. Aν και η ζήτηση ενός τµήµατος προκαθορισµένου µεγέθους είναι πολύ γρήγορη, εν τούτοις ο αλγόριθµος υποφέρει από τα ίδια προβλήµατα µε τους υπόλοιπους. 2.4 Aλγόριθµοι αντικατάστασης Aκόµα και µε τη χρήση της τεχνικής της συµπίεσης, θα φτάσει κάποια στιγµή όπου όλη η µνήµη θα είναι δεσµευµένη από διεργασίες που βρίσκονται σε κατάσταση αναστολής. Σε αυτή την περίπτωση το Λ.Σ. είναι υποχρεωµένο να µεταφέρει κάποιες από αυτές τις διεργασίες στην περιφερειακή µνήµη και να τις αντικαταστήσει µε άλλες από εκεί, που είναι έτοιµες για εκτέλεση. Oι πολιτικές µε βάση τις οποίες το Λ.Σ. αποφασίζει πως θα γίνονται τέτοιου είδους αντικαταστάσεις αποτελούν τους αλγόριθµους αντικατάστασης και θα εξετασθούν σε συνάρτηση µε την τεχνική της ιδεατής µνήµης παρακάτω. 2.5 ιαχείρηση Mνήµης µε το Σύστηµα των Φίλων Eπινοήθηκε από τους Knuth και Knowlton, σαν µία µέση λύση µεταξύ των τεχνικών των σταθερών και µεταβλητών τµηµάτων. H µνήµη µπορεί να διαιρεθεί σε µπλοκ µεγέθους 2 N, δηλαδή µεγέθους 1, 2, 4, 8, 16 bytes µέχρι το συνολικό µέγεθός της. ηλαδή, αν η µνήµη έχει µέγεθος 1 MB, µπορούν να υπάρχουν 21 τέτοια µπλοκ, από 1 byte µέχρι 1 MB. Στην αρχή, υπάρχει µόνο ένα µπλοκ µεγέθους 1 MB. 6-7

8 2.5 ιαχείρηση Mνήµης µε το Σύστηµα των Φίλων (συνέχεια) Aν τώρα η πρώτη αίτηση για µνήµη είναι των 100K, τότε το πιο κοντινό στις ανάγκες της αίτησης αυτής µέγεθος µπλοκ είναι 128K. Eποµένως, το αρχικό µπλοκ του 1 MB σπάει σε δύο φίλους των 512K, ένα από αυτά σπάει περαιτέρω σε δύο άλλους φίλους των 128K και ένα από αυτά τα τελευταία χρησιµοποιείται για την αίτηση. Aν η δεύτερη αίτηση έχει ανάγκη σε 256K, παίρνει αµέσως το υπάρχων µπλοκ αυτού του µεγέθους. H ευελιξία της µεθόδου αυτής βρίσκεται στο γεγονός ότι αν ολοκληρώσουν την εκτέλεσή τους δύο διεργασίες που καταλαµβάνουν γειτονικούς χώρους, τα δύο αντίστοιχα φιλικά µπλοκ συνενώνονται σε ένα, επιτρέποντας έτσι την εξυπηρέτηση επιπλέων αιτήσεων. 2.6 Mηχανισµός µετατόπισης Για τους περισσότερους από τους µηχανισµούς που εξετάσαµε µέχρι τώρα ισχύει ότι το τµήµα µνήµης που θα καταλάβει µία διεργασία στην κύρια µνήµη δεν είναι κατ ανάγκη το ίδιο µε αυτό που καταλάµβανε την προηγούµενη φορά που είχε εισέλθει στην κύρια µνήµη. Eπίσης, κατά τη συµπίεση της µνήµης, µία διεργασία τυχόν να µετακινηθεί σε άλλο χώρο. Θα πρέπει λοιπόν οι διευθύνσεις µνήµης που χρησιµοποιούν οι εντολές του προγράµµατος να αλλάζουν ανάλογα. H τεχνική που συνήθως ακολουθείται (και η οποία ικανοποιεί και τις ανάγκες της προστασίας) είναι να υπάρχουν δύο ειδικοί καταχωρητές, ο καταχωρητής βάσης (base register) και ο καταχωρητής ορίου (limit, bounds register). O πρώτος έχει ως τιµή τη διεύθυνση της αρχής του τµήµατος ενώ ο δεύτερος το µέγεθος (ή το τέλος) του τµήµατος. Σε κάθε διεύθυνση των εντολών της διεργασίας προστίθεται αυτόµατα η τιµή του καταχωρητή βάσης και η καινούργια διεύθυνση ελέγχεται µε βάση την τιµή του καταχωρητή ορίου για να διαπιστωθεί αν ανήκει στα επιτρεπτά όρια µνήµης που ελέγχει η διεργασία. Έτσι αν ο καταχωρητής βάσης έχει τιµή 130K και το πρόγραµµα έχει την εντολή CALL 100, τότε αυτή µετατρέπεται σε CALL 130K+100 χωρίς να τροποποιηθεί η ίδια η εντολή του προγράµµατος. 6-8

9 2.7 Σελιδοποίηση H κύρια µνήµη χωρίζεται σε ισοµεγέθη µικρά κοµµάτια που λέγονται πλαίσια σελίδας (page frames). Kάθε πρόγραµµα χωρίζεται σε ένα αριθµό από σελίδες (όσες χρειασθούν ανάλογα µε το πόσο µεγάλο είναι) οι οποίες έχουν ακριβώς το ίδιο µέγεθος µε τα πλαίσια σελίδας της κύριας µνήµης. Όταν ένα πρόγραµµα φορτώνεται στην κύρια µνήµη, όλα τα µέρη του φορτώνονται σε αντίστοιχο αριθµό από πλαίσια. Για κάθε πρόγραµµα φορτωµένο στην κύρια µνήµη δηµιουργείται ένας πίνακας σελίδων που δείχνει ποια πλαίσια καταλαµβάνονται από το πρόγραµµα. Tα πλαίσια αυτά δεν είναι απαραίτητο να είναι συνεχόµενα. Kάθε εγγραφή του πίνακα αποτελείται από µία οµάδα από bits πληροφοριών (π.χ. προστασίας, κλπ.) και ένα δείκτη που δείχνει τη θέση µνήµης από όπου ξεκινάει η αποθήκευση της σελίδας. Ένας καταχωρητής δείχνει τη θέση µνήµης από όπου ξεκινάει η αποθήκευση του πίνακα. KATAXΩPHTHΣ ΠINAKA ΣEΛI ΩN ΠPOΓPAMMA D + P D + P EN EIKTIKA BITS EIKTHΣ ΣTO ΠΛAIΣIO ΣEΛI AΣ ΠINAKAΣ ΣEΛI ΩN ΦYΣIKH MNHMH (ΠΛAIΣIA ΣEΛI AΣ) 6-9

10 2.7 Σελιδοποίηση (συνέχεια) Kάθε διεύθυνση µνήµης M του προγράµµατος είναι ένα ζευγάρι M=(P,D) όπου P είναι ο αριθµός της αντίστοιχης σελίδας και D η µετατόπιση (displacement) µέσα στη σελίδα. Για να αποκωδικοποιηθεί µία διεύθυνση µνήµης βρίσκεται πρώτα ο αντίστοιχος πίνακας µε βάση την τιµή του σχετικού καταχωρητή. H Pοστή εγγραφή παρέχει τον αριθµό του πλαισίου στον οποίο είναι αποθηκευµένη η σελίδα και η πληροφορία D τη συγκεκριµένη θέση µνήµης η οποία αντιστοιχεί στη M. Tο πλεονέκτηµα της σελιδοποίησης είναι ότι µειώνει στο ελάχιστο δυνατόν τον κατακερµατισµό της µνήµης: εξωτερικός κατακερµατισµός δεν υπάρχει καθόλου ενώ ο εσωτερικός κατακερµατισµός περιορίζεται στην τελευταία σελίδα ενός προγράµµατος. Aυτή η απλής µορφής σελιδοποίηση µπορεί να θεωρηθεί ότι είναι παραλλαγή της µεθόδου των σταθερών τµηµάτων χωρίς τον περιορισµό να είναι τα τµήµατα σε συνεχόµενες θέσεις µνήµης. Όµως για την αποκωδικοποίηση µίας διεύθυνσης µνήµης χρειάζονται δύο προσπελάσεις, µία για τον πίνακα σελίδων και µία για την ίδια τη σελίδα. Tο πρόβληµα αυτό µπορεί να επιλυθεί µε τη χρήση συσχετιστικών καταχωρητών όπως θα δούµε παρακάτω. Ένα άλλο ερώτηµα είναι ποιο πρέπει να είναι το µέγεθος της σελίδας. Aν είναι σχετικά µικρό ελαττώνει τον εσωτερικό κατακερµατισµό της τελευταίας σελίδας ενός προγράµµατος αλλά αυξάνει το µέγεθος του πίνακα σελίδων (και κατ επέκταση τον χρόνο προσπέλασής του και τον χώρο µνήµης που χρειάζεται για αποθήκευση). Aν είναι σχετικά µεγάλος αντιστρέφεται το πρόβληµα. Για να είναι όσο γίνεται πιο εύκολη η αποκωδικοποίηση µίας διεύθυνσης µνήµης το µέγεθος της σελίδας πρέπει να είναι δύναµη του 2 και συνήθως κυµαίνεται µεταξύ 1K και 4K. 6-10

11 2.8 Kατάτµηση Aν η σελιδοποίηση µπορεί να θεωρηθεί σαν παραλλαγή της µεθόδου των σταθερών τµηµάτων χωρίς τον περιορισµό να είναι τα τµήµατα φορτωµένα στη µνήµη σε συνεχόµενες θέσεις, η κατάτµηση µπορεί να θεωρηθεί η αντίστοιχη παραλλαγή της µεθόδου των µεταβλητών τµηµάτων µνήµης. Oι δοµές που δηµιουργούνται είναι λίγο πολύ οι ίδιες µε αυτές της σελιδοποίησης αλλά ο πίνακας τµηµάτων πρέπει να έχει την επί πλέον πληροφορία του µεγέθους του τµήµατος. Λόγω του διαφορετικού µεγέθους των τµηµάτων δεν υπάρχει εσωτερικός κατακερµατισµός αλλά παραµένει το πρόβληµα του εξωτερικού κατακερµατισµού σε µικρότερο όµως βαθµό από ότι στη µέθοδο των µεταβλητών τµηµάτων µνήµης. KATAXΩPHTHΣ ΠINAKA TMHMATΩN IA IKAΣIA A S D + + D IA IKAΣIA A MEΓAΛH OMH S MEΓAΛH OMH BITS MEΓEΘOΣ TMHMATOΣ EIKTHΣ ΣTO TMHMA ΠINAKAΣ TMHMATΩN ΦYΣIKH MNHMH (TMHMATA) 6-11

12 2.8 Kατάτµηση (συνέχεια) H βασική ιδέα στην κατάτµηση είναι ότι ένα πρόγραµµα χωρίζεται συνήθως σε λογικές ενότητες (διαδικασίες, στοίβες, δοµηµένος προγραµµατισµός, συνολική δήλωση των δοµών δεδοµένων σε συγκεκριµένα σηµεία) και κάθε ενότητα αντιστοιχεί σε ένα τµήµα. Mάλιστα δε, είναι ο µεταφραστής αυτός που καθορίζει πως ένα πρόγραµµα θα χωρισθεί σε τµήµατα. Tο µεγάλο πλεονέκτηµα είναι ότι µια και ένα τµήµα είναι τώρα µία λογική οντότητα (διαδικασία, δοµή δεδοµένων, οµάδα από µεταβλητές) γίνεται πιο εύκολος ο έλεγχος και η διαχείρηση των τµηµάτων. Π.χ. αν επαναµεταγλωττισθεί µία µόνο διαδικασία ενός προγράµµατος, τα τµήµατα για το υπόλοιπο πρόγραµµα δεν χρειάζεται να αλλάξουν. Eπίσης κάποια τµήµατα µπορεί να δηλωθούν µόνο για διάβασµα και κατ επέκταση να διαµοιράζονται µεταξύ διαφόρων προγραµµάτων. Σηµειωτέον ότι ένα πρόγραµµα µπορεί να καταλάβει (µεταβλητού µεγέθους) τµήµατα τα οποία να µην είναι σε συνεχόµενες θέσεις στη µνήµη. Όµως ο προγραµµατιστής πρέπει να είναι ενήµερος της τεχνικής αυτής και να βοηθάει µε την οϊοθέτηση κατάλληλης µεθοδολογίας προγραµµατισµού (δόµηση των δεδοµένων και εντολών, χρήση διαδικασιών και αρθρωτού προγραµµατισµoύ (modular programming), κλπ.). 6-12

13 3. Iδεατή µνήµη Oι τεχνικές σελιδοποίησης και κατάτµησης που εξετάστηκαν έχουν δύο βασικά χαρακτηριστικά: Oι αναφορές σε διευθύνσεις µνήµης είναι σχετικές και αποκωδικοποιούνται δυναµικά για να δώσουν τις αντίστοιχες απόλυτες τιµές τους. Tα µέρη από τα οποία αποτελείται ένα πρόγραµµα (είτε είναι σελίδες είτε είναι τµήµατα) δεν χρειάζεται να βρίσκονται στη µνήµη σε συνεχόµενες θέσεις. H βασική ιδέα που οδήγησε στην ανάπτυξη της ιδεατής µνήµης (virtual memory) και ανήκει στον Fotheringham (1961) βασίζεται στην παρατήρηση ότι δεν είναι αναγκαίο όλα τα µέρη ενός προγράµµατος να βρίσκονται στην κύρια µνήµη την ίδια στιγµή. Tο σηµαντικό πλεονέκτηµα αυτής της ιδέας είναι ότι µπορεί να χρησιµοποιηθεί η περιφερειακή µνήµη (που είναι πολύ µεγαλύτερης χωρητικότητας από την κύρια αλλά και πιο φθηνή) για την αποθήκευση των περισσοτέρων από τα µέρη ενός προγράµµατος που εκτελείται και την εναλλαγή στην κύρια µνήµη µόνο εκείνων των µερών που χρειάζονται ανά πάσα στιγµή. Έτσι η ιδεατή µνήµη ενός προγράµµατος µπορεί να είναι µεγαλύτερη από την κύρια µνήµη. Eπίσης µια και µόνο ένα µέρος κάθε προγράµµατος που εκτελείται χρειάζεται να βρίσκεται στην κύρια µνήµη, αυξάνεται ο βαθµός πολυπρογραµµατισµού του συστήµατος. H αποτελεσµατικότητα της ιδεατής µνήµης βασίζεται στην τοπικότητα των αναφορών που κάνει ένα πρόγραµµα κατά χρονικά διαστήµατα. AΠOKΩ IKOΠOIHΣH IEYΘYNΣEΩN I EATH MNHMH ΠPAΓMATIKH MNHMH 6-13

14 3.1 Σελιδοποίηση µε χρήση ιδεατής µνήµης O µηχανισµός παραµένει λίγο πολύ ο ίδιος άλλα τώρα θα πρέπει να ληφθεί υπ όψη ότι οι σελίδες εναλλάσονται µεταξύ κύριας και περιφερειακής µνήµης. Έτσι κάθε εγγραφή στον πίνακα σελίδων έχει επιπλέον πληροφορίες ελέγχου: Tο bit παρουσίας/απουσίας δηλώνει αν η σελίδα βρίσκεται στην κύρια ή στην περιφερειακή µνήµη. Tο bit τροποποίησης (modified bit) δηλώνει αν η σελίδα έχει υποστεί αλλαγές από τότε που εισήλθε στην κύρια µνήµη. Tο bit αναφοράς (referenced bit) δηλώνει αν η σελίδα έχει χρησιµοποιηθεί από το πρόγραµµα για γράψιµο ή για διάβασµα. Tέλος, υπάρχουν άλλα bits ελέγχου όπως bits προστασίας, κλπ. KATAXΩPHTHΣ ΠINAKA ΣEΛI ΩN ΠPOΓPAMMA D + P D + P AΛΛA BITS EIKTHΣ ΣTO ΠΛAIΣIO ΣEΛI AΣ BIT ΠAPOYΣIAΣ/AΠOYΣIAΣ BIT TPOΠOΠOIHΣHΣ BIT ANAΦOPAΣ ΠINAKAΣ ΣEΛI ΩN ΦYΣIKH MNHMH (ΠΛAIΣIA ΣEΛI AΣ) 6-14

15 3.1 Σελιδοποίηση µε χρήση ιδεατής µνήµης (συνέχεια) H αποκωδικοποίηση µίας διεύθυνσης γίνεται µε τον ίδιο τρόπο όπως και στην περίπτωση της απλής σελιδοποίησης. Όµως υπάρχει περίπτωση η σελίδα στην οποία γίνεται αναφορά να µην βρίσκεται στην κύρια µνήµη, κάτι που θα φανεί από την τιµή του σχετικού bit. Aυτό οδηγεί στη δηµιουργία ενός λάθους σελίδας (page fault) και το Λ.Σ. µεταφέρει (αντιγράφει) τη σελίδα αυτή από την περιφερειακή στην κύρια µνήµη. Για τη µεταφορά αυτή πρέπει να δηµιουργηθεί χώρος στην κύρια µνήµη, δηλαδή κάποια από τις ευρισκόµενες στην κύρια µνήµη σελίδες να µεταφερθεί στην περιφερειακή µνήµη. Tο ερώτηµα που δηµιουργείται εδώ είναι ποια σελίδα είναι η πιο κατάλληλη για να φύγει από την κύρια µνήµη. Mε άλλα λόγια δεν θέλουµε να βγάλουµε από την κύρια µνήµη µία σελίδα που θα ξαναχρειασθεί αµέσως µετά γιατί αυτό µπορεί να οδηγήσει στο φαινόµενο της συνεχούς εναλλαγής σελίδων από/προς την κύρια µνήµη µε απότοµη πτώση της απόδοσης του συστήµατος (thrashing). Eδώ γίνεται χρήση του bit αναφοράς για την επιλογή της κατάλληλης σελίδας που πρέπει να µεταφερθεί στην περιφερειακή µνήµη. Aν η σελίδα που έχει επιλεγεί για αποµάκρυνση από την κύρια µνήµη έχει υποστεί αλλαγές από την τελευταία φορά που διαβάσθηκε (κάτι που θα φανεί από τη τιµή του σχετικού bit), τότε θα πρέπει να ενηµερωθεί το αντίγραφό της στο δίσκο. Aλλιώς, απλά σβήνεται από την κύρια µνήµη. Στα bits ελέγχου περιλαµβάνονται τα bits προστασίας (protection bits) που καθορίζουν το είδος της προσπέλασης που επιτρέπεται από τις διεργασίες στις σελίδες. Συνήθως χρησιµοποιείται ένα µόνο bit µε τιµή 0 αν επιτρέπεται και η ανάγνωση και η εγγραφή του και τιµή 1 αν επιτρέπεται µόνο η ανάγνωση. Yπάρχει όµως περίπτωση να υπάρχουν µέχρι και 3 bits (ένα για ανάγνωση, ένα για εγγραφή και ένα για εκτέλεση). Στα bits ελέγχου περιλαµβάνονται επίσης και τα bits κλειδώµατος (lock bits) που καθορίζουν κατά πόσο µία σελίδα µπορεί να αποµακρυνθεί από την κύρια µνήµη (ισχύει κυρίως για διαµοιραζόµενες σελίδες). 6-15

16 3.2 Oργάνωση και υλοποίηση του πίνακα σελίδων Aπό τη στιγµή που ο αριθµός των σελίδων δεν περιορίζεται από το µέγεθος της κύριας µνήµης, ο πίνακας σελίδων τείνει να γίνεται µεγάλος και εποµένως να τίθεται θέµα γρήγορης προσπέλασής του, µια πράξη η οποία είναι συνεχής (για αποκωδικοποίηση διευθύνσεων και εναλλαγή σελίδων). Tο να υπάρχουν πίνακες της τάξης του 1 εκατοµµυρίου εγγραφών (δηλαδή 1 εκατοµµύριο σελίδες) είναι σύνηθες φαινόµενο. Σηµειωτέον ότι κάθε διεργασία έχει το δικό της πίνακα! Έτσι ακόµα και ο πίνακας σελίδων πρέπει να χωρισθεί σε σελίδες και το µεγαλύτερο µέρος του να βρίσκεται στην περιφερειακή µνήµη. Aυτό οδηγεί στην οργάνωση του πίνακα σε πολλαπλά (περισσότερα του ενός) επίπεδα και την αποθήκευση µερικών από αυτών στο δίσκο. Πλαίσιο σελίδας Πίνακας µε 4 καταχωρήσεις Πίνακας µε 16 καταχωρήσεις Πίνακας µε 8 καταχωρήσεις 6-16

17 3.2 Oργάνωση και υλοποίηση του πίνακα σελίδων (συνέχεια) Ένας εναλλακτικός τρόπος οργάνωσης του πίνακα σελίδων είναι να έχουµε µία εγγραφή για κάθε πλαίσιο σελίδας αντί για κάθε ιδεατή σελίδα. Aυτός λέγεται ανεστραµµένος πίνακας σελίδων (inverted page table) και κάθε εγγραφή του δηλώνει ποια ιδεατή σελίδα βρίσκεται σε κάθε πλαίσιο, έχει δε το πλεονέκτηµα ότι το µέγεθός του είναι σχετικά µικρό (καθορίζεται από το πλήθος των πλαισίων σελίδων που έχει η κύρια µνήµη του συστήµατος). Tέλος, για την πιο γρήγορη απεικόνιση ιδεατών διευθύνσεων σε φυσικές διευθύνσεις, χρησιµοποιείται συχνά, σε συνδυασµό µε τον πίνακα σελίδων, µία µονάδα υλικού που λέγεται συσχετιστική µνήµη (associative memory) ή ενδιάµεση µνήµη µετάφρασης (translation lookaside buffer). H µονάδα αυτή αποτελείται από µία οµάδα από καταχωρητές (8 έως 32) οι οποίοι µπορούν να προσπελασθούν παράλληλα. Σε αυτούς τους καταχωρητές αποθηκεύονται οι διευθύνσεις των πλαισίων σελίδας για τις πιο συχνά χρησιµοποιούµενες σελίδες. Όταν γίνεται η αποκωδικοποίηση µίας ιδεατής διεύθυνσης, πρώτα αναζητείται η σχετική πληροφορία στη συσχετιστική µνήµη. Aν δεν βρεθεί εκεί τότε γίνεται αναζήτηση στον πίνακα σελίδων και οι σχετικές πληροφορίες από τη ζητούµενη εγγραφή µεταφέρονται στη συσχετιστική µνήµη στη θέση κάποιας καταχώρησης εκεί η οποία βεβαίως πρέπει να αποµακρυνθεί αφού πρώτα ενηµερώσει την αντίστοιχη εγγραφή της στον πίνακα σελίδων. Tο ποσοστό επιτυχίας (hit ratio) στο να βρεθούν οι ζητούµενες πληροφορίες στη συσχετιστική µνήµη παίζει πρωτεύοντα ρόλο στην ταχύτητα αποκωδικοποίησης των ιδεατών διευθύνσεων RW X R RWX RW 67 Iδεατή σελίδα TροποποίησηΠροστασία Πλαίσιο σελίδας 6-17

18 3.3 Kατάτµηση µε χρήση ιδεατής µνήµης Σε συνδυασµό µε τη χρήση ιδεατής µνήµης, η τεχνική της κατάτµησης έχει µερικά πλεονεκτήµατα: Aπλοποιεί τη διαχείριση µεγάλων δοµών δεδοµένων γιατί µία τέτοια δοµή µπορεί να έχει το δικό της τµήµα το οποίο να µεγαλώνει δυναµικά στην περιφερειακή µνήµη. Bοηθάει την ξεχωριστή αλλαγή και µεταγλώττιση των µερών ενός προγράµµατος. Eπιτρέπει την κοινή χρήση κάποιων τµηµάτων (που αντιστοιχούν λ.χ. σε προγράµµατα συστήµατος). Bοηθάει στην ανάπτυξη µηχανισµών προστασίας στη χρήση των τµηµάτων µια και έχουν λογική οντότητα. Kάθε τµήµα µπορεί να έχει κάποια bits που να ορίζουν τι δικαιώµατα ή σε ποιούς δακτυλίους προστασίας (protection rings) ανήκει. Συνήθως η χρήση κατάτµησης γίνεται σε συνδυασµό µε σελιδοποίηση, δηλαδή ένα πρόγραµµα χωρίζεται σε τµήµατα, αλλά τα τµήµατα καθ εαυτά χωρίζονται σε σελίδες. Eπίσης µπορεί να γίνει και χρήση συσχετιστικής µνήµης. Kάθε διεύθυνση ιδεατής µνήµης τώρα έχει τη µορφή r=(s,p,d). Oι πιο συχνά χρησιµοποιούµενες σελίδες έχουν εγγραφές στη συσχετιστική µνήµη. Πρώτα γίνεται προσπέλαση στη συσχετιστική µνήµη για να βρεθεί το ζευγάρι (s,p). Aν βρεθεί, τότε προστίθεται στον αριθµό p του πλαισίου της σελίδας η µετατόπιση d για να υπολογισθεί η φυσική διεύθυνση r. Aλλιώς, η διεύθυνση µνήµης b του πίνακα τµηµάτων προστίθεται στον αριθµό s του τµήµατος για να βρεθεί η εγγραφή µε διεύθυνση b+s στον πίνακα τµηµάτων. Aπό εκεί βρίσκεται η διεύθυνση µνήµης s του πίνακα σελίδων ο οποίος αντιστοιχεί στο τµήµα s. H τιµή s +p δηλώνει τώρα την εγγραφή του πίνακα για τη σελίδα p στην οποία βρίσκεται ο αριθµός p του πλαισίου της σελίδας. 6-18

19 3.3 Kατάτµηση µε χρήση ιδεατής µνήµης (συνέχεια) ιεύθυνση b του πίνακα τµηµάτων b b+s 2 Aριθµός + s τµήµατος s 1 s,p Aριθµός σελίδας p Mετατόπιση d b Πίνακας τµηµάτων για τη διεργασία s p p' p' s s' Συσχετιστική µνήµη p p' p+s' Πίνακας σελίδων για το τµήµα s Aριθµός πλαισίου σελίδας p' Mετατόπιση d Φυσική διεύθυνση r 6-19

20 4. Στρατηγικές διαχείρισης ιδεατής µνήµης Oι στρατηγικές διαχείρισης της ιδεατής µνήµης εστιάζονται στα εξής σηµεία: Πολιτικές προσκόµισης σελίδας στην κύρια µνήµη (fetch policies). Πολιτικές τοποθέτησης σελίδας στην κύρια µνήµη (placement policies). Πολιτικές αντικατάστασης σελίδας (replacement policies). ιαχείριση των σελίδων που βρίσκονται στην κύρια µνήµη (resident set management). Πολιτικές αποµάκρυνσης σελίδας από την κύρια µνήµη (cleaning policies). Έλεγχος του αριθµού των διεργασιών που βρίσκονται στην κύρια µνήµη (load control). Έχει να κάνει περισσότερο µε χρονοπρογραµµατισµό και δεν θα ασχοληθούµε περισσότερο εδώ µε αυτό. Σκοπός όλων αυτών των πολιτικών είναι η µεγιστοποίηση της απόδοσης του συστήµατος που σε αυτή την περίπτωση σηµαίνει την ελαχιστοποίηση του αριθµού των σφαλµάτων σελίδας (page faults) που δηµιουργούνται. Kαι αυτό γιατί η αντιµετώπιση ενός σφάλµατος σελίδας είναι µία δαπανηρή σε χρόνο διαδικασία που αναγκάζει το Λ.Σ. µεταξύ άλλων να: αποφασίσει ποια σελίδα πρέπει να αποµακρυνθεί από την κύρια µνήµη, να εναλλάξει τη σελίδα αυτή µε τη σελίδα που πρέπει να φορτωθεί στην κύρια µνήµη, κατά τη διάρκεια της εναλλαγής αυτής (που είναι σχετικά αργή µια και ουσιαστικά είναι λειτουργίες E/E) να εναλλάξει την τρέχουσα διεργασία που εκτελείται µε άλλη (process switching), κάτι που έχει επιπρόσθετο κόστος. Σηµαντικό ρόλο στην απόδοση του συστήµατος παίζουν επίσης παράγοντες όπως το µέγεθος της κύριας µνήµης, η ταχύτητα προσπέλασης στην κύρια και περιφερειακή µνήµη, ο αριθµός και µέγεθος των διεργασιών που εκτελούνται ταυτόχρονα καθώς επίσης και η συµπεριφορά των εκτελούµενων προγραµµάτων. 6-20

21 4.1 Πολιτικές προσκόµισης σελίδας στην κύρια µνήµη Σκοπός τους είναι να αποφασίσουν για το ποιες σελίδες θα φορτωθούν στην κύρια µνήµη. Yπάρχουν δύο προσεγγίσεις: Mία σελίδα φορτώνεται στην κύρια µνήµη µόνο αν ζητηθεί. Aυτή η στρατηγική λέγεται απαίτηση σελιδοποίησης (demand paging) και βασίζεται στη λογική ότι µόλις αρχίσει να εκτελείται µία καινούργια διεργασία δηµιουργούνται στην αρχή πολλά σφάλµατα σελίδας αλλά µόλις φορτωθούν οι σελίδες που χρειάζονται, αυτά µειώνονται σηµαντικά. Φορτώνεται µία οµάδα από σελίδες πριν ζητηθούν. Aυτή η στρατηγική λέγεται προσελιδοποίηση (prepaging) και βασίζεται στο γεγονός ότι λόγω του τρόπου που λειτουργούν οι συσκευές αποθήκευσης, είναι πιο αποδοτικό να µεταφερθεί στην κύρια µνήµη µία οµάδα από σελίδες αποθηκευµένες συνεχόµενα, παρά µία µόνο σελίδα. Tο ποιες από αυτές τις σελίδες θα χρησιµοποιηθούν τελικά έχει να κάνει µε τη συµπεριφορά του προγράµµατος. Συνήθως η προσελιδοποίηση είναι αποτελεσµατική όταν το πρόγραµµα παρουσιάζει τοπικότητα στις αναφορές του (locality of reference). 4.2 Πολιτικές τοποθέτησης σελίδας στην κύρια µνήµη Σε συστήµατα που χρησιµοποιούν σελιδοποίηση το πρόβληµα αυτό δεν υπάρχει γιατί µία σελίδα µπορεί να φορτωθεί σε οποιοδήποτε µέρος της κύριας µνήµης. Mόνο σε συστήµατα που χρησιµοποιούν µόνο κατάτµηση πρέπει να χρησιµοποιηθεί κάποιος από τους αλγόριθµους τοποθέτησης. 6-21

22 4.3 Πολιτικές αντικατάστασης σελίδας Σκοπός των πολιτικών αντικατάστασης (replacement policies) είναι να επιλέξουν την πιο κατάλληλη σελίδα που πρέπει να αποµακρυνθεί από την κύρια µνήµη για να δηµιουργηθεί χώρος για να φορτωθεί κάποια άλλη σελίδα από την περιφερειακή µνήµη. O ορισµός της πιο κατάλληλης σελίδας δίνεται από την αρχή της βελτιστοποίησης (principle of optimality): η σελίδα που πρέπει να αντικατασταθεί είναι αυτή που δεν θα χρειασθεί στο µέλλον για το µεγαλύτερο χρονικό διάστηµα. Φυσικά µια και δεν µπορεί να προβλεφθεί το µέλλον οι αλγόριθµοι που ακολουθούν προσπαθούν να εκτιµήσουν κατά προσέγγιση ποια είναι η καλύτερη σελίδα. O αλγόριθµος της τυχαίας αντικατάστασης σελίδας (random page replacement algorithm) απλά διαλέγει τυχαία µία σελίδα. Έχει µικρό κόστος εκτέλεσης αλλά µπορεί κάλλιστα να διαλέξει για αντικατάσταση τη σελίδα που αµέσως µετά θα χρησιµοποιηθεί ξανά. Έτσι χρησιµοποιείται σπάνια. O αλγόριθµος της βέλτιστης αντικατάστασης σελίδας (optimal page replacement algorithm) εξετάζει τις εντολές του εκτελούµενου προγράµµατος και διαλέγει τη σελίδα εκείνη στην οποία θεωρεί ότι θα γίνει αναφορά όσο γίνεται πιο µακρυά στο µέλλον. Tο πρόβληµα είναι ότι δεν µπορούµε να ξέρουµε τη µελλοντική συµπεριφορά του προγράµµατος. Όµως ο αλγόριθµος µπορεί να χρησιµεύσει σαν µέσο σύγκρισης για τους υπόλοιπους. O αλγόριθµος αντικατάστασης της σελίδας που δεν χρησιµοποιήθηκε πρόσφατα (not recently used page replacement algorithm) επιλέγει τη σελίδα εκείνη στην οποία δεν έχει γίνει αναφορά για ένα συγκεκριµένο χρονικό διάστηµα (ένα κτύπο του ρολογιού, δηλαδή γύρω στα 20msec). O αλγόριθµος αυτός είναι εύκολα κατανοητός, έχει καλές επιδόσεις και υλοποιείται εύκολα µε απλή αναφορά στα bits εκείνα του πίνακα σελίδων που δείχνουν αν έχει γίνει αναφορά ή τροποποίηση σε µια σελίδα. 6-22

23 4.3 Πολιτικές αντικατάστασης σελίδας (συνέχεια) O αλγόριθµος αντικατάστασης της λιγότερο πρόσφατα χρησιµοποιούµενης σελίδας (least recently used page replacement algorithm) επιλέγει τη σελίδα εκείνη στην οποία δεν έχει γίνει αναφορά για το µεγαλύτερο χρονικό διάστηµα. Mε βάση το φαινόµενο της τοπικότητας της αναφοράς, οι πιθανότητες η σελίδα αυτή να χρειασθεί στο εγγύς µέλλον είναι µικρές. O αλγόριθµος αυτός έχει καλές επιδόσεις αλλά είναι πολυέξοδος στην υλοποίηση γιατί χρειάζεται να καταγράφεται ο χρόνος που έγινε αναφορά σε µια σελίδα κάθε φορά που χρησιµοποιείται για ανάγνωση ή/και τροποποίηση. O αλγόριθµος αντικατάστασης σελίδας πρώτη µέσα πρώτη έξω (first in first out page replacement algorithm) διαλέγει για αντικατάσταση τη σελίδα εκείνη που έχει µείνει για µεγαλύτερο χρονικό διάστηµα στην κύρια µνήµη. Bασίζεται στη λογική ότι οι πιθανότητες η σελίδα αυτή να συνεχίσει να είναι χρήσιµη είναι µικρές. Eίναι απλός στην υλοποίηση (χρειάζεται µόνο µία κυκλική ουρά) αλλά η λογική στην οποία βασίζεται δεν είναι συχνά σωστή και έτσι έχει κακή απόδοση. O αλγόριθµος αντικατάστασης σελίδων δεύτερης ευκαιρίας (second chance page replacement algorithm) µπορεί να χαρακτηρισθεί σαν συνδυασµός των δύο τελευταίων. H σελίδα που βρίσκεται πρώτη για αποµάκρυνση της δίνεται µία δεύτερη ευκαιρία µε την αλλαγή της τιµής ενός bit από 1 σε 0 και την τοποθέτησή της στο τέλος της ουράς. Aν βρεθεί ξανά στην κορυφή της ουράς και το bit εξακολουθεί να έχει τιµή 0 τότε αποµακρύνεται. Aν εν τω µεταξύ έχει χρησιµοποιηθεί, τότε αλλάζει η τιµή του bit σε 1 και δεν αντικαθίσταται. Aν και είναι λογικός αλγόριθµος, οδηγεί σε συνεχή µετακίνηση σελίδων γύρω από τη λίστα και δεν είναι ιδιαίτερα αποδοτικός. O αλγόριθµος του ρολογιού για αντικατάσταση σελίδων (clock page replacement algorithm) είναι µία παραλλαγή του προηγούµενου. Aντί να µετακινούνται οι ίδιες οι σελίδες, υπάρχει ένας δείκτης που ψάχνει να βρεί τη σελίδα εκείνη που έχει τιµή bit 0. Mια και η µετακίνηση του δείκτη είναι λιγότερο δαπανηρή από αυτή των σελίδων, ο αλγόριθµος αυτός είναι πιο αποδοτικός (ο δείκτης συµπεριφέρεται σαν αυτόν ενός ρολογιού). 6-23

24 4.4 Tο παράδοξο του Belady Aν και διαισθητικά φαίνεται ότι όσα περισσότερα πλαίσια σελίδας βρίσκονται στην κύρια µνήµη τόσο λιγότερα σφάλµατα σελίδας θα δηµιουργούνται, εν τούτοις µε τον αλγόριθµο FIFO ανακαλύφθηκε από τον Belady (1969) ότι µερικές φορές περισσότερα πλαίσια δηµιουργούν περισσότερα σφάλµατα! Στο ακόλουθο παράδειγµα βλέπουµε τη συµπεριφορά 5 ιδεατών σελίδων (0 έως 4) µε 3 και 4 πλαίσια σελίδας αντίστοιχα όπου οι αναφορές στις σελίδες γίνονται µε την ακόλουθη σειρά: 0, 1, 2, 3, 0, 1, 4, 0, 1, 2, 3, P P P P P P P P P P P P P P P P P P P Παρατηρούµε ότι µε 4 πλαίσια έχουµε συνολικά 10 σφάλµατα σελίδας ενώ µε 3 πλαίσια µόνο

25 4.5 ιαχείριση των σελίδων που βρίσκονται στην κύρια µνήµη Aυτός ο µηχανισµός διαχείρισης της ιδεατής µνήµης εστιάζεται στα εξής σηµεία: Tρόποι επιµερισµού των πλαισίων σελίδας σε διεργασίες και συγκεκριµένα πόσα πλαίσια σελίδας θα δοθούν σε κάθε διεργασία. Aν δοθούν λίγα πλαίσια, τότε µπορούν να εξυπηρετηθούν περισσότερες διεργασίες αλλά αυξάνει ταυτόχρονα και η συχνότητα δηµιουργίας σφάλµατος σελίδας. Yπάρχουν δύο προσεγγίσεις: αυτή της σταθερής κατανοµής (fixed allocation) που κρατάει σταθερό τον αριθµό των πλαισίων που χορηγούνται σε µία διεργασία και αυτή της µεταβλητής κατανοµής (variable allocation) που επιτρέπει δυναµικά την αύξηση του αριθµού των πλαισίων κάποιας διεργασίας, κυρίως αυτών που δηµιουργούν πολλά σφάλµατα σελίδας. Tο διαχωρισµό του µηχανισµού αντικατάστασης σελίδας σε τοπικό (local replacement policy) όπου εξετάζονται µόνο οι σελίδες εκείνες της διεργασίας που δηµιούργησαν το σφάλµα σελίδας και σε ολικό (global replacement policy) που εξετάζει όλες τις σελίδες που βρίσκονται στην κύρια µνήµη. Eδώ γίνεται συνήθως συνδυασµός µε τον τρόπο επιµερισµού των πλαισίων που οδηγούν σε 3 δυνατούς συνδυασµούς: σταθερή κατανοµή µε τοπική αντικατάσταση, µεταβλητή κατανοµή µε ολική αντικατάσταση, µεταβλητή κατανοµή µε τοπική αντικατάσταση. Tο πρόβληµα µε τη δεύτερη προσέγγιση είναι ότι η σελίδα που θα αντικατασταθεί µπορεί να ανήκει σε οποιαδήποτε διεργασία η οποία τελικά τυχόν να αδικηθεί αν τις αφαιρεθούν από την κύρια µνήµη πολλές σελίδες. H τρίτη προσέγγιση προσπαθεί να λύσει το πρόβληµα αυτό µε περιορισµό της αντικατάστασης µεταξύ των σελίδων που ανήκουν στη διεργασία αλλά περιοδική επανεξέταση της συµπεριφοράς κάθε διεργασίας έτσι ώστε να εκτιµηθεί αν χρειάζεται να γίνει ανακατανοµή στον αριθµό των πλαισίων που ανήκουν σε κάθε διεργασία. 6-25

26 4.5 ιαχείριση των σελίδων που βρίσκονται στην κύρια µνήµη (συνέχεια) Eδώ γίνεται χρήση του λεγόµενου µοντέλου συνόλου εργασίας (working set model) που προσπαθεί να υπολογίσει το µέγεθος της µνήµης που πρέπει να έχει κάθε διεργασία για να εκτελεσθεί χωρίς να δηµιουργήσει πολλά σφάλµατα σελίδας. Συνδυάζεται η χρήση του µε αυτή του αλγόριθµου συχνότητας λάθους σελίδας (page fault frequency) που ποσπαθεί να εντοπίσει τις διεργασίες εκείνες που δηµιουργούν ένα απαράδεκτα υψηλό αριθµό σφαλµάτων σελίδων και ή να τις αποµακρύνει προσωρινά από την κύρια µνήµη ή να τις εφοδιάσει µε περισσότερα πλαίσια σελίδας. 4.6 Πολιτικές αποµάκρυνσης σελίδας από την κύρια µνήµη Oι πολιτικές αυτές αποφασίζουν για το πότε µία σελίδα που έχει υποστεί τροποποίηση θα γραφεί στην περιφερειακή µνήµη: H προσέγγιση της αποµάκρυνσης µετά από απαίτηση (demand cleaning policy) ενηµερώνει το αντίγραφο της σελίδας στην περιφερειακή µνήµη µόνο όταν πρέπει να αποµακρυνθεί η σελίδα αυτή από την κύρια µνήµη. H προσέγγιση της προαποµάκρυνσης (precleaning policy) ενηµερώνει το αντίγραφο µίας σελίδας στην περιφερειακή µνήµη πριν χρειασθεί κάποια διεργασία το αντίστοιχο πλαίσιο. Aυτό επιτρέπει τη µεταφορά σελίδων στην περιφερειακή µνήµη κατά οµάδες αλλά η ενηµέρωση των αντίστοιχων αντιγράφων τους µπορεί να καταστεί άχρηστη αν εν τω µεταξύ οι σελίδες αυτές τροποποιηθούν. H προηγούµενη µέθοδος δεν έχει αυτό το πρόβληµα αλλά η αντιµετώπιση ενός σφάλµατος σελίδας παίρνει περισσότερο χρόνο. 6-26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

ENOTHTA 5 XPONO POMOΛOΓHΣH ENOTHTA 5 Περιεχόµενα 1. Xρονοδροµολόγηση 2. Eίδη χρονοδροµολόγησης 3. Στόχοι και κριτήρια της χρονοδροµολόγησης 4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης 5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου Ασκήσεις Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bit και υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

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

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA ENOTHTA 9 Περιεχόµενα 1. Aσφάλεια vs Προστασία 2. Aσφάλεια 3. Προϋποθέσεις για ύπαρξη ασφάλειας 4. Eίδη απειλών 5. Σχεδιαστικές αρχές για ασφάλεια 6. Mηχανισµοί προστασίας 9-1 1. Aσφάλεια vs Προστασία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ιαχείριση Μνήµης Κεφάλαιο 7 Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi ιαχείριση Μνήµης Κεφάλαιο 7 ιαχείριση Μνήµης ιαµέριση µνήµης για την υποστήριξη πολλαπλών διεργασιών Η µνήµη πρέπει να διαχωρίζεται αποδοτικά για να µπορούν να χωρέσουν περισσότερες διεργασίες Απαιτήσεις

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

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

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

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

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

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

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

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

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

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

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

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

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

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ

ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ ENOTHTA 2 Περιεχόµενα 1. Aνάγκη για ύπαρξη διεργασιών 2. Kαταστάσεις διεργασιών 3. Aναπαράσταση των διεργασιών στο Λειτουργικό Σύστηµα 4. Έ λεγχος διεργασιών 5. Eκτέλεση του Λειτουργικού Συστήµατος 6.

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

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

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

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

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

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

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

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

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

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

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ Περιεχόµενα 1. Συσκευές εισόδου/εξόδου 2. Aπευθείας προσπέλαση µνήµης 3. Pόλος του Λειτουργικού Συστήµατος στη διαχείριση των συσκευών E/E 4. ιαχείριση δίσκου

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

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

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019 Σχεδίαση Γλωσσών Προγραμματισμού Εαρινό Εξάμηνο 2018-2019 Lec03 18/02/2019 Γλώσσες με δομή Block Γλώσσες με δομή Block Απλό μοντέλο Μηχανής Εκτέλεσης Διαχείριση Μνήμης Εμβέλεια και διάρκεια ζωής Εμβέλεια

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

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

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty) Ιδεατή Μνήμη Άσκηση 1: Ένας υπολογιστής έχει τέσσερα πλαίσια σελίδων. Οι χρονικές στιγμές φόρτωσης, τελευταίας προσπέλασης, ο αριθμός αναφορών και τα bit αναφοράς (R) και μεταβολής (M ή dirty ) φαίνονται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός

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

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

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

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

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

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

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

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

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