Θυμόσαστε όταν πρωτοαντιληφθήκατε πως
ο υπολογιστής σας ήταν κάτι παραπάνω
από μια απλή οθόνη κι ένα πληκτρολόγιο;
Ότι ανάμεσα στο ποντίκι
και στο παίξιμο ενός βίντεο
υπήρχε κάτι
που συνελάμβανε την πρόθεσή σας,
την καταλάβαινε
και την έκανε πραγματική;
Τι είναι αυτό το κάτι τι;
Είναι δαιμόνια;
Ας φανταστούμε πως μπορούμε
να συρρικνωθούμε σε μέγεθος ηλεκτρονίου
και να εγχυθούμε στο πάτημα
ενός ποντικιού.
Αν άνοιγες το ποντίκι σου,
θα έβλεπες πως είναι ένας
πολύ απλός μηχανισμός.
Έχει δύο πλήκτρα
κι ένα σύστημα ανίχνευσης
κίνησης και απόστασης.
Ίσως έχετε οπτικό ποντίκι
που κάνει αυτές τις μετρήσεις
με φως και αισθητήρες,
που τα παλιότερα το έκαναν
με μια σκληρή λαστιχένια μπίλια
και πλαστικούς τροχούς.
Το ίδιο σκεπτικό.
Όταν πατάς το κουμπί στο ποντίκι σου,
στέλνει ένα μήνυμα στον υπολογιστή
με πληροφορίες για τη θέση του.
Όταν ο υπολογιστής λαμβάνει
το πάτημα του ποντικιού σου,
το διαχειρίζεται το βασικό υποσύστημα
εισόδου/εξόδου δεδομένων.
Αυτό το υποσύστημα ενεργεί
σαν τα μάτια και τα αυτιά
το στόμα και τα χέρια
του υπολογιστή.
Βασικά, παρέχει έναν τρόπο
αλληλεπίδρασης του υπολογιστή
με το περιβάλλον του.
Αλλά επίσης ενεργεί ως εξομαλυντής
για να προλάβει τον κατακλυσμό
της ΚΜΕ από περισπασμούς.
Τότε, το υποσύστημα
Εισόδου/Εξόδου αποφασίζει
πως το πάτημα του ποντικιού σου
είναι αρκετά σημαντικό
κι έτσι δημιουργεί μια διακοπή στην ΚΜΕ.
«Ε, Κεντρική Μονάδα!
Έχω ένα κλικ εδώ.»
Η ΚΜΕ, ή Κεντρική Μονάδα Επεξεργασίας,
είναι ο εγκέφαλος όλου του υπολογιστή.
Όπως ο εγκέφαλός σας
δεν καταλαμβάνει όλο το σώμα σας,
έτσι και η ΚΜΕ
δεν καταλαμβάνει όλο τον υπολογιστή
αλλά δίνουν παράσταση συνεχώς.
Όλη η δουλειά της ΚΜΕ
είναι να φέρνει πληροφορίες από τη μνήμη
και να τις εκτελεί.
Έτσι, καθώς, πληκτρολογείς συνέχεια,
ίσως πολύ γρήγορα,
όπως 60 λέξεις το λεπτό,
η ΚΜΕ φέρνει κι εκτελεί
δισεκατομμύρια οδηγίες το δευτερόλεπτο.
Ναι, δισεκατομμύρια κάθε δευτερόλεπτο:
οδηγίες για να κινήσεις
το ποντίκι σου στην οθόνη,
να τρέξεις την εφαρμογή ρολογιού
στην επιφάνεια εργασίας σου,
να βάλεις ραδιόφωνο στο διαδίκτυο,
να διαχειριστείς αρχεία σου
στο σκληρό δίσκο
και πολλά περισσότερα.
Η ΚΜΕ του υπολογιστή σου είναι
και πολύ πρώτος πολυεπεξεργαστής!
«Αλλά, Θεέ μου,
υπάρχει ένα σημαντικό πάτημα
του ποντικιού
που φτάνει τώρα!
Ας τα παρατήσουμε όλα τώρα
κι ας το διαχειριστούμε!»
Υπάρχουν προγράμματα για όλα
όσα κάνει η ΚΜΕ.
Ένα ειδικό πρόγραμμα για το ποντίκι,
για το ρολόι,
για το ραδιόφωνο,
και για τη διαχείριση γραμμάτων
που στέλνονται από το πληκτρολόγιο.
Kάθε πρόγραμμα αρχικά γράφτηκε
από έναν άνθρωπο
σε μια ευανάγνωστη γλώσσα
προγραμματισμού
όπως η Java,
η C++,
ή η Python.
Αλλά τα ανθρώπινα προγράμματα
καταλαμβάνουν πολύ χώρο
και περιέχουν πολλές περιττές
πληροφορίες για έναν υπολογιστή,
έτσι μεταγλωττίζονται και απλουστεύονται
και καταχωρούνται σε δυφία (bits)
σε τιμές του 1 και 0 στη μνήμη.
Η ΚΜΕ αντιλαμβάνεται
ότι χρειάζεται οδηγίες
για τη διαχείριση πατήματος
του ποντικιού
κι έτσι ψάχνει
για το πρόγραμμα του ποντικιού
και στέλνει αίτημα
στο υποσύστημα της μνήμης
για καταχωρημένες οδηγίες εκεί.
Κάθε οδηγία στον οδηγό του ποντικιού
φτάνει και εκτελείται δεόντως.
Κι αυτό δεν είναι καν
το τέλος της ιστορίας!
Επειδή η ΚΜΕ μαθαίνει πως
πατήθηκε το ποντίκι
όταν ο κέρσορας ήταν πάνω από μια εικόνα
ενός κουμπιού στην οθόνη
κι έτσι, η ΚΜΕ ρωτά τη μνήμη
για το πρόγραμμα οθόνης
να βρει ποιο είναι το κουμπί.
Και μετά η ΚΜΕ πρέπει να ρωτήσει τη μνήμη
για το πρόγραμμα για το πλήκτρο,
που σημαίνει πως η ΚΜΕ χρειάζεται
ξανά το πρόγραμμα οθόνης
για να δείξει το βίντεο που
συσχετίζεται με το κουμπί,
και πάει λέγοντας.
Κι ας πούμε απλώς πως υπάρχουν
πολλά προγράμματα που εμπλέκονται
πριν καν δεις το κουμπί στην οθόνη
που άναψε όταν το πάτησες.
Άρα, η απλή ενέργεια πατήματος
του ποντικιού
σηματοδοτεί την επίσκεψη
όλων των κρίσιμων στοιχείων
της αρχιτεκτονικής του υπολογιστή σου:
τα περιφερειακά,
το βασικό σύστημα εισόδου/εξόδου,
την ΚΜΕ,
τα προγράμματα,
και τη μνήμη
και κανένα δαίμονα.