Comme fonction multitâches d'abord apparu sur Macintosh
Makradar De La Technologie / / December 19, 2019
Chaque homme moderne jouit d'fonctions multitâches à leurs appareils. Peu importe ce qu'elle est: un smartphone, tablette ou ordinateur à la maison. La plupart des gens ne pensent même pas grand-chose sur la façon de construire le fonctionnement du système avec plusieurs processus en même temps: nous venons Nous communiquons sur le réseau, en collaboration avec différents documents, écouter de la musique et des spectacles de télévision montre, se déplaçant adroitement entre plusieurs cours d'exécution programmes. Cette histoire, dont l'auteur est Andy Gertsfeld ne contient aucune explication de la distribution complexe de la mémoire et d'autres ennuyeux manuels techniques, mais parle de la façon dont multitâches et apparaît ainsi dans les ordinateurs de l'entreprise Apple.
Le premier produit commercial, j'ai travaillé après avoir quitté Apple en Mars 1984, a été Thunderscan - scanner assez pas cher pour Macintosh. Sa création a eu lieu en collaboration avec une petite entreprise Thunderware. Les travaux ont commencé en Juin 1984, et le début d'Octobre, le projet était presque complet.
Tom Petri, l'un des deux chefs Thunderware (le deuxième était Victor Bull, avec qui je travaillais sur une imprimante thermique Silentype, qui est devenu le premier projet, Je l'ai créé pour Apple), j'ai donné plusieurs présentations pour divers magazines informatiques pour obtenir des commentaires positifs nécessaires à la promotion produit. 11 octobre 1984 je suis allé avec Tim au bureau à Hillsboro pour démontrer Thunderscan pour le magazine Byte.
Byte critique était John Markof. Il est l'auteur de la colonne sur la technologie dans le San Francisco Chronicle. John a été considéré comme l'un des meilleurs journalistes couvrant l'industrie de l'ordinateur personnel. Tom a parlé Thunderscan, et plus tard a commencé une analyse de démonstration. John a posé quelques questions, écrites dans l'éditeur de texte de son IBM PC. Au cours de ma prochaine réponse son téléphone a sonné.
La présentation d'excuses, John appuyé sur les touches du clavier, puis sur l'éditeur de texte à l'écran d'ordinateur a rapidement changé à une autre application. Il était au téléphone pendant une minute ou deux, puis terminer la conversation, le retour à la liste des questions sur Thunderscan en utilisant tous la même combinaison de touches.
« Qu'avez-vous fait juste? - Je me suis intéressé à son logiciel - vous pouvez passer à un autre programme si rapidement »?
« Oh, j'utilise la touche Maj de la mémoire. Avez-vous pas connu cela? - John dit - est un utilitaire DOS qui vous permet de garder à l'esprit plusieurs applications et de passer rapidement entre eux. Je l'utilise souvent ces dernières années ». Il a démontré le processus de commutation à quelques reprises pour me montrer la vitesse de cet utilitaire.
« Tu sais, je pense que je peux faire quelque chose de similaire pour le Macintosh», - je lâchai avant consciemment penser les choses à travers.
livraisons Macintosh 512K ont commencé il y a quelques semaines. J'ai essayé d'exécuter plusieurs applications simultanément sur un 512K, mais était des conflits de mémoire aux abois et d'autres pièges potentiels. Mais maintenant, après avoir vu réallocation en action, j'ai eu l'idée, qui, semblait-il, pas trop difficile à mettre en œuvre.
« Oui, ce serait génial » - John a accepté. Je continuais démonstration Thunderscan, mais ne pouvait pas se concentrer pleinement, la réflexion sur la commutation entre les applications. Il me semblait que la création d'une telle utilité - tâche tout à fait réalisable, dont le résultat sera extrêmement utile.
Tom Petri remarqué mon excitation à cause des nouvelles idées. Après la présentation, il m'a emmené à la maison, et a rappelé mes obligations, me prenant promets de terminer la version alpha Thunderscan le plus tôt possible, avant de commencer quelque chose de nouveau. Nous avons convenu d'une liste de tâches que je devais effectuer deux semaines à venir. Une fois que la version alpha était prête, j'ai pu prendre une courte pause au travail sur l'application de passage au plus tard retremper eux-mêmes dans le travail sur Thundescan, la préparation version 1.0 d'ici la fin de Novembre.
Polissage Thunderscan, je réfléchissais les nuances de la programmation interrupteur. Le choix entre le téléchargement de l'application dans une seule zone qui est optimale pour utiliser la mémoire, et l'utilisation de l'individu zones pour une meilleure isolation de chaque programme, je me suis installé sur la deuxième version, bien qu'il était pas sûr de la justesse de cette choix.
Nous avons dû résoudre beaucoup de petits problèmes. Le plus important est le fait que l'application est stockée dans une mémoire des variables globales qui devrait être remplacé lors du passage, que chaque programme a son propre ensemble de les variables. Tous les points ont été évident pour moi. Je savais que ma première expérience n'est pas idéal, mais je suis confiant fait face à la mise au point de tous les problèmes inévitables.
Quelques jours après le début de la phase finale des travaux sur Thunderscan je suis arrivé très un appel téléphonique intéressant de Jeff Harbers qui était le directeur de l'équipe des applications Macintosh Microsoft. Il est rapporté que Microsoft a mis au point un projet stratégique très important, et ils pensent que je serais un candidat idéal pour sa mise en œuvre. Jeff n'a pas révélé d'autres détails sur le téléphone, mais il a offert de se rendre à Seattle pour discuter de tout en personne. Je suis assez intrigué pour arrêter le travail sur Thunderscan et assis dans le plan.
Jeff est venu me chercher à l'aéroport et nous nous dirigeons vers le bâtiment principal de la société Microsoft, où nous avons été rejoints par Neil Conze - un programmeur de 23 ans de talent au Macintosh. Je le connaissais de l'époque de notre travail commun sur l'ajout de fonctionnalités à un langage d'assemblage. Il était à cette époque que 16 ans.
Jeff m'a demandé ce que je travaille actuellement. Je lui ai parlé Thunderscan, mais quand les expériences mentionnées avec l'application de l'utilitaire de commutation de sa bouche bée. Jeff ne pouvait pas croire que je l'ai dit réellement.
«C'est exactement ce que nous voulions parler! Il est grand que vous travaillez déjà sur elle! « - exclama Jeff.
Il a expliqué qu'il est nécessaire de travailler dur pour le faire fonctionner régulièrement des applications dans de petites zones de la RAM Macintosh 128K. En outre, Lotus a récemment annoncé un nouveau logiciel pour le Jazz Macintosh 512K, ce qui vous permet de basculer rapidement et facilement entre ses domaines fonctionnels. Le but de la visite était de me persuader d'écrire une application similaire, activez un contrat avec Microsoft.
Neil a présenté Conze projets potentiels outils mis au point sur la carte. Il a proposé d'utiliser la même zone de mémoire, que j'ai immédiatement refusé, parler de l'approche alternative, avec des zones distinctes, donnant la plus grande fiabilité.
Ma journée dans Microsoft a terminé une réunion privée avec Bill Gates. Jeff m'a emmené dans son bureau et a présenté ses excuses et nous a laissés seuls.
Après l'échange de courtoisies préposé, Bill leva les yeux et m'a demandé dans les yeux: « Tu es vraiment un bon programmeur, est-ce pas? Je pense que vous devez vraiment être un bon programmeur ".
« Je pense que oui, » - Je lui ai répondu, ne sachant pas pourquoi il me flattent.
« Je le pense aussi. Comment pensez-vous combien de temps il faudra pour mettre en œuvre ce projet? Un mois ou deux? Il me semble, un bon programmeur doit gérer cela dans quelques mois ".
« Je ne sais pas - je l'ai dit - je ne sais même pas s'il est possible de mettre en œuvre. »
« Le voir Let - dit-il un peu ton condescendant - il ne devrait pas prendre plus de dix des milliers de lignes de code, et un très bon programmeur est capable d'écrire au moins un millier de lignes semaine. Je pense qu'il vous faudra pas plus de dix semaines ".
Je ne sais pas quoi répondre, alors je me suis gardé le silence et écouté.
« Que pensez-vous, combien d'argent peut gagner un bon programmeur? Nous payons nos meilleurs employés environ deux mille dollars par semaine. Ne pensez-vous pas que vous devez payer plus? "
« Je ne sais pas » - Je lui ai répondu. Il est devenu clair que le projet de loi essayait de me tourner d'une manière très rapide à écrire cet utilitaire.
« Si vous obtenez environ quatre mille dollars par semaine, - at-il poursuivi - que la fin des semaines dix, vous pouvez obtenir quarante mille. »
Je lui ai dit que je ferai tout mon possible pour faire en sorte que cet outil fonctionne bien avec des applications de Microsoft. Je voulais le faire dans tous les cas et sans cette proposition, parce que les programmes Microsoft ont été très populaires parmi les utilisateurs. Nous serrions la main et je quittais le bureau sur une note positive.
Retour à la maison à Palo Alto, je voulais développer un concept d'utilité aux programmes de commutation, malgré les dates de fin de préparation Thunderscan.
En fin de compte, je devais créer une interface utilisateur pour cet utilitaire. Je travaille non-stop 20 heures, l'élaboration d'un programme de base. Incroyablement il était agréable de regarder améliore progressivement la stabilité de l'utilité, la résolution des problèmes réguliers avec la mémoire.
Tout en travaillant sur son projet, j'ai remarqué Bud Tribble, qui est retourné à Apple en Juillet 1984 pour le poste de Software Manager après un stage de médecine à l'Université de Washington et vécu près moi.
J'ai demandé Bud à lui-même, pour démontrer la commutation rapide entre MacPaint, MacWrite et MacDraw. Il a été impressionné, mais à ma grande surprise, se plaint que la transition se déroule trop rapidement.
« Et si quelqu'un va faire ce commutateur par accident? Cela peut causer de la confusion, - il m'a dit - il peut être possible d'utiliser l'animation pour créer une transition en douceur « ?.
Cette idée semblait vraiment bon. Nous avons décidé que le changement de programme doit être un défilement horizontal, et toutes les applications en cours d'exécution peut être clairement affiché dans une petite zone de l'écran. Je me suis vite écrit le code nécessaire et a été étonné de voir à quel point le programme flashé sur l'écran.
Je démontrais ce concept à vos amis d'Apple et certains utilisateurs simples. Tout embrassé positivement mon projet. Malheureusement, je n'ai pas le temps de révision Thunderscan, mais je encore rempli la promesse, et il était prêt à la fin de Novembre.
Après une courte pause, il était temps de revenir au développement des services aux applications de commutation, j'ai commencé à appeler Switcher. Au début de Décembre, je l'avais réalisé la plus grande partie, y compris l'interface utilisateur.
Au début de Janvier 1985, j'ai reçu un appel téléphonique de Guy Kawasaki, qui m'a dit que Apple est intéressé à acheter Switcher. La première étape a consisté à effectuer une présentation de produit à Steve Jobs.
Entrant dans son bureau, je suis un peu inquiet, l'évaluation du projet dans un quart de million de dollars, mais il était sûr que Steve ne me payer tant. Je suis fier de leur enfant, et je me suis intéressé à la réaction d'emplois sur lui. Courir MacWrite, MacPaint, MacDraw et le Finder, je l'ai montré volontairement hors Switcher avec animation, pour faire plus tard une impression spectaculaire. Je passe rapidement entre les applications dans les deux sens.
« Eh bien, je l'ai vu assez - Steve m'a interrompu, - c'est génial. Nous aimerions intégrer ce projet dans Mac ».
il resta un instant et me regarda attentivement, comme s'il voulait me faire peur.
« Je ne veux pas que tu sois utilisé d'Apple».
« Que voulez-vous dire? » - perplexe par ses paroles, je lui ai posé une question.
« Vous ne serez pas en mesure de terminer le programme sans les informations que vous pouvez obtenir ici. En conséquence, vous avez perdu le désir de terminer le projet ".
« Le programme est prêt exactement la moitié. Je doute que si je paye honnête, je ne vais pas Motiver pour terminer le travail « - j'ai commencé à se mettre en colère.
Après me voir regarder encore plus grave, Steve a annoncé un seul numéro, sans aucune explication.
« Cent mille dollars. »
« Je ne sais pas - je lui ai dit - je pense que Switcher est beaucoup plus cher. »
« Ne discutez pas avec moi, - parés emploi - un prix équitable, et vous le savez. »
Il semblait que je n'ai aucune alternative, et je devais remettre à prix Steve. Avec lui, il était en effet très difficile d'argumenter. En fin de compte, à la signature d'un accord définitif avec Guy Kawasaki, j'ai pu obtenir le bonus, qui à l'avenir m'a apporté une autre cinquante mille.
Comme prévu, la partie la plus difficile du travail sur Switcher devait le faire travailler régulièrement avec des applications Microsoft. Les développeurs se sont autorisés à diverses libertés avec le système, ont répugné les instructions habituelles, ce qui m'a causé quelques difficultés.
Je devais traduire le code pseudo à bytecode. Traduction avec six équipes pour le débogage ultérieur était assez douloureux pour le Switcher.
L'un des problèmes récents, je fait face à la première version Switcher Mars 1985 Il a été la mise en œuvre de la possibilité de « tuer » l'application hung sans qu'il soit nécessaire de fermer tous les immédiatement. J'ai ajouté cette fonctionnalité en combinaison avec la possibilité de surveiller l'état des programmes en cours d'exécution.
Je devais choisir une combinaison assez rare de touches pour activer cette fonction. J'ai choisi quatre boutons, qui, semblait-il, il était très difficile de rencontrer par hasard, mais toujours été surpris quand je reçu un appel téléphonique de Jeff Harbers de Microsoft.
« Je aime cette option forcée l'achèvement des programmes, mais vous devrez changer le raccourci clavier, parce que nous utilisons ce lorsque vous travaillez avec Microsoft Word». Jeff m'a expliqué que la Parole est un éditeur très compliqué et a une vaste gamme de raccourcis clavier.
Jeff ne propose pas quelque chose de concret, mais m'a appelé le lendemain, offrant une combinaison différente.
« Nous allons changer la Parole dans le prochain numéro. Le problème est que nous ne sommes pas parvenus à trouver une séquence clé de sécurité. Nous venons de les utiliser tous « - ri de moi, Jeff.
La sortie de la version finale du Switcher est officiellement tenue en Avril., 1985 Je soutenais plusieurs versions après le lancement, mais finalement donné à Phil Goldman, un programmeur talentueux de Princeton, qui a obtenu un emploi chez Apple. Il a commencé à développer MultiFinder, qui est devenu le récepteur Switcher en 1987.
via Folklore.org