ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης ii hard disk ... os d h...
TRANSCRIPT
![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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/1.jpg)
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
Διαχείριση μνήμης 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/2.jpg)
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
Διαχείριση μνήμης 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/6.jpg)
Αλγόριθμοι αντικατάστασης σελίδων (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/11.jpg)
• Βέλτιστος (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/24.jpg)
Τροποποίηση του 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/25.jpg)
Βελτίωση του αλγορίθμου 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/40.jpg)
Υλοποίηση 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/43.jpg)
Εκτέλεση του αλγορίθμου για έξι πλαίσια σελίδων και πέντε 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/46.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/48.jpg)
Δύο ζητήματα:
• Διατήρηση του 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/52.jpg)
Ο 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/53.jpg)
Αν δεν βρεθεί καμμία σελίδα που να ανήκει στη τελευταία κατηγορία τότε το λ.σ. Περιμένει να εκτελεστεί κάποια από τις επιλεγμένες εναλλαγές για να συνεχίσει η διεργασία. Τίθεται ένα ανώτατο όριο εναλλαγών για να αποφύγουμε το 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/55.jpg)
Σύνοψη
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/56.jpg)
Θέματα σχεδιασμού και απόδοσης
• Μοντελοποίηση αλγορίθμων αντικατάστασης σελίδων• Λειτουργικό σύνολο• Ρυθμός αντικατάστασης σελίδων• Τοπική ή καθολική αντικατάσταση σελίδων• Βαθμός πολυπρογραμματισμού• Μέγεθος σελίδας• Μοιραζόμενες σελίδες• Εμπλοκή του λ.σ.• Χειρισμός σφάλματος σελίδας
![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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/58.jpg)
Αλγόριθμοι στοίβας
Γενική μοντελοποίηση κατάστασης κύριας μνήμης Μ
• Αλφαριθμητικό αναφορών (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/59.jpg)
Εκτίμηση λειτουργικού συνόλου
Συνάρτηση πυκνότητας πιθανότητας αλφαριθμητικού απόστασης για δύο διαφορετικά προγράμματα (ή για δύο διαφορετικούς αλγορίθμους αντικατάστασης σελίδων για το ίδιο πρόγραμμα).
Στη πρώτη περίπτωση μπορεί να οριστεί το λειτουργικό σύνολο του προγράμματος / αλγορίθμου (οι σελίδες που περιλαμβάνονται στη περιοχή 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/60.jpg)
Ρυθμός σφαλμάτων σελίδας (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/61.jpg)
Η μοντελοποίηση του ρυθμού σφαμάτων σελίδας εκτιμά τον αριθμό πλαισίων σελίδων που απαιτείται για το λειτουργικό σύνολο.
Στη πράξη το λ.σ. αναθέτει αρχικά ένα αριθμό πλαισίων σελίδων σε κάθε διεργασία και εκτελεί συνεχείς μετρήσεις των σφαλμάτων σελίδας με τον αλγόριθμο 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/62.jpg)
(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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/63.jpg)
Συνήθως τα λ.σ. αναθέτει σε κάθε διεργασία έναν αριθμό πλαισίων σελίδας, λειτουργεί με τοπική αντικατάσταση σελίδων και παρακολουθεί την εξέλιξη του ρυθμού αντικατάστασης σελίδων κάθε διεργασίας με 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/64.jpg)
Βαθμός πολυπρογραμματισμούΣε ακραίες περιπτώσεις ο αλγόριθμος 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/65.jpg)
Μέγεθος σελίδας (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/66.jpg)
Μέγεθος σελίδας (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/67.jpg)
Δύο διεργασίες μοιράζονται τον ίδιο κώδικα αλλά διαφορετικά δεδομένα (πχ ένας επεξεργαστής κειμένου επεξεργάζεται δύο κείμενα). Τι συμβαίνει αν 'ανοίξουμε' δύο φορές το ίδιο κείμενο;
Διαμοιραζόμενες σελίδες (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/69.jpg)
Μια βιβλιοθήκη (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/71.jpg)
Εμπλοκή του λ.σ. στη σελιδοποίηση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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/72.jpg)
• Το υλικό προκαλεί διακοπή προς το πυρήνα, σώζει τον μετρητή προγράμματος, και ξεκινά τη ρουτίνα διακοπής.
• Η ρουτίνα διακοπής (γλώσσα 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/73.jpg)
• Αν το πλαίσιο σελίδας που επιλέχθηκε είναι 'βρώμικο' η σελίδα χρονοπρογραμματίζεται για εναλλαγή στο δίσκο. Η διεργασία που προκάλεσε σφάλμα αναστέλλεται για εγγραφή στο /ανάγνωση από το δίσκο και εκτελείται θεματική εναλλαγή.
• Αν το πλαίσιο σελίδας είναι ελεύθερο ή 'καθαρό', τότε απαιτείται μόνο ανάγνωση από το δίσκο. Η διεργασία που προκάλεσε το σφάλμα αναστέλλεται για ανάγνωση από το δίσκο και εκτελείται θεματική εναλλαγή.
• Όταν η Ε/Ε με το δίσκο ολοκληρωθεί, το λ.σ. τοποθετεί τη σελίδα στο πλαίσιο και ενημερώνει το πίνακα σελίδων
• Ο μετρητής προγράμματος της διεργασίας που προκάλεσε το σφάλμα σελίδας επαναφέρεται στην εντολή που προκάλεσε το σφάλμα.
Διαχείριση σφάλματος σελίδας (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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/74.jpg)
• Η διεργασία χρονοπρογραμματίζεται για εκτέλεση και το λ.σ. Επιστρέφει τον έλεγχο στη ρουτίνα διακοπής που το κάλεσε.
• Η ρουτίνα διακοπής ξαναφορτώνει τους καταχωρητές και τα υπόλοιπα στοιχεία της διεργασίας που είχε σώσει.
• 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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/75.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/76.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/77.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/78.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042620/5ad18b2a7f8b9a482c8b810c/html5/thumbnails/79.jpg)
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)