Δευτέρα 3 Φεβρουαρίου 2014

ΤΟ 13, ΟΙ ΠΡΟΛΗΨΕΙΣ ΚΑΙ ΤΑ ΜΥΣΤΗΡΙΑ ΤΗΣ ΜΗΧΑΝΟΓΡΑΦΗΣΗΣ




Ένα μυστηριώδες πρόβλημα στο σύστημα μεταγωγής μηνυμάτων
(message switching)
Γράφει ο Παρασκευάς Λιβάνης
Συνταξιούχος μηχανογράφος της Ολυμπιακής
Μία μέρα στο γραφείο (στο κτήριο της  μηχανογράφησης),  έφερα ένα απόκομμα εφημερίδας που έγραφε:
Στις 13 Ιουλίου 1988 η Ινδία εκτόξευσε πύραυλο 4 βαθμίδων που μετέφερε δορυφόρο 145 κιλών. Η επαφή εχάθει μετά την εκτόξευση και ο πύραυλος έπεσε στον Ινδικό ωκεανό,   κτλ ....
Το έδωσα στον Νίκο και του είπα: Γιατί απέτυχε η εκτόξευση του πυραύλου; Ο Νίκος προσπάθησε να βρει κάποια τεχνική αιτία για την αποτυχία, αλλά δεν βρήκε. Και τότε του είπα: Το 13 φταίει! Στις 13 βρήκαν να εκτοξεύσουν τον πύραυλο; Και γελάγαμε.
Ο Νίκος δεν πίστευε ότι το 13 ήταν γρουσούζικο, όμως ένα καλοκαίρι 13 του μηνός σε διακοπές, αγόρασαν κεφαλοτύρι που έφαγαν και κατέληξαν στο νοσοκομείο με δηλητηρίαση. Οι άλλοι δεν πίστευαν αυτή την εκδοχή του 13, αλλά εγώ έλεγα (μισοαστεία - μισοσοβαρά) ότι και ο βασιλιάς δεν πίστευε το 13, έκανε αντεπανάσταση 13 Δεκεμβρίου 1967 και γι'αυτό απέτυχε!
Από τον έλεγχο μηνυμάτων (Message Switching Control ) μας ανέφεραν ότι μερικά βράδια, γύρω στα μεσάνυχτα, είχαν ένα πρόβλημα. Εάν ήθελαν να δουν κάποιο μήνυμα στην οθόνη, εμφανιζόταν η αρχή του και το υπόλοιπο δεν φαινόταν στην οθόνη. Το μήνυμα όμως υπήρχε, διότι μπορούσε να τυπωθεί! Μετά τα μεσάνυχτα το μήνυμα εμφανιζόταν κανονικά!
Εμείς σαν προγραμματιστές, τους είπαμε όταν εμφανιστεί πάλι το πρόβλημα, να το τυπώσουν και να μας το φέρουν. Μετά από δύο δεκαήμερα, στις 14 του μηνός ο Δημήτρης έφερε την εκτύπωση μηνύματος που δεν μπορούσαν να δουν στην οθόνη. Αυτό έγινε στις 13 του μηνός λίγο πριν τα μεσάνυχτα! Το 13 φταίει, δήλωσα εγώ! Η εξήγηση μου προκάλεσε μειδιάματα, αλλά το πρόβλημα έπρεπε να λυθεί το συντομότερο. Ο Δημήτρης είπε ότι το πρόβλημα, εμφανιζόταν κάθε 13 του μηνός! Εξετάσαμε την εκτύπωση, αλλά δεν βρήκαμε άκρη. Αποφασίσαμε να συνεχίσουμε την προσπάθεια επίλυσης αλλά παράλληλα να προετοιμάσουμε ένα Realtime Trace  πράγμα που σήμαινε ότι, όταν εμφανιζόταν το πρόβλημα, θα βιντεοσκοπούσαμε και θα τυπώναμε τη ροή των προγραμμάτων, και θα μελετούσαμε τις λεπτομέρειες.
Τον επόμενο μήνα, στις 13 λίγο πριν τα μεσάνυχτα εμφανίστηκε το πρόβλημα αλλά μέχρι να ειδοποιηθεί ο προγραμματιστής  επιφυλακής (standby) να δώσει την εντολή για tο Realtime Trace εξαφανίστηκε το πρόβλημα! Τον επόμενο μήνα, στις 13, έπεσε το σύστημα τα μεσάνυχτα, και δεν μπορούσε να γίνει τίποτα. Τον επόμενο μήνα, στις 13, εμφανίστηκε το πρόβλημα και ο προγραμματιστής (standby)  έδωσε την εντολή για το Realtime Trace. Τυπώθηκαν τα αποτελέσματα αλλά ... ο προγραμματιστής στην εντολή δεν συμπεριέλαβε και εκτύπωση εγγραφών, με αποτέλεσμα να μην έχουμε εικόνα της μνήμης που περιείχε το μήνυμα.
Τον επόμενο μήνα, στις 13, επιτέλους βγήκε εκτύπωση με την εικόνα της μνήμης του μηνύματος. Ο Χρήστος, πρώτος εντόπισε μία εντολή ΤΕΛΟΣΜΥΝΗΜΑΤΟΣ στην αρχή του μηνύματος! Τι είχε συμβεί; Στην επικεφαλίδα του μηνύματος έβαζε το σύστημα την ημερομηνία 13 και ώρα π.χ. 23:45. Ο συνδυασμός αυτός στο δυαδικό σύστημα αρίθμησης έτυχε να είναι ίδιος με εντολή ΤΕΛΟΣΜΥΝΗΜΑΤΟΣ! Γι' αυτό το μήνυμα κοβόταν και δεν φαινόταν στην οθόνη! Μετά από αυτό, εύκολα το διορθώσαμε. Εγώ όμως ακόμα έχω μία απορία: Από όλες τις ημέρες του μήνα 1,2, ... 30, 31 πως συνέβη και μόνο το 13 δημιουργούσε πρόβλημα;
"Τα δικά μας φτερά"

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου