Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών Το εκπαιδευτικό υλικό που ακολουθεί αναπτύχθηκε στα πλαίσια του έργου «Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών», του Μέτρου «Εισαγωγή και Αξιοποίηση των νέων Τεχνολογιών στην Εκπαίδευση» του Επιχειρησιακού Προγράµµατος Κοινωνία της Πληροφορίας
Λειτουργικά Συστήµατα ΙΙ Το εκπαιδευτικό υλικό βασίζεται στο εγκεκριµένο από το Τµήµα Πληροφορικής & Επικοινωνιών περίγραµµα τουµαθήµατος «Λειτουργικά Συστήµατα ΙΙ» Συντάκτης: Σπυρίδων Καζαρλής Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Η µνήµη RAM ενός Η/Υ αποτελείται από Ν διαδοχικές (words) των 8, 6,, 64, bits. Kάθε λέξη µνήµης έχει την δική της διεύθυνση την οποία ησιµοποιούν τα προγράµµατα. Λέξη Ν Λέξη Ν Λέξη Λέξη Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας Μέγεθος Ν RAM Το σύνολο των Ν διευθύνσεων ονοµάζεται Λέξη χώρος φυσικών διευθύνσεων (physical address space) ή χώρος απόλυτων διευθύνσεων (absolute address space) ή χώρος πραγµατικών διευθύνσεων (real address space). Πρόβληµα : Αν υπάρχουν δύο διεργασίες δ, δ που ησιµοποιούν την ίδια περιοχή µνήµης (π.χ. ). Πρόβληµα : Αν ο χώρος µνήµης που απαιτούν συνολικά οι εκτελούµενες διεργασίες είναι µεγαλύτερος από τον χώρο πραγµατικών διευθύνσεων.
Τα Λ.Σ. εφαρµόζουν την λύση των εικονικών διευθύνσεων (Virtual Address Space ή Virtual Memory) : Κάθε πρόγραµµα εκτελείται σαν να έχει όλη την φυσική µνήµη διαθέσιµη. Οι διευθύνσεις µνήµης που ησιµοποιούν τα προγράµµατα δεν είναι πραγµατικές αλλά εικονικές. Το Λ.Σ. γνωρίζοντας ποιά τµήµατα φυσικής µνήµης είναι ελεύθερα, απεικονίζει τις εικονικές διευθύνσεις σε πραγµατικές και τοποθετεί εκεί τα προγράµµατα και τα δεδοµένα τους ώστε να εκτελεστούν. Κάθε φορά που «τρέχει» ένα πρόγραµµα φορτώνεται συνήθως σε διαφορετική περιοχή φυσικής µνήµης αλλά εκτελείται κανονικά. Σε κάθε προσπέλαση µνήµης από τις διεργασίες, παρεµβαίνει το Λ.Σ. και µεταφράζει τις αρχικές «εικονικές» διευθύνσεις σε πραγµατικές. Οι µεταφράσεις εικονικών διευθύνσεων σε πραγµατικές καταναλώνουν επιπλέον όνο κατά την εκτέλεση των προγραµµάτων. Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 4
Εικονική Μνήµη 49 79 5 99 99 Data Data Απεικόνιση εικονικών 49 στις φυσικές 79 Απεικόνιση εικονικών 579 στις φυσικές 9 Απεικόνιση εικονικών 99 στις φυσικές 99 Φυσική Μνήµη 79 Data 9 99 Data 99 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 5
Η εικονική µνήµη µπορεί να είναι αρκετά µεγαλύτερη από την φυσική µνήµη. Τµήµατα της εικονικής µνήµης που δεν «χωρούν» στη φυσική µνήµη φυλάσσονται σε µονάδες αποθήκευσης (σκληρός δίσκος). Όταν ζητείται από µία διεργασία να λαστεί τµήµατης εικονικής µνήµης που βρίσκεται στον δίσκο, τότε το τµήµα αυτό εναλάσσεται µε κάποιο άλλο που ήδη βρίσκεται στην φυσική µνήµη και ακολούθως γίνεται η προσπέλαση. Η συνολική διαχείριση της µνήµης γίνεται από τµήµατου Λ.Σ. που ονοµάζεται ιαχειριστής Μνήµης (Memory Manager). Εκτός των εναλλαγών οι ιαχειριστές Μνήµης µπορούν να µετακινούν δυναµικά διάφορα τµήµατα µνήµης (memory relocation) έτσι ώστε να διευκολύνουν την φόρτωση µεγάλων προγραµµάτων (συµπίεση µνήµης). Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 6
ευτερεύουσα Μνήµη ( ίσκος) Εικονική Λέξη Μ Εικονική Λέξη Μ Εικονική Λέξη Μ. Εικονική Λέξη Εικονική Λέξη Εικονική Λέξη Εικονική Λέξη Αποθ. Λέξη Κ Αποθ. Λέξη Φυσική Λέξη Ν Φυσική Λέξη Φυσική Λέξη Χώρος Εικονικών ιευθύνσεων Χώρος Πραγµατικών ιευθύνσεων Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 7
. Σελιδοποίηση Μνήµης (Paging).. Κατάτµηση Μνήµης (Segmentation).. Κατατµηµένη Σελιδοποίηση (Segmented Paging). Σελιδοποίηση : Η εικονική µνήµη διαιρείται σε ισοµεγέθη τµήµατα που ονοµάζονται ίδες (pages). Ηφυσικήµνήµη διαιρείται σε ισοµεγέθη τµήµατα που ονοµάζονται ητες ή πλαίσια (blocks, frames). Το µέγεθος ητας είναι ίδιο µε τοµέγεθος ίδας. Κάθε ίδα εικονικής µνήµης αντιστοιχίζεται σε µία ητα φυσικής µνήµης. Το Λ.Σ. κρατά έναν πίνακα αντιστοίχισης ίδωνενοτήτων. Για την αντιστοίχιση µίας οποιασδήποτε διεύθυνσης το Λ.Σ. πρώτα βρίσκει την ίδα στην οποία περιέχεται και στη συνέχεια µε βάση τον πίνακα βρίσκει την αντίστοιχη ητα φυσικής µνήµης. Η σχετική θέση της φυσικής διεύθυνσης µέσα στην ητα (offset) είναι ίδια µε την θέση της εικονικής διεύθυνσης µέσα στην ίδα. Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 8
Εικονικός Χώρος Πραγµατικός Χώρος Πίνακας Αντιστοίχισης Σελίδων Σελίδα Ενότητα Σελίδα Ενότητα Σελίδα Ενότητα Σελίδα Σελίδα Ενότητα Σελίδα Ενότητα Σελίδα Ενότητα Σελίδα Σελίδα 4 Σελίδα 4 Ενότητα Σελίδα 5 Σελίδα 5 Ενότητα Σελίδα 6 Σελίδα Ενότητα Σελίδα 6 99 99 5 5 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 9
Σε Λ.Σ. που εφαρµόζουν ιδοποίηση κάθε διεύθυνση µνήµης αποτελείται από δύο συστατικά :. Αριθµός ίδας (segment).. Σχετική θέση µέσα στη ίδα (offset). Παραδείγµατα : (:ΑF), (:), (:FFFF), (FFFF:FFFF) Κατά την αντιστοίχιση εικονικής διεύθυνσης σε φυσική αλλάζει µόνοοαριθµός ίδας. Η σχετική θέση είναι η ίδια. Υλοποίηση αλλαγής µε segment registers. Μειονεκτήµατα :. Η ανάγνωση του πίνακα ίδων εισάγει καθυστέρηση στην εκτέλεση των διεργασιών.. Αν µία διεργασία ειάζεται.5 ίδες µνήµης δεδοµένα τότε υποεωτικά της παραχωρούνται. Εσωτερικός κατακερµατισµός (internal fragmentation), εξαρτώµενος από το µέγεθος ίδας. Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Associative memory µνήµη λίγων καταχωρήσεων του πίνακα ίδων ενσωµατωµένη στο υλικό (memory controller). Σε κάθε αναφορά εικονικής µνήµης ελέγχονται παράλληλα οι καταχωρήσεις και αν βρεθεί, εξάγεται απευθείας η ητα. Αν δεν βρεθεί, τότε µία εγγραφή αντικαθίσταται από την σωστή του πίνακα ίδων. Ποσοστό επιτυχίας (hit ratio) Έγκυρη Ιδεατή Σελίδα Τροποποίηση Προστασία Ενότητα 4 RW 4 8 RX 57 RW 8 4 RW 7 4 RX 4 5 RX 6 865 RW 55 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Η µνήµη διαιρείται σε τµήµατα µεταβλητού µεγέθους που µπορεί να αλλάζουν δυναµικά, να αποφευχθεί ο κατακερµατισµός. Μία διεργασία µπορεί να απασχολεί Εικονικός πολλά τµήµατα που µπορεί να Χώρος RAM βρίσκονται στην κύρια µνήµη ήστο Α δίσκο (code segment, data segment, stack segment κ.λ.π.). Α Για κάθε τµήµα τολ.σ. κρατά διεύθυνση βάσης µέγεθος παρουσία στην Β Β κύρια µνήµη αρχή στην κύρια µνήµη. Οι πληροφορίες κατάτµησης Λ.Σ. κρατώνται στον Πίνακα Τµηµάτων Γ (segment table). Συνεχόµενες διευθύνσεις εικονικής Γ µνήµης αντιστοιχίζονται σε συνεχό µενες διευθύνσεις φυσικής µνήµης. Λ.Σ. εν υποστηρίζεται άµεσα από το h/w. HDD Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Η µνήµη διαιρείται σε τµήµατα µεταβλητού µεγέθους που µπορεί να αλλάζουν δυναµικά, αλλά κάθε τµήµα χωρίζεται σε ίδες σταθερού µεγέθους. Kάθε τµήµα έχει δικό της Πίνακα Σελίδων. Συνεχόµενες ίδες εικονικής µνήµης µπορούν να απεικονίζονται σε µή συνεχόµενες ητες φυσικής µνήµης. Kάθε διεύθυνση αποτελείται από τρία πεδία : αριθµός τµήµατος, αριθµός ίδας, µετατόπιση. Επιλύει προβλήµατα τόσο της Σελιδοποίησης όσο και της Κατάτµησης αλλά µε αυξηµένη πολυπλοκότητα. Ευελιξία και ταχύτητα λόγω της υποστήριξης των ίδων από το h/w Μειονέκτηµα λόγω πολλών πινάκων οργάνωσης µνήµης. Χρησιµοποιήθηκε στον IBM 6. Εικονικός Χώρος Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας Α Β Γ Λ.Σ. RAM Α Β Λ.Σ. Γ HDD
Προβλήµατα που τίθενται στον ιαχειριστή Εικονικής Μνήµης.Πότε πρέπει να γίνει µεταφορά δεδοµένων από τον δίσκο στην κύρια µνήµη..ποιά δεδοµένα θα αντικατασταθούν στην κύρια µνήµηκαιθα επιστρέψουν στον δίσκο..σε ποιές διευθύνσεις φυσικής µνήµης θα τοποθετηθούν νέα δεδοµένα. Τα δύο πρώτα προβλήµατα αφορούν συστήµατα ιδοποίησης και κατάτµησης, ενώ το τρίτο αφορά συστήµατα κατάτµησης, όπου πρέπει να βρίσκεται το κατάλληλο κάθε φορά τµήµα µνήµης που θα χωρέσει τα νέα δεδοµένα. Μεταφορά Σελίδων : η µεταφορά από την αρχή στην µνήµη όλων των ίδων που θα ειαστεί κάθε διεργασία κρίνεται ασύµφορη λόγω χώρου ή και αδύνατη σε περίπτωση πολλών διεργασιών. ύο τεχνικές :.Σελιδοποίηση µε αίτηση(demand paging)..σελιδοποίηση µεπρόβλεψη(anticipatory paging). Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 4
Μεταφορά Σελίδων µε αίτηση(demand paging) : Μία ίδα µεταφέρεται στην κύρια µνήµη όταν ζητηθεί η προσπέλαση διεύθυνσης που περιέχεται µέσα σε αυτήν. Μεταφέρονται µόνο οι ίδες που είναι απαραίτητες. Μία διεργασία πρέπει να περιµένει µέι να µεταφερθεί η ίδα που ζήτησε, από τον δίσκο στη µνήµη. Μεταφορά Σελίδων µε πρόβλεψη(anticipatory paging) : το Λ.Σ. προβλέπει ποιές ίδες θα ειαστεί βραχυπρόθεσµα µία διεργασία και τις φορτώνει όλες στη µνήµη. Η διεργασίαδεν ειάζεται να περιµένει να λάσει µία διεύθυνση. Είναι όµως πιθανόν να φορτωθούν και ίδες που τελικά δεν θα ησιµοποιηθούν. Συνήθως ησιµοποιείται ιδοποίηση µε αίτησηλόγω απλότητας. Η σωστή πρόβλεψη ίδων συνήθως είναι δύσκολη διαδικασία. Κριτήριο καλύτερης τεχνικής είναι ο µικρότερος αριθµός µεταφορών ίδων από τον δίσκο στην κύρια µνήµη σε συνδυασµό µε την καλύτερη αξιοποίηση της µνήµης (µικρότερος αριθµός µήησιµοποιούµενων ίδων). Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 5
Όταν το Λ.Σ. αποφασίσει να µεταφέρει µία ίδα από το δίσκο στη µνήµη θα πρέπει να επιλέξει ποιά ίδα θα αντικαταστήσει. Θα πρέπει να επιλέγεται η ίδα που έχει την µικρότερη πιθανότητα να ησιµοποιηθεί σύντοµα, έτσι ώστε να ελαχιστοποιείται ο αριθµός µεταφορών ίδων. Αντικατάσταση µε βάση το όνο παραµονής (First In First Out FIFO) : επιλέγεται αντικατάσταση η ίδα που βρίσκεται στη µνήµη τοµεγαλύτερο διάστηµαόνου(η παλαιότερη). Σε κάθε µεταφορά ίδας η ίδα µαρκάρεται µε τον τρέχοντα όνο του συστήµατος. Παλαιότερη είναι η ίδα που είναι µαρκαρισµένη µε τονµικρότερο όνο. Παράδειγµα : σε έναν Η/Υ ηµνήµη έχειµέγεθος 4 ητες και η µοναδική διεργασία που εκτελείται απαιτεί συνολικά 7 ίδες µνήµης (α..). Η σειρά ζήτησης ίδων από τη διεργασία είναι : α, α,,, α, α, α, α,, α,. Τις πρώτες 4 ονικές στιγµέςφορτώνονταιοιίδεςα, α,, και. Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 6
την ον. στιγµή 4 ιηα, που ήδη υπάρχει α α α α την ον. στιγµή 5 ιηα, που αντικαθι στά την α α α α α 5 την ον. στιγµή 6 ιηα, που αντικαθι στά την α α α α α 6 5 την ον. στιγµή 7 ιηα, που αντικαθι στά την α α α α 6 5 7 την ον. στιγµή 8 ιη, που αντικαθι στά την α α α α 6 5 7 8 την ον. στιγµή 9 ιηα, που ήδη υπάρχει α α α α 6 5 7 8 την ον. στιγµή ιη, που αντικαθι στά την α α α α α 6 5 7 8 Για τις λάσεις ίδων έγιναν 5 αντικατ αστάσει ς α 6 α α α 7 8 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 7
Αντικατάσταση µε βάση το όνο τελευταίας προσπέλασης (Least Recently Used LRU) : επιλέγεται αντικατάσταση η ίδα που έχει τον περισσότερο όνο να λαστεί (η ίδα µε την παλαιότερη τελευταία προσπέλαση). Σε κάθε προσπέλαση ίδας η ίδα µαρκάρεται µε τον τρέχοντα όνο του συστήµατος. Όταν ειάζεται να επιλεγεί η ίδα µε τηνπαλαιότερη προσπέλαση επιλέγεται αυτή που είναι µαρκαρισµένη µε τον µικρότερο όνο. Βασίζεται στην υπόθεση οτι η ίδα που έχει την περισσότερη ώρα να λαστεί έχει και την µικρότερη πιθανότητα να λαστεί ξανά σύντοµα. Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 8
τη ον. στιγµή 4 ιηα, που ήδη υπάρχει και ση µειώνετ αι µε το όνο α α α α 4 την ον. στιγµή 5 ιηα, που αντικαθι στά την α α α α α 5 4 την ον. στιγµή 6 ιηα, που αντικαθι στά την α α α α 6 5 4 την ον. στιγµή 7 ιηα, που αντικαθι στά την α α α α 6 5 4 7 την ον. στιγµή 8 ιη, που αντικαθι στά την α α α α α 6 5 4 7 8 την ον την στιγµή 9 α 9 ον. α 9 στιγµή α 5 ι α 5 ηα, α α που ήδη α 7 υπάρχει ιη, α 7 και ση 8 που 8 µειώνετα αντικαθι ι µε το στά την όνο α Για τις λάσεις ίδων έγιναν 5 αντικατ αστάσει ς α 9 α α α 7 8 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας 9
Σε συστήµατα ιδοποίησης απλά επιλέγεται η πρώτη ελεύθερη ητα στη φυσική µνήµη να φιλοξενήσει κάθε µεταφερόµενη ίδα εικονικής µνήµης (όλες οι ητες είναι ίδιου µεγέθους). Σε συστήµατα κατάτµησης τα ελεύθερα τµήµατα έχουν διαφορετικά µεγέθη και πρέπει να βρίσκεται το κατάλληλο κάθε φορά. Κριτήρια :. Γρήγορη αναζήτηση κατάλληλου τµήµατος.. Βέλτιστη εκµετάλλευση των κενών χώρων (ελαχιστοποίηση της παρεµπόδισης τοποθέτησης επόµενων τµηµάτων). Τρείς στρατηγικές :. Στρατηγική του πρώτου ταιριάσµατος (first fit).. Στρατηγική του καλύτερου ταιριάσµατος (best fit).. Στρατηγική του χειρότερου ταιριάσµατος (worst fit). Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Σαρώνεται ο πίνακας τµηµάτων έως ότου βρεθεί το πρώτο ελεύθερο τµήµα που να χωρά το µεταφερόµενο τµήµα εικονικής µνήµης. Ηστρατηγικήαυτήδίνειέµφαση στην ταχύτητα και όχι στην βέλτιστη εκµετάλλευση της ελεύθερης µνήµης. Παράδειγµα: σε έναν Η/Υ υπάρχουν αρχικά δύο ελεύθερα τµήµατα φυσικής µνήµης και 6 λέξεων. Ζητούνται διαδοχικά 4 τµήµατα µνήµης µε µεγέθη, 4, και λέξεων. 6 6 9 4 6 5 5 6 4 6 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας?
Εξετάζονται διεξοδικά όλα τα ελεύθερα τµήµατα και επιλέγεται το µικρότερο που να χωρά όµως το τµήµα εικονικής µνήµης. Ηστρατηγικήαυτήδίνειέµφαση στην κάλυψη τµηµάτων φυσικής µνήµης µε τηνµικρότερη δυνατή φύρα και όχι στην ταχύτητα. Αργή στρατηγική και συνήθως δηµιουργεί πολύ µικρά ελεύθερα τµήµατα που δεν µπορούν να αξιοποιηθούν. 6 5 4 5 6 6 Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας
Εξετάζονται διεξοδικά όλα τα ελεύθερα τµήµατα και επιλέγεται το µεγαλύτερο τµήµα, εφόσον βέβαια χωράει το τµήµα εικονικής µνήµης. Ηστρατηγικήαυτήδίνειέµφαση στην κάλυψη χώρου µνήµης αφήνοντας µεγάλα κατά το δυνατόν ελεύθερα τµήµατα ώστε να διευκολύνεται η επόµενη τοποθέτηση. Αργή στρατηγική που µπορεί να είναι καλύτερη από τις άλλες σε µερικές περιπτώσεις στην εκµετάλλευση χώρου. 6 6 9 4 6 5 5 5 5 5? Προηγµένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών, Μέτρο.., Κοινωνία της Πληροφορίας