Όπως multitasking χαρακτηριστικό εμφανίστηκε για πρώτη φορά στο Macintosh
Makradar Της τεχνολογίας / / December 19, 2019
Κάθε σύγχρονος άνθρωπος απολαμβάνει multitasking δυνατότητες στις συσκευές τους. Δεν έχει σημασία αυτό που είναι: ένα smartphone, το tablet ή τον υπολογιστή στο σπίτι. Οι περισσότεροι άνθρωποι δεν σκέφτονται ακόμη πολλά για το πώς να κατασκευάσει τη λειτουργία του συστήματος με πολλαπλές διεργασίες ταυτόχρονα: εμείς απλά Επικοινωνούμε με το δίκτυο, σε συνεργασία με διάφορα έγγραφα, να ακούσετε μουσική και να παρακολουθήσουν τηλεόραση δείχνει, επιδέξια κινούνται μεταξύ πολλών λειτουργία προγράμματα. Αυτή η ιστορία, του οποίου συγγραφέας είναι ο Andy Gertsfeld περιέχει καμία εξήγηση της πολύπλοκης κατανομής της μνήμης και άλλων βαρετό τεχνικά εγχειρίδια, αλλά μιλά για το πώς multitasking και έτσι εμφανίστηκε σε υπολογιστές της εταιρείας Η Apple.
Το πρώτο εμπορικό προϊόν, δούλευα μετά την έξοδο από την Apple Μαρ 1984, ήταν Thunderscan - αρκετά φθηνά σαρωτή για το Macintosh. Η δημιουργία του έγινε σε συνεργασία με μια μικρή εταιρεία Thunderware. Οι εργασίες ξεκίνησαν τον Ιούνιο του 1984, και από τις αρχές Οκτωβρίου, το έργο είχε σχεδόν ολοκληρωθεί.
Τομ Petri, ένας από τους δύο ηγέτες Thunderware (ο δεύτερος ήταν ο Βίκτωρ Bull, με τους οποίους δούλεψα σε ένα θερμικό εκτυπωτή Silentype, ο οποίος έγινε ο πρώτος έργου, Έχω δημιουργήσει για την Apple), έδωσα πολλές παρουσιάσεις για διάφορα περιοδικά υπολογιστή για να κερδίσει θετικά σχόλια που απαιτούνται για την προώθηση του προϊόντος. 11η, Οκτωβρίου 1984 πήγα με τον Tim στο γραφείο σε Hillsboro να αποδείξει Thunderscan για το περιοδικό Byte.
Byte κριτής ήταν ο John Markof. Ήταν ο συντάκτης της στήλης σχετικά με την τεχνολογία στο San Francisco Chronicle. John θεωρήθηκε ένας από τους καλύτερους δημοσιογράφους που καλύπτουν την προσωπική της βιομηχανίας υπολογιστών. Ο Tom μίλησε για Thunderscan, και αργότερα άρχισε μια δοκιμαστική σάρωση. John ζήτησε μερικές ερωτήσεις, γραμμένο με το πρόγραμμα επεξεργασίας κειμένου της IBM PC του. Κατά τη διάρκεια της επόμενης απάντησή μου το τηλέφωνό του χτύπησε.
Συγγνώμη, John πιέζεται τα πλήκτρα στο πληκτρολόγιο, και στη συνέχεια στο πρόγραμμα επεξεργασίας κειμένου στην οθόνη του υπολογιστή γρήγορα άλλαξε σε μια άλλη εφαρμογή. Ήταν στο τηλέφωνο για ένα λεπτό ή δύο, και στη συνέχεια να τελειώσουμε τη συζήτηση, επιστροφή στη λίστα των ερωτήσεων σχετικά με Thunderscan χρησιμοποιώντας όλα του ίδιου συνδυασμού πλήκτρων.
«Τι κάνετε ακριβώς; - Ήμουν ενδιαφέρονται για το λογισμικό της - θα μπορούσαν να στραφούν σε άλλο πρόγραμμα τόσο γρήγορα ";
«Ω, μπορώ να χρησιμοποιήσω το Shift μνήμης. Δεν έχετε βιώσει αυτό; - John λέει - είναι ένα βοηθητικό πρόγραμμα DOS που σας επιτρέπει να έχετε κατά νου πολλές εφαρμογές και εναλλαγή μεταξύ τους γρήγορα. Μου συμβαίνει συχνά να χρησιμοποιούν τα τελευταία χρόνια. " Κατέδειξε τη διαδικασία της εναλλαγής μερικές φορές για να μου δείξει την ταχύτητα του αυτό το βοηθητικό πρόγραμμα.
«Ξέρεις, νομίζω ότι μπορώ να κάνω κάτι παρόμοιο για Macintosh», - I ξεφούρνισε πριν συνειδητά σκεφτόμαστε όλα.
παραδόσεις Macintosh 512K ξεκίνησε πριν από λίγες εβδομάδες. Προσπάθησα να τρέχει πολλαπλές εφαρμογές ταυτόχρονα σε 512K, αλλά ήταν γωνιακή συγκρούσεις μνήμης και άλλες πιθανές παγίδες. Αλλά τώρα, μετά από να δει την ανακατανομή σε δράση, είχα την ιδέα, η οποία, καθώς φαίνεται, δεν είναι πάρα πολύ δύσκολο να εφαρμοστεί.
«Ναι, θα ήταν μεγάλη» - John συμφωνηθεί. Συνέχισα Thunderscan επίδειξης, αλλά δεν μπορούσα να συγκεντρωθώ πλήρως, να σκεφτόμαστε σχετικά με την εναλλαγή μεταξύ των εφαρμογών. Μου φαινόταν ότι η δημιουργία μιας τέτοιας κοινής ωφέλειας - αρκετά εφικτό καθήκον, το αποτέλεσμα της οποίας θα είναι εξαιρετικά χρήσιμη.
Τομ Petri παρατηρήσει τον ενθουσιασμό μου, λόγω των νέων ιδεών. Μετά την παρουσίαση, με πήρε στο σπίτι, και υπενθύμισε τις υποχρεώσεις μου, αφού μου υπόσχονται να τελειώσει την απελευθέρωση α Thunderscan όσο το δυνατόν συντομότερα, πριν από την έναρξη κάτι νέο. Συμφωνήσαμε σε μια λίστα εργασιών που έπρεπε να εκτελέσει δύο επόμενες εβδομάδες. Μόλις η έκδοση alpha ήταν έτοιμο, ήμουν σε θέση να πάρετε ένα σύντομο διάλειμμα στην εργασία σχετικά με την εφαρμογή του διακόπτη για αργότερα εκ νέου βυθιστούν στην εργασία για Thundescan, την προετοιμασία έκδοση 1.0 μέχρι το τέλος του Νοεμβρίου.
Στίλβωση Thunderscan, έχω μελετήσει τις αποχρώσεις του προγραμματισμού διακόπτη. Η επιλογή μεταξύ λήψη της αίτησης σε ένα ενιαίο περιοχή που είναι βέλτιστο να χρησιμοποιήσει τη μνήμη, και η χρήση των μεμονωμένων ζώνες για καλύτερη μόνωση του κάθε προγράμματος, που εγκαταστάθηκαν στη δεύτερη εκδοχή, αν και δεν ήταν βέβαιος για την ορθότητα αυτής της επιλογής.
Έπρεπε να λύσουμε πολλά μικρά προβλήματα. Το πιο σημαντικό ήταν το γεγονός ότι η εφαρμογή αποθηκεύεται σε μια μνήμη είναι καθολικές μεταβλητές που θα πρέπει να να αντικατασταθεί κατά τη διάρκεια του διακόπτη, όπως κάθε πρόγραμμα έχει το δικό του σύνολο των μεταβλητές. Δεν είναι όλα τα σημεία ήταν προφανές για μένα. Ήξερα ότι η πρώτη μου εμπειρία δεν είναι ιδανική, αλλά είμαι βέβαιος αντιμετώπισαν με τον εντοπισμό σφαλμάτων όλων των αναπόφευκτα προβλήματα.
Λίγες μέρες μετά την έναρξη του τελικού σταδίου των εργασιών για Thunderscan πήρα πολύ ένα ενδιαφέρον τηλεφώνημα από τον Jeff Harbers ο οποίος ήταν ο διαχειριστής των εφαρμογών της ομάδας Macintosh Microsoft. Έχει αναφερθεί ότι η Microsoft έχει αναπτύξει ένα πολύ σημαντικό στρατηγικό έργο, και πιστεύω ότι θα ήταν ένας ιδανικός υποψήφιος για την υλοποίησή του. Jeff δεν αποκάλυψε άλλες λεπτομέρειες σχετικά με το τηλέφωνο, αλλά προσφέρθηκε να πετούν προς Σιάτλ για να συζητήσει τα πάντα στο πρόσωπο. Μου κίνησε την περιέργεια αρκετά για να στάση εργασίας στα Thunderscan και να καθίσει στο αεροπλάνο.
Jeff μου πήρε στο αεροδρόμιο και κατευθυνθήκαμε προς το κεντρικό κτίριο της εταιρείας Microsoft, όπου συναντήθηκαν με τον Neil Conze - ένας ταλαντούχος 23-year-old προγραμματιστής σε Macintosh. Τον ήξερα από τη στιγμή της από κοινού εργασία μας για την προσθήκη χαρακτηριστικών σε μια συμβολική γλώσσα. Ο ίδιος εκείνη την εποχή ήταν μόλις 16 ετών.
Jeff με ρώτησε τι ήταν τη στιγμή εργαζόμαστε. Του είπα για Thunderscan, αλλά όταν αναφέρθηκε πειράματα με τη μετάβαση σαγόνι του χρησιμότητα της εφαρμογής πέσει. Jeff δεν μπορούσα να πιστέψω ότι μου είπε στην πραγματικότητα.
«Αυτό είναι ακριβώς αυτό που θέλαμε να μιλήσουμε! Είναι υπέροχο ότι είστε ήδη εργάζονται σε αυτό! «- Jeff αναφώνησε.
Εξήγησε ότι είναι απαραίτητο να εργαστούμε σκληρά για να το κάνουν να λειτουργήσει με συνέπεια εφαρμογές σε μικρές περιοχές της μνήμης RAM Macintosh 128K. Επιπλέον, Lotus ανακοίνωσε πρόσφατα ένα νέο πακέτο λογισμικού για την Jazz Macintosh 512K, το οποίο σας επιτρέπει να μεταβείτε γρήγορα και εύκολα μεταξύ των λειτουργικών τομέων του. Σκοπός της επίσκεψης ήταν να με πείσει να γράψει μια παρόμοια εφαρμογή, μεταβείτε σε μια σύμβαση με τη Microsoft.
Neil Conze παρουσιάζονται δυναμικό αναπτύξει εργαλεία έργου στο διοικητικό συμβούλιο. Πρότεινε να χρησιμοποιούν τον ίδιο χώρο μνήμης, την οποία αμέσως αρνήθηκε, λέγοντας για την εναλλακτική προσέγγιση, με ξεχωριστούς χώρους, δίνοντας τη μεγαλύτερη αξιοπιστία.
ημέρα μου στο Microsoft ολοκλήρωσε μια ιδιωτική συνάντηση με τον Bill Gates. Jeff με πήρε στο γραφείο του και ζήτησε συγγνώμη και μας μένει μόνο του.
Μετά την συνακόλουθη ανταλλαγή των χορηγιών, ο Bill κοίταξε και με ρώτησε στα μάτια: «Πραγματικά είναι ένας καλός προγραμματιστής, έτσι δεν είναι; Νομίζω ότι πρέπει πραγματικά να είναι ένας καλός προγραμματιστής. "
«Πιστεύω πως ναι», - μου απάντησε, μην ξέροντας γιατί μου κολακεύει.
«Νομίζω ότι το ίδιο. Πώς νομίζετε ότι πόσος χρόνος θα χρειαστεί για την υλοποίηση αυτού του έργου; Ένα ή δύο μήνες; Κατά τη γνώμη μου, ένας καλός προγραμματιστής θα πρέπει να χειριστεί αυτό σε μερικούς μήνες. "
«Δεν ξέρω - είπα - δεν ξέρω καν αν είναι δυνατόν να εφαρμοστεί.»
«Βλέπε Ας - είπε λίγο ήχο συγκαταβατική - δεν θα πρέπει να διαρκεί περισσότερο από δέκα χιλιάδες γραμμές κώδικα και μια πραγματικά καλός προγραμματιστής μπορεί να γράψει τουλάχιστον χίλιες σειρές σε την εβδομάδα. Νομίζω ότι θα σας πάρει όχι περισσότερο από δέκα εβδομάδες. "
Δεν ξέρω τι να απαντήσω, γι 'αυτό ακριβώς φυλάσσονται σιωπηλός και άκουγε.
«Τι νομίζεις, πόσα χρήματα μπορούν να κερδίσουν ένα καλό προγραμματιστή; Δίνουμε καλύτερους υπαλλήλους μας περίπου δύο χιλιάδες δολάρια την εβδομάδα. Μην νομίζετε ότι θα πρέπει να πληρώσετε περισσότερα; "
«Δεν ξέρω» - απάντησα. Κατέστη σαφές ότι ο Bill προσπαθούσε να με μετατρέψει σε ένα πολύ γρήγορο τρόπο για να γράψω αυτό το βοηθητικό πρόγραμμα.
«Εάν μπορείτε να πάρετε περίπου τέσσερις χιλιάδες δολάρια την εβδομάδα, - συνέχισε - ότι στο τέλος των δέκα εβδομάδων που μπορείτε να πάρετε σαράντα χιλιάδες.»
Του είπα ότι θα κάνω ό, τι είναι δυνατόν για να διασφαλίσει ότι το εργαλείο αυτό λειτουργεί καλά με εφαρμογές από τη Microsoft. Ήθελα να το κάνετε αυτό σε κάθε περίπτωση και χωρίς αυτή την πρόταση, επειδή τα προγράμματα της Microsoft ήταν πολύ δημοφιλής μεταξύ των χρηστών. Εμείς έσφιξαν τα χέρια και έφυγα από το γραφείο σε μια θετική σημείωση.
Πίσω στο σπίτι στο Palo Alto, θέλησα να αναπτύξει μια έννοια της χρησιμότητας των προγραμμάτων διακόπτη, παρά τις έληξε ημερομηνίες της προετοιμασίας Thunderscan.
Στο τέλος, έπρεπε να δημιουργήσουμε ένα περιβάλλον εργασίας χρήστη για αυτό το βοηθητικό πρόγραμμα. Έχω ήδη εργάζονται ασταμάτητα 20 ώρες, την ανάπτυξη ενός προγράμματος πυρήνα. Απίστευτα ήταν ωραίο να παρακολουθήσετε σταδιακά βελτιώνει τη σταθερότητα της χρησιμότητας, επίλυση τακτικές προβλήματα με τη μνήμη.
Παρόλο που εργάζονται για το έργο του, παρατήρησα Bud Tribble, ο οποίος επέστρεψε στην Apple τον Ιούλιο του 1984 για τη θέση του Διαχείριση λογισμικού μετά από μια ιατρική πρακτική άσκηση στο Πανεπιστήμιο της Ουάσιγκτον και έζησε κοντά μου.
Ζήτησα Bud στον εαυτό του, για να αποδείξει τη γρήγορη εναλλαγή μεταξύ MacPaint, MacWrite και MacDraw. Είχε εντυπωσιαστεί, αλλά προς μεγάλη μου έκπληξη, έχει καταγγείλει ότι η μετάβαση γίνεται πολύ γρήγορα.
«Και αν κάποιος θα κάνει αυτό το διακόπτη κατά λάθος; Αυτό μπορεί να προκαλέσει σύγχυση, - μου είπε - μπορεί να είναι δυνατή η χρήση animation για να δημιουργήσετε μια ομαλή μετάβαση;».
Αυτή η ιδέα φαινόταν πολύ καλό. Αποφασίσαμε ότι η αλλαγή του προγράμματος θα πρέπει να μεταβεί σε οριζόντια θέση, και όλοι τρέχουν εφαρμογές μπορούν να εμφανίζονται με σαφήνεια σε μια μικρή περιοχή της οθόνης. Έγραψα γρήγορα τον απαραίτητο κώδικα και εκπλαγείτε με το πόσο μεγάλη είναι το πρόγραμμα έλαμψε σε όλη την οθόνη.
Θα αποδειχθεί αυτή την έννοια για τους φίλους σας από την Apple και μερικές απλές χρήστες. Όλα αγκάλιασε θετικά το έργο μου. Δυστυχώς, δεν έχω χρόνο να την αναθεώρηση Thunderscan, αλλά εξακολουθώ να εκπληρώσει την υπόσχεση, και ήταν έτοιμος στα τέλη του Νοεμβρίου.
Μετά από ένα σύντομο διάλειμμα ήρθε η ώρα να επιστρέψουμε στην ανάπτυξη των υπηρεσιών κοινής ωφέλειας σε εφαρμογές διακόπτη, άρχισα να καλέσετε Switcher. Στις αρχές Δεκεμβρίου, είχα συνειδητοποιήσει το μεγαλύτερο μέρος του, συμπεριλαμβανομένης και της διεπαφής χρήστη.
Στις αρχές Ιανουαρίου 1985 έλαβα ένα τηλεφώνημα από τον Guy Kawasaki, ο οποίος μου είπε ότι η Apple ενδιαφέρεται για την αγορά Switcher. Το πρώτο βήμα ήταν να πραγματοποιήσει μια παρουσίαση του προϊόντος στον Steve Jobs.
Πηγαίνοντας στο γραφείο του, ήμουν λίγο ανήσυχος, αξιολόγηση του έργου σε ένα τέταρτο του ενός εκατομμυρίου δολαρίων, αλλά ήταν σίγουρος ότι ο Steve δεν πληρώνουν ποτέ μου τόσο πολύ. Ήμουν περήφανος για το παιδί τους, και ήμουν ενδιαφέρονται για την αντίδραση των θέσεις εργασίας σε αυτόν. Τρέξιμο MacWrite, MacPaint, MacDraw και το Finder, που σκόπιμα έδειξε από Switcher με κινούμενα σχέδια, για να κάνει στη συνέχεια μια θεαματική εντύπωση. Έχω γρήγορη εναλλαγή μεταξύ των εφαρμογών και στις δύο κατευθύνσεις.
«Λοιπόν, είδα αρκετά - Steve με διέκοψε, - είναι μεγάλη. Θα θέλαμε να εντάξει το έργο αυτό σε Mac ».
Για μια στιγμή στάθηκε και κοίταξε επίμονα, σαν να ήθελε να με τρομάξει.
«Δεν θέλω να χρησιμοποιείται η Apple».
«Τι εννοείς;» - προβλημάτισε με τα λόγια του, τον ρώτησα μια ερώτηση.
«Δεν θα είναι σε θέση να τελειώσει το πρόγραμμα χωρίς τις πληροφορίες που μπορείτε να βρείτε εδώ. Ως αποτέλεσμα, έχετε χάσει την επιθυμία να τελειώσει το έργο. "
«Το πρόγραμμα είναι έτοιμο ακριβώς το μισό. Αμφιβάλλω ότι αν πληρώσει ειλικρινής, εγώ δεν πρόκειται να δοθούν κίνητρα για να ολοκληρωθεί το έργο, «- άρχισα να θυμώσει.
Μετά βλέπουμε μένα, ακόμη πιο σοβαρή εμφάνιση, ο Steve ανακοίνωσε ένα μοναδικό αριθμό, χωρίς καμία εξήγηση.
«Εκατό χιλιάδες δολάρια.»
«Δεν ξέρω - του είπα -. Νομίζω ότι Switcher είναι πολύ πιο ακριβό»
«Να μην υποστηρίζουν μαζί μου, - απέκρουσε Εργασία - τιμή δίκαιη, και το ξέρεις.»
Φάνηκε ότι δεν είχα καμία εναλλακτική λύση και έπρεπε να παραδώσει την τιμολόγηση Steve. Μαζί του ήταν πράγματι πολύ δύσκολο να υποστηριχθεί. Στο τέλος, κατά την υπογραφή της οριστικής συμφωνίας με τον Guy Kawasaki ήμουν σε θέση να πάρει το μπόνους, το οποίο στο μέλλον μου έφερε μια άλλη πενήντα χιλιάδες.
Όπως ήταν αναμενόμενο, το πιο δύσκολο μέρος της δουλειάς για Switcher ήταν να τον πάρει για να λειτουργήσει σταθερά με τις εφαρμογές της Microsoft. Οι προγραμματιστές έχουν οι ίδιοι το δικαίωμα να διάφορες ελευθερίες με το σύστημα, έχουν ρίξει μακριά από τις συνήθεις οδηγίες, που μου προκαλεί κάποιες δυσκολίες.
Έπρεπε να μεταφράσει τον κωδικό ψευδο σε bytecode. Μετάφραση με έξι ομάδες για τα επόμενα εντοπισμό σφαλμάτων ήταν αρκετά επώδυνη για την Switcher.
Ένα από τα πρόσφατα προβλήματα, που αντιμετώπισε μέχρι την πρώτη Switcher απελευθέρωση Μάρτιος 1985, Ήταν η εφαρμογή της δυνατότητας «δολοφονία» του κρεμασμένο εφαρμογή χωρίς την ανάγκη να κλείσει όλα αμέσως. Έχω προσθέσει αυτό το χαρακτηριστικό, σε συνδυασμό με τη δυνατότητα να παρακολουθεί την κατάσταση των εκτελούμενων προγραμμάτων.
Έπρεπε να επιλέξετε ένα αρκετά σπάνιο συνδυασμό πλήκτρων για να ξεκινήσει αυτή τη λειτουργία. Επέλεξα τέσσερα κουμπιά, τα οποία, όπως φάνηκε, ήταν πολύ δύσκολο να συναντήσετε τυχαία, αλλά ακόμα έκπληκτος όταν έλαβα ένα τηλεφώνημα από τον Jeff Harbers από τη Microsoft.
«Μου αρέσει αυτή την επιλογή ανάγκασε την ολοκλήρωση των προγραμμάτων, αλλά θα πρέπει να αλλάξετε τη συντόμευση πληκτρολογίου, γιατί χρησιμοποιούμε αυτό όταν εργάζεστε με το Microsoft Word». Jeff μου εξήγησε ότι ο Λόγος είναι μια πολύ περίπλοκη επεξεργαστή και έχει ένα τεράστιο φάσμα των συντομεύσεων πληκτρολογίου.
Jeff δεν προσφέρουν τίποτα συγκεκριμένο, αλλά μου τηλεφώνησε την επόμενη μέρα, προσφέροντας ένα διαφορετικό συνδυασμό.
«Θα αλλάξουμε τον Λόγο στο επόμενο τεύχος. Το πρόβλημα είναι ότι δεν έχουμε έρθει για να βρουν ένα ασφαλές ακολουθία κλειδί. Εμείς απλά τα χρησιμοποιούν όλοι, «- γελούσαν μαζί μου, Jeff.
Η απελευθέρωση της τελικής έκδοσης του Switcher επίσημα πραγματοποιήθηκε τον Απρίλιο του 1985. Υποστήριξα διάφορες εκδόσεις μετά την έναρξη, αλλά τελικά έδωσε ο Phil Goldman, ένας ταλαντούχος προγραμματιστής από το Πρίνστον, ο οποίος έχει μια θέση εργασίας στην Apple. Άρχισε να αναπτύξουν MultiFinder, ο οποίος έγινε το δέκτη Switcher το 1987.
μέσω Folklore.org