"Institute of Educational Policy" Books
Εικονική μνήμη
Η κεντρική μνήμη του υπολογιστή αποτελείται από διαδοχικές θέσεις, με μέγεθος η κάθε μια π.χ. 16 ή 32 bits, που ονομάζονται λέξεις (words). Κάθε λέξη της μνήμης έχει τη δική της διεύθυνση, με την οποία αναφέρονται τα προγράμματα σε αυτή. Αν η μνήμη έχει μέγεθος Ν λέξεων, τότε η πρώτη λέξη έχει διεύθυνση 0, η δεύτερη έχει διεύθυνση 1 κ.ο.κ., ενώ η τελευταία λέξη έχει διεύθυνση Ν-1. Το σύνολο αυτών των Ν διευθύνσεων είναι σταθερό και ονομάζεται χώρος φυσικών διευθύνσεων (physical address space) ή χώρος απολύτων διευθύνσεων (absolute address space) ή χώρος πραγματικών διευθύνσεων (real address space).
Κάθε πρόγραμμα πρέπει να χρησιμοποιήσει διευθύνσεις για να αναφερθεί στα δεδομένα του, τα οποία βρίσκονται στη μνήμη. Τι γίνεται όμως αν οι διευθύνσεις των δεδομένων για δυο διεργασίες συμπίπτουν;
Μια διεργασία δ1 υπολογίζει ένα άθροισμα, το οποίο τοποθετεί στη θέση μνήμης με διεύθυνση 156. Μια άλλη διεργασία δ2 ζητά διάφορους αριθμούς από το χρήστη, τους οποίους τοποθετεί επίσης στη θέση μνήμης με διεύθυνση 156. Οι δύο διευθύνσεις συμπίπτουν, γιατί τα δυο προγράμματα γράφτηκαν ανεξάρτητα το ένα από το άλλο. Αν και οι δύο διεργασίες εκτελούνται ταυτόχρονα, η θέση μνήμης 156 θα χρησιμοποιείται πότε από τη μια διεργασία και πότε από την άλλη. Έτσι όμως καμία από τις δύο δε θα χρησιμοποιεί τις σωστές τιμές, αφού σε τυχαίες χρονικές στιγμές επεμβαίνει η άλλη και τις αλλάζει, και τελικά καμία δε θα δώσει τα σωστά αποτελέσματα.
Τι γίνεται επίσης όταν η διαθέσιμη κύρια μνήμη δε χωρά όλες τις διεργασίες;