40Y EARS CP/M

40 χρονια CP/M | Το πρωτο OS για μικροϋπολογιστες

vinieta-featureΦέτος (2014) κλείνουν 40 χρόνια από την ολοκλήρωση του λειτουργικού συστήματος που καθόρισε τους προσωπικούς υπολογιστές και το μέλλον τους. Το περίφημο CP/M της Digital Research που μεσουράνησε την 8μπιτη γενιά PC στη δεκαετία του ’70, αλλά έχασε άδοξα τη 16μπιτη γενιά των IBM-PC από το MS DOS.  Τραγική ειρωνία; Το λειτουργικό σύστημα που τοποθετήθηκε τελικά στον IBM-PC, λίγο πριν κυκλοφορήσει στην αγορά, ήταν μία «στο πόδι» αντιγραφή του CP/M.

CP/M Ένα προϊόν ενθουσιασμού

Ο Γκάρι Κίλνταλ είναι ο άνθρωπος πίσω από το CP/M και μία από τις πιο ενδιαφέρουσες προσωπικότητες στην ιστορία των υπολογιστών. Ανήσυχο πνεύμα, δημιουργικός, οραματιστής και με πολλά ενδιαφέροντα, αλλά και αυτοκαταστροφικός, ο Κίλνταλ κατέληξε να σχεδιάζει το πρώτο λειτουργικό σύστημα για μικροϋπολογιστές από καθαρό ενθουσιασμό.

Γκάρι Κίλνταλ: ο δημιουργός του CP/M και ιδρυτής της Digital Research.

Το 1972, έχοντας ολοκληρώσει τη διδακτορική του διατριβή στην επιστήμη των υπολογιστών, εργάζεται στη σχολή του Πολεμικού Ναυτικού στο Μόντερεϊ της Καλιφόρνια. Το πρόγραμμά του Κίλνταλ είναι χαλαρό και έχει μεγάλη ελευθερία κινήσεων, οπότε και παρακολουθεί με ενθουσιασμό τις θεαματικές εκείνη την εποχή εξελίξεις στο χώρο των υπολογιστών και ιδιαίτερα των επεξεργαστών. Ένα χρόνο αργότερα του παρουσιάζουν το μοντέλο λειτουργίας του νέου 8μπιτου επεξεργαστή Intel 8080, ο οποίος του προκαλεί πολύ μεγάλο ενδιαφέρον. Σχεδόν αμέσως προτείνει στην Intel να σχεδιάσει τον compiler για τη γλώσσα PL/I (Programming Language/1) που ως τότε χρησιμοποιούνταν σε μεγάλα συστήματα της IBM. Στη νέα μορφή για τον Intel 8080, θα ονομαζόταν PL/M (Programming Language for Microporcessors).

Η Intel όχι μόνο δέχτηκε, αλλά του παραχώρησε και δικό του χώρο στις εγκαταστάσεις της όπου και θα μπορούσε να εργάζεται μία μέρα την εβδομάδα, στον ελεύθερό του χρόνο. Ο Κίλνταλ άρχισε αμέσως το σχεδιασμό του compiler, ο οποίος πρώτα θα προγραμματίζονταν στον PDP-10 που είχε στη διάθεσή του στη σχολή του Πολεμικού Ναυτικού (σε FORTRAN) και μετά θα μεταφερόταν στην 8μπιτη πλατφόρμα της Intel. Σε πρώτη φάση μάλιστα, ο Κίλνταλ δεν είχε καν πρόσβαση στον 8080. Ακόμη και μετά την ολοκλήρωση του compiler της PL/M το μόνο σύστημα που είχε στη διάθεσή του (ως ανταμοιβή από την Intel) ήταν ο Intellec-8. Ένας από τους πρώτους μικροϋπολογιστές, αποκλειστικά για τα τεστ και τον προγραμματισμό του προηγούμενου 8μπιτου επεξεργαστή της Intel, 8008. Μέχρι εκείνη τη στιγμή όλος ο προγραμματισμός γινόταν στον PDP-10 και σε περιβάλλον διαμοιρασμού χρόνου, εξομοιώνοντας τη λειτουργία τόσο του 8008 όσο και του 8080.

Μέχρι τα τέλη του 1973 ο Intellec-8 του Κίλνταλ αναβαθμίστηκε με τον πολυπόθητο επεξεργαστή Intel 8080, ενώ παράλληλα η μικρή τότε εταιρεία του Άλαν Σούγκαρτ του είχε παραχωρήσει ένα από τα πρώτα floppy disk drives των 8 ιντσών. Το αστείο ήταν ότι επειδή η συσκευή προερχόταν από εκείνες που χρησιμοποιούνταν για τις δοκιμές στη γραμμή παραγωγής, εκτός του ότι ήταν καταπονημένη, δεν διέθετε ούτε καλώδια, ούτε τροφοδοσία, ούτε -και το κυριότερο- κύκλωμα ελεγκτή ώστε να μπορέσει να συνδεθεί με τον υπολογιστή του Κίλνταλ.

