ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ
ελιδοποίθςθ (1/10) Σόςο θ κατάτμθςθ διαμεριςμάτων ςτακεροφ μεγζκουσ όςο και θ κατάτμθςθ διαμεριςμάτων μεταβλθτοφ και άνιςου μεγζκουσ δεν κάνουν αποτελεςματικι χριςθ τθσ μνιμθσ Η πρϊτθ ζχει ωσ αποτζλεςμα τον εςωτερικό κατακερματιςμό και θ δεφτερθ τον εξωτερικό
ελιδοποίθςθ (2/10) Ασ υποκζςουμε ότι: Η κφρια μνιμθ είναι χωριςμζνθ ςε τμιματα ίςου και ςτακεροφ μεγζκουσ, που είναι ςχετικά μικρά Κάκε διεργαςία χωρίηεται επίςθσ ςε μικρά και ςτακεροφ μεγζκουσ τμιματα που ζχουν το ίδιο μζγεκοσ τθ ςυνζχεια τα τμιματα μιασ διεργαςίασ, τα οποία ονομάηονται σελίδες, μποροφν να ανατεκοφν ςε διακζςιμα κομμάτια μνιμθσ, τα οποία ονομάηονται πλαίσια ι πλαίσια σελίδας
ελιδοποίθςθ (3/10) Ερϊτθςθ: τθν προαναφερόμενθ περίπτωςθ, κα υπάρξει ςπατάλθ μνιμθσ; Θα υπάρξει κατακερματιςμόσ; Εςωτερικόσ ι εξωτερικόσ;
ελιδοποίθςθ (4/10) Σο ςχιμα απεικονίηει τθ χριςθ των ςελίδων και των πλαιςίων ε μια δεδομζνθ χρονικι ςτιγμι, κάποια από τα πλαίςια ςτθ μνιμθ χρθςιμοποιοφνται και κάποια άλλα είναι ελεφκερα Μια λίςτα ελευκζρων πλαιςίων διατθρείται από το Λ Πθγι: Stallings, W. (2017). Λειτουργικά Συστήματα: Αρχζς Σχεδίασης. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ: 429
ελιδοποίθςθ (5/10) Η διεργαςία Α αποτελείται από 4 ςελίδεσ Όταν είναι ϊρα να φορτωκεί αυτι θ διεργαςία, το Λ βρίςκει 4 ελεφκερα πλαίςια και φορτϊνει τισ 4 ςελίδεσ τθσ διεργαςίασ Α ςτα 4 πλαίςια (Β) Η διεργαςία Β, που αποτελείται από 3 ςελίδεσ και θ διεργαςία Γ, που αποτελείται από 4 ςελίδεσ, φορτϊνονται μετά τθ ςυνζχεια θ διεργαςία Β αναςτζλλεται και εκτοπίηεται από τθν κφρια μνιμθ (Ε) Πθγι: Stallings, W. (2017). Λειτουργικά Συστήματα: Αρχζς Σχεδίασης. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ: 429
ελιδοποίθςθ (6/10) Αργότερα, όλεσ οι διεργαςίεσ ςτθν κφρια μνιμθ αναςτζλλονται και το Λ πρζπει να ειςάγει μια νζα διεργαςία, τθ διεργαςία Δ, θ οποία αποτελείται από 5 ςελίδεσ Ασ υποκζςουμε ότι δεν υπάρχουν αρκετά αχρθςιμοποίθτα πλαίςια για να κρατιςουν τθ διεργαςία Η υπόκεςθ αυτι δεν εμποδίηει το Λ να φορτϊςει τθ Δ, γιατί χρθςιμοποιείται θ ιδζα τθσ λογικισ διεφκυνςθσ το Λ διατθρεί ζνα πίνακα ςελίδων για κάκε διεργαςία Ο πίνακασ ςελίδων δείχνει τθ κζςθ πλαιςίου κάκε ςελίδασ τθσ διεργαςίασ Οι 5 ςελίδεσ τθσ διεργαςίασ Δ φορτϊνονται ςτα πλαίςια 4,5,6,11 και 12 (Σ) Πθγι: Stallings, W. (2017). Λειτουργικά Συστήματα: Αρχζς Σχεδίασης. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ: 429
ελιδοποίθςθ (7/10) Μζςα ςτο πρόγραμμα, κάκε λογικι διεφκυνςθ αποτελείται από ζναν αρικμό ςελίδασ και μια απόκλιςθ εντόσ τθσ ςελίδασ τθν περίπτωςθ τθσ απλισ κατάτμθςθσ, μια λογικι διεφκυνςθ είναι θ κζςθ μιασ λζξθσ ςε ςχζςθ με τθν αρχι του προγράμματοσ ο επεξεργαςτισ τθ μεταφράηει ςε φυςικι διεφκυνςθ Με τθ ςελιδοποίθςθ, θ μετάφραςθ από τθ λογικι ςτθ φυςικι διεφκυνςθ εξακολουκεί να γίνεται από το υλικό του επεξεργαςτι Ο επεξεργαςτισ χρθςιμοποιεί τον πίνακα ςελίδων για να παράγει τθ φυςικι διεφκυνςθ, που αντιςτοιχεί ςε μια λογικι διεφκυνςθ
ελιδοποίθςθ (8/10) Ζνασ πίνακασ ςελίδων περιζχει μια εγγραφι για κάκε ςελίδα τθσ διεργαςίασ, ζτςι ϊςτε ο πίνακασ να είναι εφκολο να δεικτοδοτθκεί από τον αρικμό ςελίδασ (ξεκινϊντασ από τθ ςελίδα 0) Κάκε εγγραφι του πίνακα ςελίδων περιζχει, αν υπάρχει, τον αρικμό του πλαιςίου ςτθν κφρια μνιμθ, το οποίο ζχει ανατεκεί ςτθν αντίςτοιχθ ςελίδα Επιπρόςκετα, το Λ διατθρεί μια μοναδικι λίςτα ελεφκερων πλαιςίων, θ οποία περιλαμβάνει όλα τα πλαίςια ςτθν κφρια μνιμθ που εκείνθ τθ ςτιγμι είναι ελεφκερα και διακζςιμα για τισ ςελίδεσ
ελιδοποίθςθ (9/10) Σο ςχιμα δείχνει διάφορουσ πίνακεσ ςελίδων ςε μια οριςμζνθ ςτιγμι (Πθγι: Stallings, W. (2017). Λειτουργικά Συστήματα: Αρχζς Σχεδίασης. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ: 431)
ελιδοποίθςθ (10/10) Η απλι ςελιδοποίθςθ, είναι παρόμοιασ λογικισ με τθν κατάτμθςθ ςτακεροφ μεγζκουσ Οι διαφορζσ είναι ότι με τθ ςελιδοποίθςθ, τα διαμερίςματα είναι αρκετά μικρά, ζνα πρόγραμμα μπορεί να κατζχει περιςςότερα από ζνα διαμερίςματα και τα διαμερίςματα αυτά δε χρειάηεται να είναι ςυνεχόμενα Για να γίνει αυτό το ςχιμα λειτουργικό, το μζγεκοσ ςελίδασ και κατά ςυνζπεια το μζγεκοσ πλαιςίου, πρζπει να είναι δφναμθ του 2
Παράδειγμα Ασ εξετάςουμε μια διεφκυνςθ από n+m bits, όπου τα n πιο αριςτερά bits είναι ο αρικμόσ ςελίδασ και τα m πιο δεξιά bits είναι θ απόκλιςθ Η μετάφραςθ τθσ διεφκυνςθσ γίνεται ωσ εξισ: Εξαγωγι του αρικμοφ ςελίδασ από τα n πιο αριςτερά bits τθσ λογικισ διεφκυνςθσ Χριςθ του αρικμοφ ςελίδασ ωσ δείκτθ ςτον πίνακα ςελίδων τθσ διεργαςίασ για τθν εφρεςθ του αρικμοφ πλαιςίου k Η φυςικι διεφκυνςθ μπορεί να παραχκεί προςαρτϊντασ τον αρικμό πλαιςίου ςτθν απόκλιςθ
Σμθματοποίθςθ (1/5) φμφωνα με τθν τμθματοποίθςθ, το πρόγραμμα και τα ςχετικά με αυτό δεδομζνα χωρίηονται ςε ζνα πλικοσ τμθμάτων Όλα τα τμιματα όλων των προγραμμάτων δε χρειάηεται να ζχουν το ίδιο μικοσ, αν και υπάρχει ζνα μζγιςτο μικοσ τμιματοσ Όπωσ και ςτθ ςελιδοποίθςθ, μια λογικι διεφκυνςθ, με χριςθ τμθματοποίθςθσ, αποτελείται από δφο μζρθ που ςε αυτι τθν περίπτωςθ είναι ο αρικμόσ τμιματοσ και θ απόκλιςθ
Σμθματοποίθςθ (2/5) Εξαιτίασ τθσ χριςθσ τμθμάτων άνιςου μεγζκουσ, θ τμθματοποίθςθ είναι παρόμοια με τθ δυναμικι κατάτμθςθ Θα μποροφςε να απαιτείται θ φόρτωςθ όλων των τμθμάτων ενόσ προγράμματοσ ςτθ μνιμθ για εκτζλεςθ, λόγω τθσ ζλλειψθσ ενόσ ςχιματοσ επικάλυψθσ ι τθσ χριςθσ ιδεατισ μνιμθσ Η διαφορά με τθ δυναμικι κατάτμθςθ, είναι ότι με τθν τμθματοποίθςθ ζνα πρόγραμμα μπορεί να κατζχει περιςςότερα από ζνα διαμερίςματα και τα διαμερίςματα αυτά δε χρειάηεται να είναι ςυνεχόμενα Η τμθματοποίθςθ ελαχιςτοποιεί τον εςωτερικό κατακερματιςμό, αλλά υςτερεί ςτο κζμα του εξωτερικοφ κατακερματιςμοφ Ωςτόςο, ο εξωτερικόσ κατακερματιςμόσ μπορεί να είναι μικρότεροσ, κακϊσ μια διεργαςία διαιρείται ςε ζνα πλικοσ μικρότερων κομματιϊν
Σμθματοποίθςθ (3/5) Μια ςυνζπεια τθν χριςθ τμθμάτων διαφορετικοφ μεγζκουσ είναι ότι δεν υπάρχει καμία απλι ςχζςθ ανάμεςα ςε λογικζσ και φυςικζσ διευκφνςεισ Όπωσ και ςτθ ςελιδοποίθςθ, ζνα ςχιμα απλισ τμθματοποίθςθσ κα ζκανε χριςθ ενόσ πίνακα τμθμάτων για κάκε διεργαςία και μιασ λίςτασ ελεφκερων blocks κφριασ μνιμθσ Κάκε εγγραφι του πίνακα τμθμάτων κα πρζπει να παρζχει τθν αρχικι διεφκυνςθ του αντίςτοιχου τμιματοσ ςτθν κφρια μνιμθ και το μικοσ του τμιματοσ, ϊςτε να εξαςφαλίηεται ότι δε χρθςιμοποιοφνται άκυρεσ διευκφνςεισ
Σμθματοποίθςθ (4/5) Παράδειγμα: Ασ εξετάςουμε μια διεφκυνςθ n+m bits, όπου τα n πιο αριςτερά bits είναι ο αρικμόσ τμιματοσ και τα m πιο δεξιά bits είναι θ απόκλιςθ Για τθ μετάφραςθ τθσ διεφκυνςθσ απαιτοφνται τα ακόλουκα βιματα: Εξαγωγι του αρικμοφ τμιματοσ από τα n πιο αριςτερά bits τθσ λογικισ διεφκυνςθσ Χριςθ του αρικμοφ τμιματοσ ωσ δείκτθ ςτον πίνακα τμθμάτων τθσ διεργαςίασ φγκριςθ τθσ απόκλιςθσ (θ οποία εκφράηεται από τα m πιο δεξιά bits) με το μικοσ του τμιματοσ. Αν θ απόκλιςθ είναι μεγαλφτερθ ι ίςθ με το μικοσ, θ διεφκυνςθ είναι άκυρθ Η φυςικι διεφκυνςθ είναι το άκροιςμα τθσ πρϊτθσ φυςικισ διεφκυνςθσ του τμιματοσ ςυν τθν απόκλιςθ
Σμθματοποίθςθ (5/5) Για n=4 και m=12, το μζγεκοσ τμιματοσ είναι 2 12 = 4096
Ερωτιςεισ.. Σι ςτόχο ζχει θ διαχείριςθ μνιμθσ; ε ζνα ςχιμα κατάτμθςθσ ςτακεροφ μεγζκουσ, ποια τα πλεονεκτιματα τθσ χριςθσ διαμεριςμάτων άνιςου μεγζκουσ; Ποια θ διαφορά ανάμεςα ςτον εςωτερικό και τον εξωτερικό κατακερματιςμό; Ποια θ διαφορά ανάμεςα ςτθ ςελίδα και το πλαίςιο;
Βιβλιογραφία Stallings, W. (2017). Λειτουργικά Συστήματα: Αρχζς Σχεδίασης. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ.