79
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin and Gange, Operating Systems Concepts. Deitel, Deitel and Choffnes, Operating Systems Λειτουργικά Συστήματα, Γ.Α. Παπαδόπουλος, Πανεπιστήμιο Κύπρου Λειτουργικά Συστήματα, Κ. Διαμαντάρας, ΤΕΙΘ Systems Programming in C, A.D. Marshal, University of Cardiff Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

  • Upload
    vocong

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

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

Διαχείριση μνήμης II

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

Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο Μακεδονίας

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 2: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

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

Διαχείριση μνήμης II

Αλγόριθμοι αντικατάστασης σελίδωνΘέματα σχεδιασμού και απόδοσης

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 3: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Process

Data

Main Memory

Page Table

123

567891011

131415

3458122

99385543131102171

12314493

4 68

Reference Bit

12 76

Process Control Block

User Stack

Shared Address Space

Program

Hard Disk

ΣελιδοποίησηΣύνοψη (1)

Page 4: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Σελιδοποίηση Σύνοψη (2)

• Αναφορά σελίδας• Έλεγχος χάρτη

μνήμης• Αν υπάρχει αντίστοιχο

σημείο εισόδου στον πίνακα σελίδων για πλαίσιο φυσικής μνήμης τότε γίνεται αναφορά σ’ αυτό

• Διαφορετικά, η σελίδα δεν υπάρχει στη φυσική μνήμη και πρέπει να μεταφερθεί από τον δίσκο

• Αν η φυσική μνήμη είναι πλήρης,

– Εύρεση σελίδας προς αντικατάσταση

– Εναλλαγή στον δίσκο

Page 0

Page 1

Page 2

Page n

Page 5

Page 3

Page 4

Page 7

Page 8

Virtual memory

Physical memory

Memory mapPage table

Page 5: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Αντικατάσταση σελίδων

Ασχολείται με την επιλογή μιας σελίδας στη μνήμη, η οποία θα αντικατασταθεί μόλις θα πρέπει να φορτωθεί μια νέα σελίδα.

Το θέμα σχετίζεται και με πλήθος άλλων, όπως:

• Το πλήθος των πλαισίων που ανατίθενται σε κάθε ενεργή διεργασία

• Το σύνολο των υποψηφίων προς αντικατάσταση σελίδων

• Το λειτουργικό σύνολο

(δες ζητήματα υλοποίησης και μοντελοποίησης)

Page 6: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Αλγόριθμοι αντικατάστασης σελίδων (1)

Όταν συμβεί page fault τότε το λ.σ. πρέπει να

• κάνει χώρο στη κύρια μνήμη για τη νέα σελίδα• αποφασίσει ποια σελίδα θα αντικατασταθεί (εναλλαγή)

Αν η σελίδα έχει τροποποιηθεί (Modified/Dirty bit) πρέπει να σωθεί στο δίσκο πρώτα, αλλιώς απλά υπερ-γράφεται.

Καλό είναι να μην αντικαθίσταται μια σελίδα που αναφέρεται συχνά (Referenced και Modified bits) γιατί πιθανότατα θα τη ξαναχρειαστούμε σύντομα.

Page 7: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Αλγόριθμοι αντικατάστασης σελίδων (2)• Δεν υπάρχουν ελεύθερα πλαίσια• Εύρεση μιας σελίδας προς αντικατάσταση

– Αν φύγει η M θα προκληθεί σφάλμα σελίδας– Αν φύγει η H πιθανόν να εξυπηρετεί– Ο αλγόριθμος αντικατάστασης πρέπει να

ελαχιστοποιεί τα σφάλματα σελίδας

H

Load MJM

A

BDE

OS

OSDH

JAE

3 vi

5 vi

6 vi

2 v7 v

Process 1’s logical memory

Process 2’s logical memory

Proc1’s page table

Proc2’s page table

0

1

2

1

0123

01234567

Physical memory

PC

PC

Load M

M

4 v

B?

Page 8: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Αλγόριθμοι αντικατάστασης σελίδων (3)

f v d

framepresent/absent

dirty/clean

Page table

1. If it’s dirty, swap out a victim page

3. Overwrite this frame with a desired page

0 i c

2. Clear all bits of theswapped frame entry

0 i c 4. Reset a frame entryfor this new page

f v c

Page 9: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

• Σελίδες ή τμήματα

• Πλαίσια σελίδων

• Πίνακες σελίδων

• Λίστα των ελεύθερων πλαισίων σελίδων

Περιέχει όλα τα πλαίσια που δεν χρησιμοποιούνται

• Πίνακες αλγορίθμου αντικατάστασης

- Περιέχουν δεδομένα που αφορούν σελίδες και πλαίσια

- Χρησιμοποιούνται για να αποφασιστεί ποιες σελίδες θα αντικατασταθούν

• Περιοχή εναλλαγής

- Περιοχή της δευτερεύουσας μνήμης για σελίδες που δεν βρίσκονται στην κύρια μνήμη

- Μια πλήρης εικόνα κάθε διεργασίας διατηρείται στην περιοχή αυτή

Δομές δεδομένων

Page 10: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Διατήρηση του πλήθους των σφαλμάτων σελίδων όσο γίνεται χαμηλά.

Η απόδοση των αλγορίθμων αντικατάστασης κρίνεται από τα σφάλματα που παράγονται σε σχέση με το αλφαριθμητικό αναφοράς (reference string) που είναι μια ακολουθία αναφοράς σελίδων.

Παράγεται από την καταγραφή διευθύνσεων του συστήματος στις οποίες γίνεται αναφορά.

Εξαρτάται από το πλήθος των διαθέσιμων πλαισίων: Περισσότερα πλαίσια μειώνουν το πλήθος σφαλμάτων σελίδας (γενικά αλλά ..παράδοξο του Belady)

Αποτίμηση των αλγορίθμων

Page 11: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

• Βέλτιστος (Optimal)

• Οχι πρόσφατη χρήση (Not Recently Used, NRU)

• Πρώτος μέσα, πρώτος έξω (First-In, First-Out, FIFO)

• Δεύτερη ευκαιρία (Second chance)

• Ρολογιού (Clock)

• Λιγότερο πρόσφατη χρήση (Least Recently Used, LRU)

• Οχι συχνή χρήση (Not Frequently Used, NFU)

• Γήρανσης (Aging)

• Λειτουργικού συνόλου (Working Set, WS)

• WSClock

Αλγόριθμοι

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 12: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Optimal

Αντικατάσταση της σελίδας που θα χρησιμοποιηθεί αργότερα στο μέλλον.

Ανέφικτος αλγόριθμος στη γενική του μορφή

Χρησιμοποιείται ως benchmark

Σε ειδικές περιπτώσεις μπορεί να γίνει εκτίμηση …

πχ συστήματα δέσμης με επαναλαμβανόμενη εκτέλεση του ίδιου προγράμματος σε παρόμοια δεδομένα.

Page 13: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 3, 1, 5Selected: 1

315

4

Παράδειγμα - 1

Page 14: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 3, 2, 5Selected: 3

325

4325

4325

4

Παράδειγμα - 2

Page 15: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 6, 2, 5Selected: 3

325

4325

4625

4

25

46

F F

Παράδειγμα - 3

Page 16: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

725

4725

4434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 7, 2, 5Selected: 2 or 5 (both pages won’t be used anymore)

325

4325

4625

4

FF

725

4725

4725

4

F

Παράδειγμα - 4

Page 17: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

765

4725

4434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 7, 6, 5Selected: 6 or 5 (pages won’t be used anymore)

325

4325

4625

4

FF

725

4725

4725

4765

4

F F

Παράδειγμα - 5

Page 18: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

765

4725

4434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 7, 6, 1Selected: 6 or 1 (pages won’t be used anymore)

325

4325

4625

4

FF

725

4725

4725

4761

4

F F

761

4

Παράδειγμα - 6

Page 19: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

765

4725

4434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

325

4325

4625

4

FF

725

4725

4725

4761

4

F F

731

4731

4731

4

F

Page Faults: 10

Παράδειγμα - 7

Page 20: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Not Recently Used (NRU)Χρήση των Reference / Modified bits του πίνακα σελίδων.

Το Refernce bit μηδενίζεται μετά από κάθε timeout (πχ 20ns), τo Modified bit δεν επηρεάζεται.

Οι σελίδες χωρίζονται σε 4 σύνολα:

0. not referenced, not modified 00

1. not referenced, modified 01 (μετά από timeout)

2. referenced, not modified 10

3. referenced, modified 11

Ο NRU απομακρύνει στη τύχη μια σελίδα από το χαμηλότερο μη-κενό σύνολο (0, 1, 2, 3). Το σύνολο 1 προτιμάται του συνόλου 2.

Απλός και εύκολος αλγόριθμος, με αποδεκτή απόδοση.

Page 21: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

First In First Out (FIFO)Το λ.σ. διατηρεί λίστα των σελίδων που βρίσκονται στη μνήμη

ταξινομημένη με τη χρονική σειρά άφιξης.

Αντικαθίσταται η σελίδα που μπήκε πρώτη στη μνήμη.

Μειονέκτημα: η σελίδα που αντικαθίσταται μπορεί να είναι σε χρήση.

Σπάνια χρησιμοποιείται στη καθαρή του μορφή αλλά σε συνδυασμό.

Page 22: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

4315

2315

2615

2675

2674

2674

2674

5674

5174

5134

5334

5337

54 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F FF FF F F FF FF

Reference String

Page Faults: 12

– Seven pages

– Four frames

Παράδειγμα (1)

Page 23: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

4315

4315

4315

6715

6745

6745

6745

6745

6741

6741

6741

6741

6

4 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F FFF F F FFF

Reference String

Page Faults: 10

2 2 2 2 2 2 2 2 2 3 3 3

– Seven pages

– Five frames

Παράδειγμα (2)

Page 24: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Τροποποίηση του FIFO ως εξής: αν η σελίδα προς αντικατάσταση έχει Referenced bit ίσο με 1, τότε η σελίδα τοποθετείται στο τέλος της ουράς με Referenced bit ίσο με 0 και με χρόνο εισόδου ίσο με τον τρέχοντα.

Παράδειγμα:(a) Λίστα σελίδων σε ουρά FIFO. (b) Στη χρονική στιγμή 20 συμβαίνει page fault. Η σελίδα Α έχει εισέλθει τη χρονική στιγμή 0 και έχει R bit == 1. Η σελίδα τοποθετείται στο τέλος της λίστας με R bit = 0 και χρόνο εισόδου 20.

Second Chance

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 25: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Βελτίωση του αλγορίθμου Second Chance: η ουρά FIFO αντικαθίσταται από κυκλική λίστα και η μετακίνηση σελίδων και η αλλαγή χρόνου εισόδου αντικαθίσταται από μετακίνηση ενός δείκτη. Ίδια λειτουργία με το Second Chance, αλλά αποδοτικότερη υλοποίηση .

Clock

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 26: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Least Recently Used (LRU)(1)Υποθέτει οτι σελίδες που χρησιμοποιήθηκαν πρόσφατα θα ξανα-χρησιμοποιηθούν σύντομα.

Αντικαθίσταται η σελίδα που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα.

Εξαιρετικός αλγόριθμος αλλά απαιτείται καταγραφή της χρονικής στιγμής αναφοράς σε κάθε σελίδα και ενημέρωση σε κάθε αναφορά στη μνήμη!!

Υλοποίηση λογισμικού: λίστα των σελίδων στη μνήμη. Μετά από κάθε αναφορά στη μνήμη η αντίστοιχη σελίδα μετακινείται στη αρχή της λίστας. Αφαιρείται η τελευταία σελίδα. Πολύ ακριβή.

Υλοποίηση υλικού: καταχωρητής σε κάθε θέση του πίνακα σελίδων που ενημερώνεται από το ρολόι του συστήματος σε κάθε αναφορά στη μνήμη. Αφαιρείται η σελίδα με τη μικρότερη τιμή. Απαιτεί ειδικό υλικό.

Page 27: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 3, 1, 5Selected: 4

315

4

Παράδειγμα - 1

Page 28: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 2, 3, 1, 5Selected: 5

315

2315

2315

2

F

Παράδειγμα - 2

Page 29: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 2, 3, 1, 6Selected: 1

315

2316

2315

2

F

316

2

F

Παράδειγμα - 3

Page 30: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 2, 3, 7, 6Selected: 2

315

2316

2315

2

F

376

2

F

376

2

F

Παράδειγμα - 4

Page 31: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 3, 7, 6Selected: 3

315

2316

2315

2

F

376

2

F F

376

4

F

376

4

Παράδειγμα - 5

Page 32: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 2, 7, 6Selected: 6

315

2316

2315

2

F

376

2

F F

276

4

F

376

4276

4

F

Παράδειγμα - 6

Page 33: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 2, 7, 5Selected: 7

315

2316

2315

2

F

376

2

F F

275

4

F

376

4276

4

F

275

4

F

Παράδειγμα - 7

Page 34: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 1 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 4, 2, 6, 5Selected: 4

315

2316

2315

2

F

376

2

F F

265

4

F

376

4276

4

F

275

4

F

265

4

F

Παράδειγμα - 8

Page 35: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 1, 2, 6, 5Selected: 2

315

2316

2315

2

F

376

2

F F

265

1

F

376

4276

4

F

275

4

F

265

4

F

265

11

F

Παράδειγμα - 9

Page 36: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 1, 3, 6, 5Selected: 5

315

2316

2315

2

F

376

2

F F

365

1

F

376

4276

4

F

275

4

F

265

4

F

265

11

F

365

1

F

Παράδειγμα - 10

Page 37: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

1434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Replacement Candidates: 1, 3, 6, 4Selected: 6

315

2316

2315

2

F

376

2

F F

364

1

F

376

4276

4

F

275

4

F

265

4

F

265

11

F

365

1

F

364F

Παράδειγμα - 11

Page 38: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

1434

31

4315

4315

44 3 1 5 1 2 3 6 7 4 2 5 6 3 4 7

F F F FF

Reference String

– seven pages

– four frames

Number of Page Faults: 15

315

2316

2315

2

F

376

2

F F F

376

4276

4

F

275

4

F

265

4

F

265

11

F

365

1

F

364F

1374

Παράδειγμα - 12

Page 39: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Least Recently Used (LRU)(2)

Αποδοτικότερη υλοποίηση υλικού:

Έστω μνήμη με Ν πλαίσια σελίδας. Υπάρχει ένας πίνακας με ΝΧΝ bits. Όλα τα bits λαμβάνουν αρχικά την τιμή 0.

Για κάθε αναφορά στη μνήμη, έστω στο πλαίσιο σελίδας Κ, Κ=0,1, 2.., Ν-1:

• τα bits της σειράς Κ τίθενται στη τιμή 1

• τα bits της στήλης K τίθενται στη τιμή 0

Σε κάθε χρονική στιγμή, η στήλη που σχηματίζει το μικρότερο δυαδικό αριθμό αντιστοιχεί στη πιο πρόσφατα χρησιμοπιημένη σελίδα, η στήλη με τον επόμενο αριθμό αντιστοιχεί στη δεύτερη πιο πρόσφατη κλπ.

Έξυπνη λύση αλλά και πάλι απαιτείται ειδικό υλικό.

Page 40: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Υλοποίηση LRU με πίνακα 4 πλαισίων σελίδας και σειρά αναφορών:

0, 1, 2, 3, 2, 1, 0, 3, 2, 3.

Least Recently Used (LRU)(3)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 41: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Not Frequently Used (NFU)Τροποποίηση LRU για υλοποίηση λογισμικού:

Έστω μνήμη με Ν πλαίσια σελίδας. Υπάρχουν Ν μετρητές (σε λογισμικό). Όλοι λαμβάνουν αρχικά την τιμή 0.

Σε κάθε timeout το λ.σ. σαρώνει τα N Reference bits ο πίνακα σελίδων και προσθέτει την τιμή τους (0 ή 1) στον αντίστοιχο μετρητή.

Αντικαθίσταται η σελίδα με τη μικρότερη τιμή στο μετρητή της (λιγότερο συχνή χρήση) και ο μετρητής του πλαισίου μηδενίζεται.

Μειονέκτημα: ο NFU δεν ξεχνάει! Μια σελίδα με for loop πχ θα έχει πολύ ψηλή τιμή μετρητή και δεν θα αντικαθίσταται εύκολα. Αντίθετα, σελίδες που μόλις έχουν εισέλθει στη μνήμη θα είναι πρώτες υποψήφιες για αντικατάσταση.

Page 42: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Aging (1)Τροποποίηση NFU για καλύτερη προσέγγιση του LRU:

Έστω μνήμη με Ν πλαίσια σελίδας. Υπάρχουν Ν μετρητές (σε λογισμικό). Όλοι λαμβάνουν αρχικά την τιμή 0.

Σε κάθε timeout το λ.σ. :

• κάνει δεξιά ολίσθηση 1 bit σε όλους τους μετρητές.

• σαρώνει τα N Reference bits ο πίνακα σελίδων και προσθέτει την τιμή τους (0 ή 1) στον αντίστοιχο μετρητή στο πιο αριστερό bit.

Αντικαθίσταται η σελίδα με τη μικρότερη τιμή στο μετρητή της (λιγότερο συχνή χρήση) και ο μετρητής του πλαισίου μηδενίζεται.

Παρατηρήσεις:• Μετρούμε μόνο μία αναφορά ανά timeout, όχι κάθε αναφορά στη

μνήμη.

• Τα bits του μετρητή είναι περιορισμένα, σε κάποια στιγμή μηδενίζεται.

Page 43: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Εκτέλεση του αλγορίθμου για έξι πλαίσια σελίδων και πέντε clock ticks (timeout), βήματα (a) ως (e).

Aging (2)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 44: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Working Set (WS) (1)Σελιδοποίηση κατ' απαίτηση (Demand paging): το λ.σ. αναμένει τις απαιτήσεις τις διεργασίας μέσω page faults. Κάθε διεργασία κατά τη φάση εκκίνησης προκαλεί συχνά page faults μέχρι να μεταφέρει στη μνήμη το σύνολο των σελίδων που απαιτούνται για να λειτουργήσει.

Το σύνολο αυτών των σελίδων λέγεται Λειτουργικό Σύνολο (Working Set).

Το WS μεταβάλεται με τη πάροδο του χρόνου καθώς οι σελίδες που χρησιμοποιούνται αλλάζουν. Το μέγεθος του WS όμως, μετά από μια αρχική απότομη αύξηση, σταθεροποιείται. Επιλέον, λόγω της τοπικότητας αναφορών, ενώ αρχικά συμβαίνουν αρκετά page faults στη συνέχεια ο αριθμός, και ο ρυθμός, των page faults σταθεροποείται σε ένα μικρό σχετικά αριθμό.

Αν η διαθέσιμη κύρια μνήμη είναι μικρή ή ο βαθμός πολυπρογραμματισμού υπερβολικά μεγάλος τότε το WS μιας διεργασίας δε χωρά ολόκληρο στη μνήμη ή πολύ συχνά αφαιρείται από τη μνήμη με αποτέλεσμα να υπάρχει ένας υπερβολικός αριθμός page faults λόγω συνεχών εναλλαγών σελίδων – αρχική καθυστέρηση ή και αλώνισμα (thrashing).

Page 45: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Αν μια διεργασία δεν διαθέτει αρκετές σελίδες θα παράγει πληθώρα σφαλμάτων σελίδων. Η σελίδα που αντικαθίσταται ίσως χρειαστεί και πάλι πολύ σύντομα.

Συνέπεια: ο βαθμός χρήσης της CPU μπορεί να μειωθεί δραματικά.

Ο επεξεργαστής σπαταλά το μεγαλύτερο μέρος του χρόνου για την εναλλαγή τμημάτων παρά για την εκτέλεση των εντολών του χρήστη .

Thrashing (1)

Page 46: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

degree of multiprogramming

CPU utilization

thrashing

Τhrashing (2)

Page 47: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Το λειτουργικό σύνολο περιλαμβάνει όλες τις σελίδες που έχουν χρησιμοποιηθεί κατά τη διάρκεια των k πιο πρόσφατων αναφορών και είναι μια χονδρική εκτίμηση που προκύπτει από τις τοπικότητες των αναφορών μιας διεργασίας.

Το k καθορίζει το μέγεθος του λειτουργικού συνόλουΤο λειτουργικό σύνολο μιας διεργασίας αλλάζει μέγεθος καθώς η διεργασία εξελίσσεται (χρονική στιγμή t), ενώ η βέλτιστη τιμή του είναι άγνωστη.

Working Set (WS) (2)

Page 48: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Δύο ζητήματα:

• Διατήρηση του WS στη κύρια μνήμη ώστε να αποφεύγεται η αρχική καθυστέρηση ή και το thrashing.

• Εκτίμηση (πρόβλεψη) του WS ώστε να εφαρμοστούν τεχνικές προ-σελιδοποίησης (pre-paging).

Το λ.σ. πρέπει να υπολογίζει το τρέχον WS ώστε να διεθέτει αρκετά πλαίσια σελίδων στη διεργασία και να προβλέπει τις σελίδες προς αντικατάσταση (ή και προς φόρτωση).

Working Set (WS) (3)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

k

Λειτουργικό Σύνολο τη χρονική στιγμή t με βάση τις k πιο πρόσφατες αναφορές.Μονότονη, μη φθίνουσα συνάρτηση ως προς k.

Page 49: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Προσκόμιση σελίδων

Κατ' Απαίτηση (Demand paging) :

Μεταφέρει σελίδες στην κύρια μνήμη μόνον όταν γίνει μια αναφορά σε μια διεύθυνση της σελίδας και αυτή δεν υπάρχει στη μνήμη

Δημιουργούνται πολλά σφάλματα σελίδας (page faults) όταν η διεργασία ξεκινά για πρώτη φορά

Προ-σελιδοποίηση (pre-paging) :

Μεταφέρει περισσότερες σελίδες από αυτές που χρειάζονται

Είναι περισσότερο αποτελεσματική, αλλά δεν είναι πάντοτε εφικτή, εξαρτάται από τον αλγόριθμο αντικατάστασης (πχ προ-γνώση λειτουργικού συνόλου)

Αν χρησιμοποιείται DMA μπορεί να υλοποιηθεί συγχρόνως με την εκτέλεση του προγράμματος

Page 50: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Working Set (WS) (4)Τρέχων εικονικός χρόνος (Current virtual time): το λ.σ. υπολογίζει για κάθε διεργασία τον χρόνο που κατέλαβε τη CPU.

Ορίζεται ένας Μέγιστος εικονικός χρόνος (ουσιαστικά το k στο προγούμενο σχήμα).

Στο πίνακα σελίδων σημειώνεται εκτός από το Reference bit και ο Χρόνος τελευταίας χρήσης (δηλαδή ο τρέχων εικονικός χρόνος κατά τo page fault).

Το Reference bit = 0 σε κάθε timeout.

Όταν συμβεί page fault το λ.σ. σαρώνει το πίνακα σελίδων:

Αν το Reference bit == 1 τότε η σελίδα ανήκει στο WS. Το R bit τίθεται στο 0 και ενημερώνεται ο Χρόνος τελευταίας χρήσης.

Αν το Reference bit == 0 τότε

Αν Τεχ – Χτχ > Μεχ τότε η σελίδα είναι εκτός WS αλλιώς είναι εντός WS.

Αν δεν υπάρχει σελίδα εκτός WS τότε αντικαθίσταται η σελίδα με R bit == 0 και το max(Τεχ – Χτχ)... όμως το λ.σ. χρειάζεται tuning..

Page 51: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

age = Τρέχων εικονικός χρόνος (Current virtual time) -

Χρόνος τελευταίας χρήσης (Time of last use).

τ = Μέγιστος εικονικός χρόνος

Working Set (WS) (4)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 52: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Ο WS έχει το μειονέκτημα της σάρωσης όλου του πίνακα σελίδων.

Ο WSClock συνδυάζει τη λειτουργία του WS με τις δομές του Clock.

Ισχύουν οι τρείς χρόνοι που ορίστηκαν στο WS. Το Reference bit = 0 σε κάθε timeout. Ο πίνακας σελίδων είναι οργανωμένος ως κυκλική λίστα και ένας δείκτης δείχνει τη τρέχουσα σελίδα (τελευταία αναφορά).

Όταν συμβεί page fault το λ.σ. ελέγχει τη σελίδα που δείχνει ο δείκτης:

Αν το Reference bit == 1 τότε η σελίδα ανήκει στο WS. Το R bit τίθεται στο 0 και ο δείκτης προχωρεί.

Αν το Reference bit == 0 τότε

Αν Τεχ – Χτχ <= Μεχ τότε η σελίδα ανήκει στο WS. Ο δείκτης προχωρεί.

Αν Τεχ – Χτχ > Μεχ και Dirty bit == 1 τότε η σελίδα είναι εκτός WS αλλά απαιτείται εναλλαγή. Χρονοπρογραμματίζεται για εναλλαγή.

Αν Τεχ – Χτχ > Μεχ και Dirty bit == 0 τότε η σελίδα είναι εκτός WS και δεν απαιτείται εναλλαγή. Μπορεί να υπεργραφεί.

WSClock (1)

W

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 53: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Αν δεν βρεθεί καμμία σελίδα που να ανήκει στη τελευταία κατηγορία τότε το λ.σ. Περιμένει να εκτελεστεί κάποια από τις επιλεγμένες εναλλαγές για να συνεχίσει η διεργασία. Τίθεται ένα ανώτατο όριο εναλλαγών για να αποφύγουμε το thrashing. To λ.σ. χρειάζεται tuning..

Αν δεν υπάρχουν σελίδες στις δύο τελευταίες κατηγορίες τότε αναγκαστικά επιλέγουμε μια σελίδα από τη τρίτη (από το τέλος) κατηγορία με R bit == 0 αλλά εντός του WS, πιθανότατα την αρχαιότερη, αφού ο δείκτης έχει κάνει πλήρη κύκλο στη πίνακα σελίδων. Πάλι τιο λ.σ. χρειάζεται tuning..

Ο WSClock θεωρείται σχετικά απλός και πολύ αποδοτικός αλγόριθμος.

Χρησιμοποιείται αρκετά.

WSClock (2)

W

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 54: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

WSClock (3)

W

