Εικονική μνήμη στο λειτουργικό σύστημα: Τι είναι, σελιδοποίηση ζήτησης, πλεονεκτήματα

Τι είναι η εικονική μνήμη;

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

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

Γιατί χρειάζεστε εικονική μνήμη;

Ακολουθούν οι λόγοι για τη χρήση εικονικής μνήμης:

  • Κάθε φορά που ο υπολογιστής σας δεν έχει χώρο στη φυσική μνήμη, γράφει ό,τι χρειάζεται να θυμάται στον σκληρό δίσκο σε ένα αρχείο ανταλλαγής ως εικονική μνήμη.
  • Εάν λειτουργεί ένας υπολογιστής Windows χρειάζεται περισσότερη μνήμη/RAM, στη συνέχεια εγκαθίσταται στο σύστημα, χρησιμοποιεί ένα μικρό τμήμα του σκληρού δίσκου για το σκοπό αυτό.

Πώς λειτουργεί η εικονική μνήμη;

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

Έτσι, σε αυτή την περίπτωση, αντί να εμποδίζει την είσοδο σελίδων στην κύρια μνήμη, το λειτουργικό σύστημα αναζητά τον χώρο RAM που χρησιμοποιείται ελάχιστα τον τελευταίο καιρό ή που δεν αναφέρονται στη δευτερεύουσα μνήμη για να δημιουργήσει χώρο για τις νέες σελίδες στο την κύρια μνήμη.

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

Για παράδειγμα

Ας υποθέσουμε ότι ένα λειτουργικό σύστημα απαιτεί 300 MB μνήμης για την αποθήκευση όλων των εκτελούμενων προγραμμάτων. Ωστόσο, προς το παρόν υπάρχουν μόνο 50 MB διαθέσιμης φυσικής μνήμης αποθηκευμένη στη μνήμη RAM.

  • Στη συνέχεια, το λειτουργικό σύστημα θα εγκαταστήσει 250 MB εικονικής μνήμης και θα χρησιμοποιήσει ένα πρόγραμμα που ονομάζεται Virtual Memory Manager (VMM) για τη διαχείριση αυτών των 250 MB.
  • Έτσι, σε αυτήν την περίπτωση, το VMM θα δημιουργήσει ένα αρχείο στον σκληρό δίσκο μεγέθους 250 MB για να αποθηκεύσει επιπλέον μνήμη που απαιτείται.
  • Το λειτουργικό σύστημα θα προχωρήσει τώρα στη διευθυνσιοδότηση της μνήμης καθώς θεωρεί 300 MB πραγματικής μνήμης που είναι αποθηκευμένα στη μνήμη RAM, ακόμα κι αν είναι διαθέσιμος μόνο 50 MB χώρος.
  • Είναι δουλειά του VMM να διαχειρίζεται μνήμη 300 MB ακόμα κι αν είναι διαθέσιμος μόνο 50 MB πραγματικής μνήμης.

Τι είναι η σελιδοποίηση ζήτησης;

Απαίτηση σελιδοποίησης

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

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

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

Τύποι μεθόδων αντικατάστασης σελίδας

Ακολουθούν ορισμένες σημαντικές μέθοδοι αντικατάστασης σελίδας

  • FIFO
  • Βέλτιστος Αλγόριθμος
  • Αντικατάσταση σελίδας LRU

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

Το FIFO (First-in-first-out) είναι μια απλή μέθοδος υλοποίησης. Σε αυτήν τη μέθοδο, η μνήμη επιλέγει τη σελίδα για μια αντικατάσταση που βρίσκεται στην εικονική διεύθυνση της μνήμης για το μεγαλύτερο χρονικό διάστημα.

Χαρακτηριστικά

  • Κάθε φορά που φορτώνεται μια νέα σελίδα, η σελίδα που εμφανίζεται πρόσφατα στη μνήμη αφαιρείται. Έτσι, είναι εύκολο να αποφασίσετε ποια σελίδα πρέπει να αφαιρεθεί, καθώς ο αριθμός αναγνώρισής της βρίσκεται πάντα στη στοίβα FIFO.
  • Η παλαιότερη σελίδα στην κύρια μνήμη είναι αυτή που πρέπει πρώτα να επιλεγεί για αντικατάσταση.

Βέλτιστος Αλγόριθμος

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

Χαρακτηριστικά

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

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

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

Πώς λειτουργεί;

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

Χαρακτηριστικά

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

Ποσοστό σφάλματος

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

Πλεονεκτήματα της εικονικής μνήμης

Ακολουθούν τα πλεονεκτήματα/πλεονεκτήματα της χρήσης της εικονικής μνήμης:

  • Η εικονική μνήμη βοηθά στην απόκτηση ταχύτητας όταν απαιτείται μόνο ένα συγκεκριμένο τμήμα του προγράμματος για την εκτέλεση του προγράμματος.
  • Είναι πολύ χρήσιμο στην υλοποίηση ενός περιβάλλοντος πολυπρογραμματισμού.
  • Σας επιτρέπει να εκτελείτε περισσότερες εφαρμογές ταυτόχρονα.
  • Σας βοηθά να χωρέσετε πολλά μεγάλα προγράμματα σε μικρότερα προγράμματα.
  • Τα κοινά δεδομένα ή ο κώδικας ενδέχεται να μοιράζονται μεταξύ της μνήμης.
  • Η διαδικασία μπορεί να γίνει ακόμη μεγαλύτερη από όλη τη φυσική μνήμη.
  • Τα δεδομένα / ο κώδικας πρέπει να διαβάζονται από το δίσκο όποτε απαιτείται.
  • Ο κώδικας μπορεί να τοποθετηθεί οπουδήποτε στη φυσική μνήμη χωρίς να απαιτείται μετεγκατάσταση.
  • Θα πρέπει να διατηρούνται περισσότερες διεργασίες στην κύρια μνήμη, γεγονός που αυξάνει την αποτελεσματική χρήση της CPU.
  • Κάθε σελίδα είναι αποθηκευμένη σε ένα δίσκο μέχρι να απαιτείται, μετά από αυτό θα αφαιρεθεί.
  • Επιτρέπει την ταυτόχρονη εκτέλεση περισσότερων εφαρμογών.
  • Δεν υπάρχει συγκεκριμένο όριο στον βαθμό πολυπρογραμματισμού.
  • Θα πρέπει να γράφονται μεγάλα προγράμματα, καθώς ο διαθέσιμος χώρος εικονικών διευθύνσεων είναι περισσότερο σε σύγκριση με τη φυσική μνήμη.

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

Ακολουθούν τα μειονεκτήματα/μειονεκτήματα της χρήσης εικονικής μνήμης:

  • Οι εφαρμογές ενδέχεται να εκτελούνται πιο αργά εάν το σύστημα χρησιμοποιεί εικονική μνήμη.
  • Πιθανώς χρειάζεται περισσότερος χρόνος για την εναλλαγή μεταξύ των εφαρμογών.
  • Προσφέρει μικρότερο χώρο στον σκληρό δίσκο για τη χρήση σας.
  • Μειώνει τη σταθερότητα του συστήματος.
  • Επιτρέπει σε μεγαλύτερες εφαρμογές να εκτελούνται σε συστήματα που δεν προσφέρουν αρκετή φυσική RAM από μόνη της για να τις τρέξουν.
  • Δεν προσφέρει την ίδια απόδοση με τη μνήμη RAM.
  • Επηρεάζει αρνητικά τη συνολική απόδοση ενός συστήματος.
  • Καταλάβετε τον χώρο αποθήκευσης, ο οποίος μπορεί να χρησιμοποιηθεί διαφορετικά για μακροπρόθεσμη αποθήκευση δεδομένων.

Σύνοψη

  • Η εικονική μνήμη είναι ένας μηχανισμός αποθήκευσης που προσφέρει στον χρήστη την ψευδαίσθηση ότι έχει πολύ μεγάλη κύρια μνήμη.
  • Απαιτείται εικονική μνήμη κάθε φορά που ο υπολογιστής σας δεν έχει χώρο στη φυσική μνήμη
  • Ένας μηχανισμός σελιδοποίησης ζήτησης είναι πολύ παρόμοιος με ένα σύστημα σελιδοποίησης με εναλλαγή, όπου οι διαδικασίες που είναι αποθηκευμένες στη δευτερεύουσα μνήμη και οι σελίδες φορτώνονται μόνο κατόπιν ζήτησης, όχι εκ των προτέρων.
  • Σημαντικές μέθοδοι αντικατάστασης σελίδας είναι 1) FIFO 2) Βέλτιστος αλγόριθμος 3) Αντικατάσταση σελίδας LRU.
  • Στη μέθοδο FIFO (First-in-first-out), η μνήμη επιλέγει τη σελίδα για μια αντικατάσταση που βρίσκεται στην εικονική διεύθυνση της μνήμης για το μεγαλύτερο χρονικό διάστημα.
  • Η βέλτιστη μέθοδος αντικατάστασης σελίδας επιλέγει τη σελίδα για μια αντικατάσταση για την οποία ο χρόνος μέχρι την επόμενη αναφορά είναι ο μεγαλύτερος.
  • Η μέθοδος LRU βοηθά το λειτουργικό σύστημα να βρίσκει τη χρήση της σελίδας σε σύντομο χρονικό διάστημα.
  • Η εικονική μνήμη βοηθά στην απόκτηση ταχύτητας όταν απαιτείται μόνο ένα συγκεκριμένο τμήμα του προγράμματος για την εκτέλεση του προγράμματος.
  • Οι εφαρμογές ενδέχεται να εκτελούνται πιο αργά εάν το σύστημα χρησιμοποιεί εικονική μνήμη.