PDP-10 (1967): Ο διάδοχος του PDP-6 ήταν δύο φορές ταχύτερος και στο 1/3 του κόστους του προκατόχου του. Αποδείχτηκε ικανότατος για εφαρμογές χρονομερισμού και πολυπεξεργασία. Αρχική τιμή: 110.000 δολ. Πωλήσεις: ~700
Το ότι το CP/M που προοριζόταν για μικροϋπολογιστές με 8μπιτο επεξεργαστή Intel 8080, σχεδιάστηκε σκεδόν εξ ολοκλήρου σε ένα PDP-10 mainframe σε συνθήκες εξομοίωσης της λειτουργίας του 8080, αποτελεί και δείγμα την προγραμματιστικής ευφυίας του Γκάρι Κίλνταλ.

Σε αυτό το σημείο πρέπει να αναφερθεί ότι ο Κίλνταλ είχε πάντα στο νου του έναν μελλοντικό προσωπικό μικροϋπολογιστή (σ.σ. βρισκόμαστε ακόμη δύο χρόνια πριν την ολοκλήρωση του Altair 8800), όπου η PL/M θα αποτελούσε την κύρια γλώσσα προγραμματισμού, με τον compiler αποθηκευμένο μόνιμα στη μνήμη. Μέχρι τότε, τα πρώτα κιτ μικροϋπολογιστών χρησιμοποιούσαν την ταινία ως βασικό μέσο αποθήκευσης. Το FDD, αν και ακόμη σχετικά ακριβό (πάνω από 500 δολάρια) θα αποτελούσε μία τεράστια αναβάθμιση στις δυνατότητές τους. Εκεί ακριβώς απέβλεπε ο Κίλνταλ, προχωρώντας ένα βήμα παρακάτω, πάντα σε περιβάλλον προσομοίωσης στον PDP-10. Μην μπορώντας ακόμη να συνδέσει το FDD της Shugart στον Intellec-8 που διέθετε, προγραμμάτισε στην PL/M που είχε μόλις ολοκληρώσει ένα υποτυπώδες λειτουργικό σύστημα που θα συνδυαζόταν με floppy disk drive. Οι προσπάθειες αυτές γίνονταν παράλληλα και, παρά τον ενθουσιασμό του, τα εμπόδια γίνονταν ανυπέρβλητα και χανόταν πολύτιμος χρόνος.

Η λύση δόθηκε από τον χομπίστα Τζον Τόροντ, με τον οποίο γνωρίστηκε εκείνη τη χρονιά ο Κίλνταλ και του ζήτησε να κατασκευάσει ένα κύκλωμα ελεγκτή ώστε να μπορέσει επιτέλους να συνδέσει το drive με τον υπολογιστή του. Πράγμα που έγινε τελικά τον Οκτώβρη του 1973. Οι δύο φίλοι έμειναν εμβρόντητοι όταν είδαν ότι τόσο το λειτουργικό σύστημα όσο και ο compiler που είχαν ολοκληρωθεί στον PDP-10 και σε συνθήκες προσομοίωσης, έτρεξαν σχεδόν αμέσως σε πραγματικό περιβάλλον. Ο Κίλνταλ ολοκλήρωσε το λειτουργικό σύστημα με χρήση της γλώσσας PL/M, έτσι ώστε να μπορέσει να προσφέρει το πακέτο OS/compiler στην Intel έως το φθινόπωρο του 1974[1]. Έτσι γεννήθηκε το CP/M.

Το CP/M στο εμπόριο

Όπως αναφέρθηκε παραπάνω, ο Γκάρι Κίλνταλ είχε μονίμως στο μυαλό του τον ιδανικό προσωπικό μικροϋπολογιστή για την αξιοποίηση του CP/M. Όχι όμως και η Intel, που ακόμη εκείνη την εποχή στόχευε στα μεγάλα συστήματα μερισμού χρόνου. Κατά συνέπεια, πλήρωσε 20.000 δολάρια το δημιουργό για τον compiler της PL/M, αλλά δεν ενδιαφέρθηκε για το CP/M.

Τους επόμενους μήνες ο Τόροντ τελειοποίησε τον ελεγκτή του FDD και τελικά κατασκεύασε ένα δικό του τερματικό, εξοπλισμένο με τον Intel 8080, το οποίο άρχισε να διαθέτει μέσω της εταιρείας Digital Systems (αργότερα Digital Microsystems), που στο μεταξύ είχε ιδρύσει. Το 1975, σύμφωνα με την εξιστόρηση του Κίλνταλ, το τερματικό του Τόροντ πετυχαίνει τις πρώτες πωλήσεις του στην Omron και τα Lawrence Livermore Labs. Με αυτόν τον τρόπο το CP/M αρχίζει να διατίθεται εμπορικά. Ωστόσο, μέχρι εκείνο το σημείο το λειτουργικό σύστημα μπορεί ακόμη να τρέξει σε μία και μόνη σύνθεση που βασίζεται στον Intel 8080 και τον ελεγκτή FDD του Τόροντ.

imsai 8080
O IMSAI 8080 θα είναι ο πρώτος μικροϋπολογιστής που θα εφοδιαστεί με την εμπορική έκδοση 1.3 του CP/M το 1976. Η μεταφορά του στο μηχάνημα της IMSAI έγινε η αφορμή να μετατραπεί στο πρώτο λειτουργικό σύστημα «πλατφόρμα» για πολλαπλές συνθέσεις hardware.

Η μεγάλη πρόοδος θα έρθει το 1976 όταν η IMSAI (σ.σ. κατασκευάστρια του IMSAI 8080, του πρώτου S-100 υπολογιστή/κλώνου του Altair 8800) θα ενδιαφερθεί για το CP/M. Αν και ο Κίλνταλ ήταν αρχικά διστακτικός να προσαρμόσει το λειτουργικό σύστημα σε άλλη σύνθεση hardware -και ειδικότερα σε άλλο controller- τελικά βρήκε τη λύση που θα καθορίσει και το μέλλον του CP/M. Σχεδίασε συμπληρωματικά ένα σύστημα ελέγχου εισόδων/εξόδων (Basic I/O System). Πρόκειται για την πρώτη υλοποίηση BIOS, που υφίσταται έως και σήμερα σε όλους τους προσωπικούς υπολογιστές και αποτελεί το υπόβαθρο για να τρέξει το λειτουργικό σύστημα ανεξαρτήτως του hardware (εκτός επεξεργαστή και μνήμης). Το BIOS μπορούσε να γραφτεί από τον ίδιο τον κατασκευαστή για το εκάστοτε σύστημα, κι έτσι το CP/M να τρέξει σε οποιονδήποτε υπολογιστή με επεξεργαστή Intel 8080 και floppy disk drive. Επίσης πρόσθεσε το BDOS (Basic Disk Operating System) σύστημα διαχείρισης αρχείων και εκτέλεσης εφαρμογών. Τα BIOS και BDOS φόρτωναν πριν το κυρίως λειτουργικό σύστημα κι έμεναν μόνιμα στη μνήμη. Αυτή η έκδοση του CP/M, είναι και η πρώτη που θα διατεθεί εμπορικά την άνοιξη του 1976. Αντί λοιπόν ο Κίλνταλ να εξαρτάται από την Intel, προχώρησε, μαζί με τη σύζυγό του Ντόροθι, στην ίδρυση της δικής τους εταιρείας, που ονομαζόταν αρχικά Intergalactic Digital Research (αργότερα σκέτο Digital Research ή DR). Σκοπός της εταιρείας η εμπορική διάθεση του CP/M για κιτ και μικροϋπολογιστές. Η τελική εμπορική έκδοση ήταν η 1.3 και διατέθηκε προς 70 δολάρια. Ήταν η ιδανική στιγμή για να ξεκινήσει την λαμπρή του πορεία, το πρώτο λειτουργικό σύστημα αποκλειστικά σχεδιασμένο για 8μπιτους προσωπικούς υπολογιστές.

ΑΥΤΟ ΤΟ ΗΞΕΡΕΣ;

Υπάρχουν τρεις εκδοχές για τη σημασία των αρχικών CP/M: Control Program for Microcomputers, Control Program for Microprocessors και Control Program/Monitor. Την απάντηση την έδωσε ο ίδιος ο Κίλνταλ στην εκπομπή «The Computer Chronicles» του καναλιού PBS. Το σωστό είναι Control Program for Microcomputers. Κάτι που είχε από την αρχή ως στόχο ο δημιουργός του, αλλά και καταγράφεται και στα επίσημα εγχειρίδια χρήσης του CP/M. Επιπλέον η κάθετος τοποθετήθηκε για να αντιστοιχεί στην ονοματολογία της PL/M (Programming Language for Microprocessors) που προέρχεται με τη σειρά της από την PL/I (Programming Language/1).

Η παντοκρατορία του CP/M

Από το 1977, οπότε πληθαίνουν με γεωμετρικούς ρυθμούς οι κατασκευαστές μικροϋπολογιστών και προσωπικών υπολογιστών, η ύπαρξη ενός κοινού προτύπου λειτουργικού συστήματος με χαμηλές απαιτήσεις ήταν αναγκαία. Ειδικά για μικρότερους κατασκευαστές που δεν είχαν ούτε τους πόρους, ούτε την τεχνική ικανότητα να υποστηρίξουν μία ιδιόκτητη πλατφόρμα με δικό τους λογισμικό. Το CP/M ήταν ήδη έτοιμο, διαθέσιμο, δοκιμασμένο και αξιόπιστο, ώστε να μπορέσει να καλύψει αυτήν την απαίτηση. Έτσι κι έγινε.

Χαρακτηριστική μίνιμουμ προδιαγραφή του CP/M 2.0, το 80στηλο κείμενο. Στη φωτογραφία η έκδοση 2.2 στο φορητό υπολογιστή Kaypro II.
Χαρακτηριστική μίνιμουμ προδιαγραφή του CP/M 2.0, το 80στηλο κείμενο. Στη φωτογραφία η έκδοση 2.2 στο φορητό υπολογιστή Kaypro II.

Το λειτουργικό σύστημα της Digital Research χαρακτηρίστηκε ως “δίαυλος λογισμικού“, διότι αποτελούσε κοινή βάση για τη λειτουργία εφαρμογών σε διαφορετικές πλατφόρμες hardware. Κάτι πρωτόγνωρο για την δεκαετία του ’70. Προγράμματα όπως το WordStar, η dBase, ακόμη και το AutoCAD, σχεδιάστηκαν αρχικά για το CP/M. Καθώς το λειτουργικό αναπτύχθηκε πάνω στους επεξεργαστές Intel 8080/8085 η αξιοποίησή του σε συστήματα με Ζ80 ήταν πανεύκολη υπόθεση λόγω τεχνολογικής συμβατότητας. Αυτό είχε σαν συνέπεια ο συνδυασμός Z80-CP/M να επικρατήσει στο χώρο των μικροϋπολογιστών και προσωπικών υπολογιστών για περίπου μία δεκαετία. Ακόμη και με την έλευση των οικιακών υπολογιστών, το CP/M υπήρξε ένας σημαντικός πολλαπλασιαστής πωλήσεων, καθώς όλα τα μοντέλα με 64ΚΒ μνήμη και δυνατότητα απεικόνισης κειμένου 80 στηλών, μπορούσαν εύκολα να το τρέξουν. Κάτι που ανάγκασε ακόμη και κατασκευαστές που χρησιμοποιούσαν άλλες πλατφόρμες για τους υπολογιστές τους, όπως π.χ. η Apple, να παρέχουν κάρτες με δεύτερο επεξεργαστή Ζ80, μόνο και μόνο για να μπορούν να αξιοποιήσουν το CP/M και τις εφαρμογές του.

Xerox 8/16 - Υπολογιστής διπλού επεξεργαστή που έτρεχε ταυτόχρονα CP/M-80 και CP/M-86 εναλλάσσοντας από το ένα mode λειτουργίας στο άλλο με το πάτημα ενός πλήκτρου.
Xerox 8/16 – Υπολογιστής διπλής CPU που έτρεχε CP/M-80 και CP/M-86 εναλλάσσοντας modes με το πάτημα ενός πλήκτρου.

Η λίστα των υπολογιστών που έτρεχαν CP/M είναι εντυπωσιακή και περιλαμβάνει από σταθμούς εργασίας μέχρι οικιακούς υπολογιστές και μοντέλα από τα μέσα της δεκαετίας του ’70 έως και τις αρχές της δεκαετίας του ’90. Υπολογίζεται ότι ο αριθμός τους ξεπερνά τις 3.000. To σύνολο δε των επεξεργαστών (8μπιτων και 16μπιτων) για τους οποίους σχεδιάστηκαν εκδόσεις του CP/M περιλαμβάνει συνολικά τους Intel 8080, 8085, 8088 και 8086, Zilog Z80 και Z8000, καθώς και Motorola MC68000. Στο μεγάλο αφιέρωμα του «Σαν Σήμερα στους Υπολογιστές» για τον επεξεργαστή Zilog Z80 αναφέρονται κάποια τέτοια -και κυρίως σπάνια- μοντέλα.

ΕΚΔΟΣΕΙΣ CP/M

CP/M 1.0
H πρώτη έκδοση του CP/M, του 1974, που λειτουργούσε αποκλειστικά σε έναν τύπο μηχανήματος με επεξεργαστή Intel 8080 και τον ελεγκτή δίσκου που είχε κατασκευάσει ο Τόροντ. Τοποθετήθηκε σε «έξυπνα τερματικά» της Digital Microsystems.

CP/M 1.2
H έκδοση που χρησιμοποιήθηκε στον IMSAI 8080 το 1976 και η πρώτη με σύστημα BIOS. Η εταιρεία το χρησιμοποίησε και μελλοντικά με άλλους drive controllers και το ενσωμάτωσε στον εξοπλισμό του υπολογιστή με τον τίτλο IMDOS (v2.01 ως 2.05).

CP/M 1.3
Η πρώτη ολοκληρωμένη εμπορική έκδοση του CP/M, για μικροϋπολογιστές με επεξεργαστή Intel 8080. Εξέλιξη της 1.2 με ολοκληρωμένο πακέτο, BIOS, BDOS, κονσόλα εντολών (CCP) και assembler. Τα BIOS και BDOS μπορούσαν να ξαναγραφτούν ώστε να υποστηρίζεται ευρεία γκάμα hardware και δίσκων. Η βασική προδιαγραφή υπολογιστή για το CP/M περιλάμβανε: Επεξεργαστή Intel 8080 (και αργότερα 8085), μνήμη τουλάχιστον 16ΚΒ, υποστήριξη χαρακτήρων ASCII και floppy disk drive (διαχειριζόταν έως και 4 δίσκους). Έκδοση που χρησιμοποιήθηκε κατά κόρον από υπολογιστές με δίαυλο S-100.

CP/M 2.0
Η πιο διαδεδομένη έκδοση του CP/M σε συνδυασμό και με τον επεξεργαστή Zilog Z80. Κυκλοφόρησε το 1979 και απαιτούσε μνήμη τουλάχιστον 20ΚΒ καθώς και απεικόνιση κειμένου 80 στηλών. Επιπλέον διαχειριζόταν έως και 16 δίσκους μεγέθους έως 8 ΜΒ. Ειδικά η έκδοση 2.2 έγινε βιομηχανικό στάνταρ στην αυγή της δεκαετίας του ’80, καθώς σχεδόν όλες οι μικρότερες εταιρείες κατασκευής προσωπικών (και συχνά οικιακών) υπολογιστών βάσισαν τις συνθέσεις τους στις απαιτήσεις του.

Μετά από απαίτηση χιλιάδων πελατών της Commodore, το CP/M μπήκε -σχετικά αργά- στον στάνταρ εξοπλισμό του Commodore 128. Διάδοχος του C64, που κατάφερε να πουλήσει πάνω από 4 εκατ. κομμάτια.
Μετά από απαίτηση χιλιάδων πελατών της Commodore, το CP/M μπήκε -σχετικά αργά- στον στάνταρ εξοπλισμό του Commodore 128. Διάδοχος του C64, που κατάφερε να πουλήσει πάνω από 4 εκατ. κομμάτια.

CP/M Plus (3.0)
Έκδοση του 1982 με τεχνική εναλλαγής πινάκων μνήμης (bank switching), ώστε να υποστηρίζεται RAM μεγαλύτερη των 64 ΚΒ. Τα 64 ΚΒ αποτελούσαν και την μίνιμουμ προδιαγραφή για το σύστημα. Ήρθε σε μία εποχή που ήδη ο 16μπιτος IBM-PC και λίγο αργότερα τα συμβατά συστήματα κατακτούσαν την αγορά των προσωπικών υπολογιστών, παραμερίζοντας τον πιο αδύναμο 8μπιτο Z80. Αν και χρησιμοποιήθηκε κατά κύριο λόγο μόνο από την Commodore (στον C128), την Amstrad (στους CPC 6128/Plus και PCW) και την Tandy (TRS-80 Model 4), ήταν η έκδοση με τις περισσότερες πωλήσεις -σε ένα σύστημα- λόγω της εξαιρετικής επιτυχίας των PCW μέχρι και τις αρχές της δεκαετίας του ’90.

Άλλες εκδόσεις

CP/M-86
Έκδοση του 1981 για τους 16μπιτους επεξεργαστές, αρχιτεκτονικής x86, Intel 8088/8086. Τοποθετήθηκε ως εναλλακτικό λειτουργικό σύστημα στα IBM-PC και συμβατά, αλλά έχασε από το MS DOS (και την έκδοση PC DOS για τα IBM) που προτιμήθηκε από την IBM (βλ. παρακάτω «Πώς χάθηκε η μάχη του IBM-PC»). Μετά την κυκλοφορία του CP/M-86, όλες οι προηγούμενες για 8μπιτους επεξεργαστές χαρακτηρίζονταν ως CP/M-80. Υπήρξαν μοντέλα διπλού επεξεργαστή, όπως π.χ. ο Xerox 8/16 που διέθεταν και τις δύο εκδόσεις, CP/M-80 και 86.

CP/M 68k
Port του CP/M στα συστήματα με επεξεργαστή Motorola MC68000. Προοριζόταν για κυρίως λειτουργικό σύστημα του Atari ST, αλλά προτιμήθηκε τελικά το TOS.

CP/M-8000
Πολύ ειδική έκδοση εξελιγμένη αποκλειστικά για την Olivetti και συγκεκριμένα τον Olivetti M20 του 1982 που έφερε 16μπιτο επεξεργαστή Zilog Z8000.

Altos ACS-8000: Ένα επαγγελματικό σύστημα της εποχής με επεξεργαστή Ζ-80 και δυνατότητα παράλληλης χρήσης από τέσσερα τερματικά
Altos ACS-8000: Ένα επαγγελματικό σύστημα του 1978 με επεξεργαστή Ζ80 και δυνατότητα παράλληλης χρήσης από τέσσερα τερματικά, χάρη στην εκ των υστέρων τοποθέτηση της έκδοσης MP/M

MP/M (Multi-Programming Monitor)
Σχεδιάστηκε το 1979 για πολυδιεργασία. Επέτρεπε σε πολλαπλούς χρήστες να συνδέονται σε ένα σύστημα μέσω τερματικών και διέθετε πυρήνα multitasking. Κάθε χρήστης μπορούσε να τρέξει έως και 4 εφαρμογές (συμβατές με CP/M 2.2) ταυτόχρονα, αλλά όχι παράλληλα (switching). Επίσης παραχωρούσε τμήματα της κεντρικής μνήμης σε κάθε τερματικό και διαχειριζόταν τις προτεραιότητες στην κοινή χρήση των περιφερειακών συσκευών. Το 1981 το MP/M πέρασε και στην αρχιτεκτονική x86, με την έκδοση MP/M-86, από όπου και προέκυψε το Concurrent CP/M.

Concurrent CP/M
Προέρχεται από το MP/M, αλλά είναι λειτουργικό σύστημα για ένα χρήστη/υπολογιστή. Σχεδιάστηκε το 1983 για τον IBM-PC, οπού και δινόταν η δυνατότητα να τρέχουν έως τέσσερις εφαρμογές ταυτόχρονα στο σύστημα. Αργότερα τα MP/M-86 και Concurrent CP/M συνενώθηκαν στην έκδοση CCP/M-86. Λειτουργικό σύστημα για πολλαπλούς χρήστες (μέσω τερματικών) σε πλατφόρμα x86, όχι υποχρεωτικά συμβατής με τον IBM-PC.

Πρόσθετα

GSX
To GSX (Graphics System eXtension) σχεδιάστηκε από πρώην τεχνικό της Xerox, όπου γεννήθηκε το GUI (γραφικό περιβάλλον χρήσης) και αποτελούσε ένα σύνολο βιβλιοθηκών και οδηγών για την αξιοποίηση γραφικών στο CP/M. Βασίστηκε στο πρότυπο GKS (Graphics Kernel System) που καθορίστηκε το 1977 για στοιχειώδη διανυσματικά γραφικά.

Amstrad PC-1512/1640 (1986); Το πρώτο IBM-PC συμβατό με γραφικό περιβάλλον
Amstrad PC-1512/1640 (1986); Υπήρξε το πρώτο IBM-PC συμβατό με γραφικό περιβάλλον στο βασικό του εξοπλισμό, χάρη στο GEM της DR.

GEM
Στην μετεξέλιξή του το GSX οδήγησε σε ένα πλήρως γραφικό περιβάλλον χρήσης με παράθυρα, το οποίο πρωτοπαρουσιάστηκε από την DR στη διεθνή έκθεση COMDEX το Νοέμβριο του 1983. Το GEM αποτελούνταν από τρία συστατικά: Το VDI (Virtual Device Interface) που δεν ήταν άλλο από το GSX, το οποίο και αναλάμβανε το σχεδιασμό των βασικών γραφικών του περιβάλλοντος. Το AES (Application Environment Services) που διαχειριζόταν τα παράθυρα. Και τέλος το GEM Desktop, δηλαδή το πρόγραμμα που χρησιμοποιούσε τα VDI και AES για να απεικονίσει το περιβάλλον χρήσης. Το GEM αρχικά παρουσιάστηκε σε έκδοση για το CP/M, αλλά αργότερα η DR αποφάσισε να το παρέχει ως ξεχωριστό πακέτο σε ρόλο γραφικού κέλυφους και για το MS DOS. Το GEM αποτελεί μία ακόμη μεγάλη καινοτομία της DR, σε μία εποχή που δεν υπήρχαν παραθυρικά περιβάλλοντα στους προσωπικούς υπολογιστές. Ας μην ξεχνάμε ότι ολοκληρώθηκε πριν τον Macintosh και επιπρόσθετα ήταν και έγχρωμο. Το περιβάλλον GEM τοποθετήθηκε στον στάνταρ εξοπλισμό του Atari ST και των PC της Amstrad.

