Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Τι θα μάθεις;

Όταν ολοκληρώσεις το μάθημα αυτό, θα μπορείς: - Να απαριθμείς τα είδη μνήμης σε ένα υπολογιστή - Να εξηγείς πώς το ΛΣ εκμεταλλεύεται τη δευτερεύουσα μνήμη για να ενισχύσει το μέγεθος της κύριας - Να ορίζεις την εικονική μνήμη - Να περιγράφεις πώς διαχειριζόμαστε την εικονική μνήμη και πώς την αντιστοιχίζουμε στη φυσική μνήμη

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

Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στη μνήμη (memory) του υπολογιστή.

Οι μονάδες μνήμης ανήκουν σε δυο αρκετά διαφορετικές κατηγορίες ανάλογα με το αν αποθηκεύουν τα δεδομένα προσωρινά ή μόνιμα:

- Στην κύρια ή κεντρική μνήμη (main memory) του υπολογιστή αποθηκεύονται τα προγράμματα που εκτελεί η ΚΜΕ και τα δεδομένα για τα προγράμματα αυτά. Η αποθήκευση αυτή είναι προσωρινή, και διαρκεί όσο και η λειτουργία του υπολογιστή. Όταν κλείσει ο υπολογιστής τα δεδομένα αυτά χάνονται. Επειδή η κύρια μνήμη των υπολογιστών είναι έτσι οργανωμένη ώστε να μπορεί να προσπελαστεί άμεσα οποιαδήποτε θέση της, αναφέρεται ως μνήμη τυχαίας προσπέλασης (Random Access Memory) και αποκαλείται RAM. Οι όροι «κύρια μνήμη» και «RAM» δεν είναι εξ ορισμού ταυτόσημοι, αλλά έχει καθιερωθεί η από κοινού χρήση τους για την περιγραφή της κύριας μνήμης.

Συμπλήρωμα της κύριας μνήμης είναι η μνήμη ROM (Read Only Memory), στην οποία είναι καταγραμμένα μόνιμα από τον κατασκευαστή του υπολογιστή ορισμένα βασικά προγράμματα ή μικρά τμήματα του ΛΣ.

- Στη δευτερεύουσα ή περιφερειακή μνήμη (secondary memory) τα δεδομένα αποθηκεύονται μόνιμα. Τα δεδομένα που θα καταγραφούν στη δευτερεύουσα μνήμη δε χάνονται όταν κλείσει ο υπολογιστής, και είναι διαθέσιμα την επόμενη φορά που θα λειτουργήσει. Μονάδες δευτερεύουσας μνήμης είναι οι σκληροί δίσκοι, οι εύκαμπτοι δίσκοι, τα CD ROM κλπ.

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

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

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

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

Για να εκτελεστεί μια διεργασία πρέπει τόσο το πρόγραμμά της όσο και τα δεδομένα της να έχουν καταχωρηθεί σε κάποιες θέσεις της κύριας μνήμης. Για να εκτελεστεί η διεργασία, είναι απαραίτητο να χρησιμοποιηθούν το πρόγραμμα και τα δεδομένα. Οι αντίστοιχες θέσεις μνήμης διαβάζονται και γράφονται, γίνονται λοιπόν προσπελάσεις (accesses) σε αυτές.

Είναι φανερό ότι ο τρόπος με τον οποίο το ΛΣ διαχειρίζεται την κύρια μνήμη ενός υπολογιστή επηρεάζει πολύ τον τρόπο λειτουργίας του, αλλά και την απόδοσή του. Όταν σχεδιάζεται ένα ΛΣ, η διαχείριση της κύριας μνήμης είναι ένα πεδίο σοβαρών σχεδιαστικών αποφάσεων: - Κάθε στιγμή θα χρησιμοποιούν τη μνήμη μια ή περισσότερες διεργασίες; - Αν η μνήμη χρησιμοποιείται από πολλές διεργασίες ταυτόχρονα, θα είναι χωρισμένη σε τμήματα ίσου ή διαφορετικού μεγέθους; - Ο χωρισμός της μνήμης σε τμήματα θα είναι μόνιμος ή θα αλλάζει ανάλογα με τις διεργασίες που εκτελούνται; - Το πρόγραμμα και τα δεδομένα κάθε διεργασίας θα είναι αποθηκευμένα σε ένα συνεχόμενο τμήμα της μνήμης ή θα μπορούν να κατανεμηθούν ανάμεσα σε πολλά διάσπαρτα τμήματα;