Paging vs Swapping
Η σελιδοποίηση είναι μια μέθοδος διαχείρισης μνήμης που χρησιμοποιείται από τα λειτουργικά συστήματα. Η σελιδοποίηση επιτρέπει στην κύρια μνήμη να χρησιμοποιεί δεδομένα που βρίσκονται σε μια δευτερεύουσα συσκευή αποθήκευσης. Αυτά τα δεδομένα αποθηκεύονται στη δευτερεύουσα συσκευή αποθήκευσης ως μπλοκ ίσου μεγέθους που ονομάζονται σελίδες. Η σελιδοποίηση επιτρέπει στο λειτουργικό σύστημα να χρησιμοποιεί δεδομένα που δεν χωρούν στην κύρια μνήμη. Η εναλλαγή είναι ένας όρος που χρησιμοποιείται για να περιγράψει την πράξη της μετακίνησης όλων των τμημάτων που ανήκουν σε μια διεργασία μεταξύ της κύριας μνήμης και μιας δευτερεύουσας συσκευής αποθήκευσης.
Τι είναι η σελιδοποίηση;
Η σελιδοποίηση είναι μια μέθοδος διαχείρισης μνήμης που χρησιμοποιείται από τα λειτουργικά συστήματα. Η σελιδοποίηση επιτρέπει στην κύρια μνήμη να χρησιμοποιεί δεδομένα που βρίσκονται σε μια δευτερεύουσα συσκευή αποθήκευσης. Αυτά τα δεδομένα αποθηκεύονται στη δευτερεύουσα συσκευή αποθήκευσης ως μπλοκ ίδιου μεγέθους που ονομάζονται σελίδες. Η σελιδοποίηση επιτρέπει στο λειτουργικό σύστημα να χρησιμοποιεί δεδομένα που δεν χωρούν στην κύρια μνήμη. Όταν ένα πρόγραμμα προσπαθεί να αποκτήσει πρόσβαση σε μια σελίδα, πρώτα ελέγχεται ο πίνακας σελίδων για να διαπιστωθεί εάν αυτή η σελίδα βρίσκεται στην κύρια μνήμη. Ο πίνακας σελίδων περιέχει λεπτομέρειες σχετικά με το πού αποθηκεύονται οι σελίδες. Εάν δεν υπάρχει στην κύρια μνήμη, ονομάζεται σφάλμα σελίδας. Το λειτουργικό σύστημα είναι υπεύθυνο για το χειρισμό σφαλμάτων σελίδας χωρίς να τα εμφανίζει στο πρόγραμμα. Το λειτουργικό σύστημα βρίσκει πρώτα πού είναι αποθηκευμένη η συγκεκριμένη σελίδα στη δευτερεύουσα αποθήκευση και στη συνέχεια τη φέρνει σε ένα κενό πλαίσιο σελίδας στην κύρια μνήμη. Στη συνέχεια, ενημερώνει τον πίνακα σελίδων για να υποδείξει ότι τα νέα δεδομένα βρίσκονται στην κύρια μνήμη και επιστρέφει το στοιχείο ελέγχου στο πρόγραμμα που ζήτησε αρχικά τη σελίδα.
Τι είναι η ανταλλαγή;
Η εναλλαγή είναι η διαδικασία μετακίνησης όλων των τμημάτων που ανήκουν σε μια διεργασία μεταξύ της κύριας μνήμης και μιας δευτερεύουσας συσκευής αποθήκευσης. Η εναλλαγή γίνεται κάτω από βαρύτερα φορτία εργασίας. Ο πυρήνας του λειτουργικού συστήματος θα μετακινούσε όλα τα τμήματα μνήμης που ανήκουν σε μια διεργασία σε μια περιοχή που ονομάζεται περιοχή ανταλλαγής. Όταν επιλέγετε μια διαδικασία για εναλλαγή, το λειτουργικό σύστημα θα επιλέξει μια διαδικασία που δεν θα γίνει ενεργή για λίγο. Όταν η κύρια μνήμη έχει αρκετό χώρο για να κρατήσει τη διαδικασία, θα μεταφερθεί ξανά στην κύρια μνήμη από τον χώρο ανταλλαγής, έτσι ώστε να μπορεί να συνεχιστεί η εκτέλεσή της.
Ποια είναι η διαφορά μεταξύ σελιδοποίησης και ανταλλαγής;
Στη σελιδοποίηση, μπλοκ ίσου μεγέθους (που ονομάζονται σελίδες) μεταφέρονται μεταξύ της κύριας μνήμης και μιας δευτερεύουσας συσκευής αποθήκευσης, ενώ κατά την εναλλαγή, όλα τα τμήματα που ανήκουν σε μια διεργασία θα μετακινούνται εμπρός και πίσω μεταξύ της κύριας μνήμης και μια δευτερεύουσα συσκευή αποθήκευσης. Δεδομένου ότι η σελιδοποίηση επιτρέπει τη μετακίνηση σελίδων (θα μπορούσε να είναι μέρος του χώρου διευθύνσεων μιας διαδικασίας), είναι πιο ευέλικτη από την εναλλαγή. Δεδομένου ότι, η σελιδοποίηση μετακινεί μόνο σελίδες (σε αντίθεση με την εναλλαγή, η οποία μετακινεί μια ολόκληρη διαδικασία), η σελιδοποίηση θα επέτρεπε σε περισσότερες διεργασίες να βρίσκονται στην κύρια μνήμη ταυτόχρονα, σε σύγκριση με ένα σύστημα ανταλλαγής. Η εναλλαγή είναι πιο κατάλληλη όταν εκτελείτε μεγαλύτερο φόρτο εργασίας.