Πώς χάθηκε η μάχη του IBM-PC

Στις αρχές Αυγούστου του 1980 το «Project Chess» της ΙΒΜ, που θα οδηγήσει στη δημιουργία του πρώτου ΙΒΜ-PC την επόμενη χρονιά, βρίσκεται σε πλήρη εξέλιξη, με τα χρονοδιαγράμματα να πιέζουν αφόρητα. Οι άνθρωποι της ΙΒΜ έχουν έρθει ήδη σε επαφή με τον Μπιλ Γκέιτς για να συμφωνήσουν για την προμήθεια της γλώσσας Basic στον υπό σχεδιασμό υπολογιστή τους. Στον ίδιο μάλιστα απευθύνονται και για το λειτουργικό σύστημα, έχοντας σαν στόχο το CP/M, που τότε κυριαρχούσε στους επαγγελματικούς υπολογιστές. Ο Γκέιτς τους παρέπεμψε στην Digital Research, την εταιρεία δηλαδή που κατασκεύαζε το εν λόγω OS. Για την ακρίβεια μεσολάβησε ο ίδιος, με τηλεφώνημα στον Γκάρι Κίλνταλ προκειμένου να κλειστεί το ραντεβού της 22ης Αυγούστου του 1980.

Μόνο το CP/M 86 βρήκε το δρόμο του προς τα IBM-PC. Χωρίς καμία ελπίδα όμως για να απειλήσει την κυριαρχία του DOS.

Την ημέρα που το επιτελείο της ΙΒΜ ταξιδεύει για να συναντήσει τα στελέχη της DR, ο Κίλνταλ λείπει σε άλλο ταξίδι, έχοντας αφήσει τη σύζυγό του στα κεντρικά της εταιρείας. Κάτι που ούτως ή άλλως συνήθιζε να κάνει και σε άλλες περιπτώσεις σημαντικών συμφωνιών. Όταν έφτασαν εκεί οι άνθρωποι της ΙΒΜ, ζήτησαν, πριν καν αρχίσουν οι συζητήσεις, την υπογραφή συμφωνίας τήρησης απορρήτου (non-disclosure agreement). Σύμφωνα με τις πληροφορίες της πλευράς της DR, νομικός σύμβουλος της εταιρείας απέτρεψε την υπογραφή της συμφωνίας αυτής, οδηγώντας τη συζήτηση αμέσως σε αδιέξοδο. Οι άνθρωποι της ΙΒΜ έφυγαν το ίδιο απόγευμα εκνευρισμένοι, ενώ, σύμφωνα με την ΙΒΜ, ο Κίλνταλ ουδέποτε ενδιαφέρθηκε για την εν λόγω συνεργασία.

Όποια κι αν είναι η αλήθεια, χάθηκε μία από τις μεγαλύτερες ευκαιρίες της Digital Research και του Γκάρι Κίλνταλ προσωπικά να μετατραπεί στην παγκόσμια κυρίαρχο εταιρεία software της επόμενης δεκαετίας. Το κενό εκμεταλλεύτηκε άμεσα ο Μπιλ Γκέιτς, ο οποίος πρότεινε στην ΙΒΜ μία ελλειπή και προβληματική έκδοση του DOS, φτιαγμένη στο πόδι (και σε μεγάλο βαθμό αντίγραφο του CP/M) κι εξαγορασμένη την τελευταία στιγμή. Η ΙΒΜ όχι μόνο δέχτηκε, αλλά έκανε και την τιτάνια γκάφα να μην επιδιώξει αποκλειστική χρήση του λειτουργικού συστήματος, επιτρέποντας στην Microsoft την παράλληλη ανάπτυξη του MS-DOS. Κάτι που θα αποφέρει εκατοντάδες εκατομμύρια στον Γκέιτς στη δεκαετία του ’80.

DR DOS – Η ΕΚΔΙΚΗΣΗ ΤΟΥ CP/M