Page 55: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Σύνοψη

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 56: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Θέματα σχεδιασμού και απόδοσης

• Μοντελοποίηση αλγορίθμων αντικατάστασης σελίδων• Λειτουργικό σύνολο• Ρυθμός αντικατάστασης σελίδων• Τοπική ή καθολική αντικατάσταση σελίδων• Βαθμός πολυπρογραμματισμού• Μέγεθος σελίδας• Μοιραζόμενες σελίδες• Εμπλοκή του λ.σ.• Χειρισμός σφάλματος σελίδας

Page 57: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Mοντελοποίηση αντικατάστασηςΠαράδοξο Belady

(a) FIFO με 3 πλαίσια σελίδων(b) FIFO με 4 πλαίσια σελίδωνΤα P δείχνουν τα σφάλματα σελίδων (page faults)

Page 58: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Αλγόριθμοι στοίβας

Γενική μοντελοποίηση κατάστασης κύριας μνήμης Μ

• Αλφαριθμητικό αναφορών (Reference string), α ο δείκτης θέσης

• Αριθμός διαθέσιμων πλαισίων σελίδων μ

• Αλγόριθμος αντικατάστασης

Ισχύει για αρκετούς αλγορίθμους (πχ LRU, FIFO) με: Μ(μ, α) C M(μ+1, α)

Αλφαριθμητικό απόστασης (Distance string) =

Θέση σελίδας στη στοίβα πριν την αναφορά (∞ σημαίνει page fault)

μ

α

Μ

Page 59: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Εκτίμηση λειτουργικού συνόλου

Συνάρτηση πυκνότητας πιθανότητας αλφαριθμητικού απόστασης για δύο διαφορετικά προγράμματα (ή για δύο διαφορετικούς αλγορίθμους αντικατάστασης σελίδων για το ίδιο πρόγραμμα).

Στη πρώτη περίπτωση μπορεί να οριστεί το λειτουργικό σύνολο του προγράμματος / αλγορίθμου (οι σελίδες που περιλαμβάνονται στη περιοχή k), άρα και ο απαιτούμενος αριθμός πλαισίων σελίδων ενώ στη δεύτερη όχι.

Είδαμε αναλυτικά το λειτουργικό σύνολο στον αλγόριθμο Working Set (WS) και WSClock.

Page 60: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Ρυθμός σφαλμάτων σελίδας (1)

n

Fm

= Σ Ck + C

∞ , m ο αριθμός των διαθέσιμων πλαισίων σελίδων.

k = m+1

Page 61: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Η μοντελοποίηση του ρυθμού σφαμάτων σελίδας εκτιμά τον αριθμό πλαισίων σελίδων που απαιτείται για το λειτουργικό σύνολο.

Στη πράξη το λ.σ. αναθέτει αρχικά ένα αριθμό πλαισίων σελίδων σε κάθε διεργασία και εκτελεί συνεχείς μετρήσεις των σφαλμάτων σελίδας με τον αλγόριθμο Page Fault Frequency (PFF) ώστε να γνωρίζει τον ρυθμό σφαλμάτων σελίδων. Αν ο ρυθμός είναι πολύ υψηλός τότε χορηγεί επιπλέον πλαίσια, αλλιώς μπορεί να αφαιρέσει πλαίσια σελίδων.

Ρυθμός σφαλμάτων σελίδας (2)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 62: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

(a) Το λ.σ. Αρχικά κατανέμει πλαίσια σελίδων στις διεργασίες.

(b) Τοπική αντικατάσταση σελίδων (επηρεάζεται μόνο η διεργασία Α).(c) Καθολική αντικατάσταση σλίδων (ελέγχονται όλες οι διεργασίες).

Τοπική ή καθολική αντικατάσταση (1)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 63: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Συνήθως τα λ.σ. αναθέτει σε κάθε διεργασία έναν αριθμό πλαισίων σελίδας, λειτουργεί με τοπική αντικατάσταση σελίδων και παρακολουθεί την εξέλιξη του ρυθμού αντικατάστασης σελίδων κάθε διεργασίας με PFF.

Σε τακτά χρονικά διαστήματα, με βάση του PFF προχωρά σε ανακατανομή των πλαισίων σελίδων (tuning της σελιδοποίησης του λ.σ. με καθολική αντικατάσταση).

• Ορισμένοι αλγόριθμοι (FIFO, Clock, LRU κλπ) δουλεύουν τόσο με τοπική όσο και με καθολική αντικατάσταση.

• Οι αλγόριθμοι λειτουργικού συνόλου (WS, WSClock) εφαρμόζονται μόνο με τοπική αντικατάσταση.

Τοπική ή καθολική αντικατάσταση (2)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 64: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Βαθμός πολυπρογραμματισμούΣε ακραίες περιπτώσεις ο αλγόριθμος PFF μπορεί να δείχνει οτι μερικές διεργασίες απαιτούν περισσότερη μνήμη αλλά δεν υπάρχει διαθέσιμη: thrashing.

Λύσεις :

• παραπέρα tuning με προσωρινή μεταφορά μιας διεργασίας στο δίσκο ώστε να ελευθερωθεί μνήμη.

• σε μόνιμα προβλήματα μείωση του βαθμού πολυ-προγραμματισμου.

Page 65: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Μέγεθος σελίδας (1)Γενικά τα υπολογιστικά συστήματα σχεδιάζονται (σε επίπεδο υλικού και αρχιτεκτονικής) για μικρό μέγεθος σελίδας (πχ 1Kb, στο Pentium 4Κb), αλλά τα λ.σ. έχουν τη δυνατότητα χειρισμού μεγαλύτερων σελίδων με τη ταυτόχρονη δέσμευση γειτονικών σελίδων.

Γενικά προτιμάται σχετικά μικρό μέγεθος σελίδας.

Πλεονεκτήματα

•Λιγότερη εσωτερική κατάτμηση (internal fragmentation)

n διεργασίες, σ μέγεθος σελίδας: ~ n*(p/2) η εσωτερική κατάτμηση.

•Λιγότερος άχρηστος κώδικας και δεδομένα στη μνήμη.

Μειονεκτήματα

•Περισσότερες σελίδες ανά διεργασία, άρα περισσότερη (ελαφριά) κυκλοφορία εναλλαγής μεταξύ δίσκου και μνήμης.

•Μεγαλύτεροι πίνακες σελίδων, άρα μεγαλύτερη επιβάρυνση στη θεματική εναλλαγή.

Page 66: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Μέγεθος σελίδας (2)

Υπολογισμός επιβάρυνσης ανά διεργασία λόγω του μεγέθους πίνακα σελίδων και της εσωτερικής κατάτμησης

Όπουs = μέσο μέγεθος διεργασίας σε bytes

p = μέγεθος σελίδας σε bytes

e = μέγεθος γραμμής πίνακα σελίδων σε bytes

2

s e poverhead

p

⋅= +

Μέγεθος πίνακα σελίδων

Εσωτερική κατάτμηση

Βελτιστοποίηση

2p se=

Page 67: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Δύο διεργασίες μοιράζονται τον ίδιο κώδικα αλλά διαφορετικά δεδομένα (πχ ένας επεξεργαστής κειμένου επεξεργάζεται δύο κείμενα). Τι συμβαίνει αν 'ανοίξουμε' δύο φορές το ίδιο κείμενο;

Διαμοιραζόμενες σελίδες (1)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 68: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

code

data

editor process

5234

P00

editor

editor

editor

data - P2

data - P0

data - P1

page tables 5230

P1

5237

P2

1

2

3

4

5

6

7Διαμοιραζόμενες σελίδες (2)

Page 69: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Μια βιβλιοθήκη (read only) που χρησιμοποιείται από δύο διεργασίες

Πώς είναι δυνατή η αναφορά στις ίδιες φυσικές διευθύνσεις από διαφορετικές διεργασίες κατά την εκτέλεση (σύνδεση, φόρτωση);

Διαμοιραζόμενες βιβλιοθήκες

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 70: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Κλείδωμα πλαισίων (Frame Locking)

Αν ένα πλαίσιο κλειδωθεί η σελίδα που περιέχεται σ’ αυτό δεν μπορεί να αντικατασταθεί

Πυρήνας του Λ.Σ.

Δομές ελέγχου

I/O buffers

Συσχέτιση ενός bit κλειδώματος με κάθε πλαίσιο

Page 71: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Εμπλοκή του λ.σ. στη σελιδοποίηση1. Δημιουργία διεργασίας

• Καθορισμός μεγεθών (εικόνα διεργασίας)

• Δημιουργία πίνακα σελίδων, δέσμευση χώρου στη μνήμη

• Δέσμευση χώρου στη περιοχή εναλλαγής (δίσκο)

2. Εκτέλεση διεργασίας

• Φόρτωση τιμών πίνακα σελίδων διεργασίας στην MMU

• Καθαρίζεται το TLB

• Προαιρετική προ-φόρτωση σελίδων για αποφυγή σφαλμάτων

3. Σφάλμα σελίδας

• Καθορισμός της εικονικής διεύθυνσης που προκαλεί σφάλμα

• Αντικατάσταση σελίδας, φόρτωση σελίδας που χρειάζεται

4. Τερματισμός διεργασίας

• Αποδέσμευση σελίδων στη μνήμη και στο χώρο εναλλαγής

• Αποδέσμευση του πίνακα σελίδων

Page 72: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

• Το υλικό προκαλεί διακοπή προς το πυρήνα, σώζει τον μετρητή προγράμματος, και ξεκινά τη ρουτίνα διακοπής.

• Η ρουτίνα διακοπής (γλώσσα assembly) σώζει τους καταχωρητές και τα υπόλοιπα στοιχεία της διεργασίας που προκάλεσε το σφάλμα. Ο έλεγχος μεταφέρεται στο πυρήνα.

• Ο πυρήνας ανακαλύπτει οτι πρόκειται για σφάλμα σελίδας και καθορίζει την εικονική διεύθυνση που προκάλεσε το σφάλμα. Αυτή συνήθως σώζεται σε καταχωρητή στο προηγούμενο βήμα.

• Το λ.σ. ελέγχει αν η εικονική διεύθυνση είναι έγκυρη και άν υπάρχουν δικαιώματα πρόσβασης. Αν υπάρχει κάποιο πρόβλημα τότε η διεργασία που προκάλεσε το σφάλμα τερματίζεται.

• Αν δεν υπάρχει κάποιο πρόβλημα τότε το λ.σ. ψάχνει για ελεύθερο πλαίσιο σελίδας. Αν το βρεί συνεχίζει παρακάτω, αλλιώς εκτελείται ο αλγόριθμος αντικατάστασης και προσδιορίζεται το πλαίσιο σελίδας που θα εναλλαγεί.

Διαχείριση σφάλματος σελίδας (1)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 73: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

• Αν το πλαίσιο σελίδας που επιλέχθηκε είναι 'βρώμικο' η σελίδα χρονοπρογραμματίζεται για εναλλαγή στο δίσκο. Η διεργασία που προκάλεσε σφάλμα αναστέλλεται για εγγραφή στο /ανάγνωση από το δίσκο και εκτελείται θεματική εναλλαγή.

• Αν το πλαίσιο σελίδας είναι ελεύθερο ή 'καθαρό', τότε απαιτείται μόνο ανάγνωση από το δίσκο. Η διεργασία που προκάλεσε το σφάλμα αναστέλλεται για ανάγνωση από το δίσκο και εκτελείται θεματική εναλλαγή.

• Όταν η Ε/Ε με το δίσκο ολοκληρωθεί, το λ.σ. τοποθετεί τη σελίδα στο πλαίσιο και ενημερώνει το πίνακα σελίδων

• Ο μετρητής προγράμματος της διεργασίας που προκάλεσε το σφάλμα σελίδας επαναφέρεται στην εντολή που προκάλεσε το σφάλμα.

Διαχείριση σφάλματος σελίδας (2)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 74: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

• Η διεργασία χρονοπρογραμματίζεται για εκτέλεση και το λ.σ. Επιστρέφει τον έλεγχο στη ρουτίνα διακοπής που το κάλεσε.

• Η ρουτίνα διακοπής ξαναφορτώνει τους καταχωρητές και τα υπόλοιπα στοιχεία της διεργασίας που είχε σώσει.

• H διεργασία συνεχίζει κανονικά την εκτέλεσή της σαν να μην είχε συμβεί σφάλμα σελίδας.

Διαχείριση σφάλματος σελίδας (3)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Page 75: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Σύνοψη διαχείρισης σφάλματος σελίδας

load Mi

OperatingSystem

free frame

Physical memory

Disk

Page table1. Αναφορά στη σελίδα M(η σελίδα M υπάρχει?)

2. Trap on page fault

3. OS looks at another table to decide:Invalid reference ⇒ abort.Just not in memory.

4. Bring in missing page

5. Reset tables, validation bit = 1

6. Restart instruction

Page 76: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Υποθέσεις : 100 MHz CPU clock cycle, 20 ms μέσος χρόνος προσπέλασης και μεταφοράς ανά σελίδα

Step Actions Timeinterrupthandling

a few hundred to a fewthousand instructions

2000 * 10 ns= 20 µs

frame allocation a few hundred to a fewthousand instructions

2000 * 10 ns= 20 µs

page replacement some instructions, write apage to disk

≈ 20 ms

page loading some instructions, read a pagefrom disk

≈ 20 ms

page tableupdate

a few hundred instructions 500 * 10 ns= 5 µs

instructionrestart

a few instructions 30 * 10 ns= 0.3 µs

Total time dominated by I/O operations ≈ 20 ... 40 ms

Ενδεικτικοί χρόνοι σφάλματος σελίδας

Page 77: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Μια εντολή που κανονικά χρειάζεται μερικές δεκάδες nanoseconds θα χρειαστεί δεκάδες milliseconds αν συμβεί σφάλμα σελίδας

α

Η συχνότητα σφαλμάτων σελίδας είναι πολύ σημαντική για την απόδοση του συστήματος.

Ο ρυθμός σφαλμάτων σελίδας πρέπει να παραμένει χαμηλός.

EAT = hit ratio * entry found + (1-hit ratio) * entry not found

Σφάλματα σελίδας και απόδοση (1)

Page 78: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Ποια είναι η απώλεια απόδοσης για ρυθμό σφαλμάτων σελίδας 1 σε 100,000;

Χρόνος προσπέλασης χωρίς σφάλμα σελίδας:

(Χρόνος προσπέλασης μνήμης συμπεριλαμβάνοντας τον πίνακα σελίδων και το TLB) = 100 ns

Χρόνος προσπέλασης με σφάλμα σελίδας και με αντικατάσταση σελίδας για το 50% των σφαλμάτων σελίδας :

(20 ms ο χρόνος φόρτωσης μιας σελίδας σε ελεύθερο πλαίσιο και 20 ms ο χρόνος αντικατάστασης σελίδας λόγω μη ύπαρξης ελεύθερου πλαισίου) 0.5 * 20 ms + 0.5 * 40 ms = 30 ms

EAT = 0.00001 * 30 ms + (1- 0.00001) * 100 ns= 300 ns + 99.999999 ns ≈ 400 ns - απώλεια 300% !

Σφάλματα σελίδας και απόδοση (2)

Page 79: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Hard Disk ... OS D H J A E 3 v i 5 v i 6 v i 2 v 7 v Process 1’s logical memory Process 2’s logical

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639

Ποιος είναι ο ρυθμός σφαλμάτων, με τις ίδιες παραδοχές, ώστε να υπάρξει απώλεια απόδοσης 10% ;

Η απώλεια απόδοσης κατά 10% αντιστοιχεί σε EAT = 110 ns

110 ns > p * 30 ms + (1- p) * 100 ns > p * 30,000,000 ns + 100n

10 ns > p * 30,000,000 ns

p < 10 / 30,000,000 < 1 / 3,000,000

Σφάλματα σελίδας και απόδοση (3)