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

Πίνακας περιεχομένων:

Anonim

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

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

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

Σε αυτό το σεμινάριο λειτουργικού συστήματος, θα μάθετε:

  • Τι είναι η εικονική μνήμη;
  • Πώς λειτουργεί η εικονική μνήμη;
  • Τι είναι η σελιδοποίηση ζήτησης;
  • Τύποι μεθόδων αντικατάστασης σελίδας
  • Αντικατάσταση σελίδας FIFO
  • Βέλτιστος αλγόριθμος
  • Αντικατάσταση σελίδας LRU
  • Πλεονεκτήματα της εικονικής μνήμης
  • Μειονεκτήματα της εικονικής μνήμης

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

Εδώ είναι λόγοι για τη χρήση εικονικής μνήμης:

  • Όποτε ο υπολογιστής σας δεν έχει χώρο στη φυσική μνήμη, γράφει τι πρέπει να θυμάται στον σκληρό δίσκο σε ένα αρχείο ανταλλαγής ως εικονική μνήμη.
  • Εάν ένας υπολογιστής που εκτελεί 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 βοηθά το λειτουργικό σύστημα να εντοπίζει τη χρήση σελίδων σε σύντομο χρονικό διάστημα.
  • Η εικονική μνήμη βοηθά στην απόκτηση ταχύτητας όταν απαιτείται μόνο ένα συγκεκριμένο τμήμα του προγράμματος για την εκτέλεση του προγράμματος.
  • Οι εφαρμογές ενδέχεται να εκτελούνται πιο αργά εάν το σύστημα χρησιμοποιεί εικονική μνήμη.