Η Digital Research έχει καταγραφεί στην ιστορία ως πρωτοπόρος εταιρεία στο χώρο των λειτουργικών συστημάτων. Προηγήθηκε όλων ακόμη και στο σχεδιασμό παραθυρικού περιβάλλοντος χρήσης. Κι όμως, τελικά υπήρξε ο μεγάλος χαμένος, κυρίως από την Microsoft, για πολλούς και διάφορους λόγους που δεν είναι του παρόντος.
Η μεγαλύτερη ήττα προήλθε αναμφίβολα από το MS DOS που έγινε το βασικό λειτουργικό σύστημα του IBM-PC και μάλιστα αντιγράφοντας το CP/M. Ωστόσο, λίγα χρόνια αργότερα δόθηκε η ευκαιρία στην DR να πάρει την εκδίκησή της και ίσως να κέρδιζε τη μάχη αν η Microsoft δεν πολεμούσε «βρώμικα».
Το DR DOS αποτέλεσε μετεξέλιξη του Concurrent CP/M-86, περιλαμβάνοντας συμβατότητα με το PC DOS. Παρουσιάστηκε το 1988 και ήταν όχι μόνο ανώτερο από το MS DOS στην πολυδιεργασία και τη διαχείριση της μνήμης, αλλά ταυτόχρονα πιο αξιόπιστο και φθηνότερο. Η επιτυχία του ήταν άμεση, παίρνοντας μέσα σε λίγους μήνες το 10% της παγκόσμιας αγοράς. Οι κατασκευαστές PC άλλωστε είχαν κάθε λόγο να το προτιμήσουν.
Η απάντηση της Microsoft ήταν να προσαρμόζει τις επιπλέον δυνατότητες του DR DOS στις επόμενες εκδόσεις του MS DOS. Όμως η εταιρεία του Κίλνταλ ταχύτατα προσπερνούσε στις νεότερες εκδόσεις, παραμένοντας πάντα φθηνότερες και πιο αξιόπιστες. Ο πόλεμος των λειτουργικών συνεχίστηκε ώς και την έκδοση DR DOS 6.0 του 1991, που ήταν και η πιο πλήρης και ώριμη, με σύστημα εναλλαγής διεργασιών, αυτόματης συμπίεσης και αποσυμπίεσης αρχείων και στοιχειώδες παραθυρικό περιβάλλον (Viewmax). Το DR DOS είχε κερδίσει τη μάχη των εντυπώσεων, την εμπιστοσύνη εκατοντάδων χιλιάδων κατόχων PC και την προτίμηση του ειδικού Τύπου.
Η τελική απάντηση της Microsoft ήταν χτύπημα κάτω από τη μέση. Ο Γκέιτς επέλεξε αθέμιτες μεθόδους ανταγωνισμού, αρχικά δημιουργώντας τεχνητή ασυμβατότητα μεταξύ των Windows 3.1 και του DR DOS. Κάτι όμως που εύκολα παρακάμφθηκε με patches από την DR. Το τελικό χτύπημα δόθηκε στο επίπεδο των εταιρικών πελατών, όπου η Microsoft ανάγκασε πρακτικά τους κατασκευαστές PC, είτε να προμηθεύονται όλο το πακέτο (MS DOS/Windows) από την ίδια, είτε καθόλου. Παρόλο που το DR DOS παρέμενε φθηνότερο, η ζήτηση των Windows ήταν τέτοια ώστε τους ανάγκασε να ενδώσουν και τελικά να κερδίσει τη μάχη η Microsoft.

Παραθυρικό περιβάλλον Viewmax στο DR DOS 5.0
Παραθυρικό περιβάλλον Viewmax στο DR DOS 5.0

Σημείωση

[1] Οι ακριβείς ημερομηνίες τόσο για την ολοκλήρωση του CP/M, όσο και για την εμπορική διάθεσή του, παραμένουν διφορούμενες. Ο ίδιος ο Κίλνταλ έχει διατυπώσει δημόσια τρεις εκδοχές της ιστορίας της εξέλιξης του λειτουργικού του συστήματος. Σίγουρα η πρώτη έκδοση του CP/M ολοκληρώθηκε το 1974, ενώ μεταξύ 1974 και 1975 η Intel παρέλαβε την PL/M αλλά αρνήθηκε να αγοράσει το λειτουργικό σύστημα. Έως τις αρχές του 1976, το CP/M εγκαθίσταται σε μεμονωμένα συστήματα και μόλις την άνοιξη εκείνης της χρονιάς εμφανίζεται η πρώτη εμπορική μορφή (έκδοση 1.3) για μικροϋπολογιστές με δίαυλο S-100.

ΠΗΓΕΣ

Δείτε επίσης…