Zoals multitasking-functie verscheen voor het eerst op de Macintosh
Makradar Van Technologie / / December 19, 2019
Elke moderne mens geniet van multitasking features om hun apparaten. Het maakt niet uit wat het is: een smartphone, tablet of computer thuis. De meeste mensen weten niet eens veel na te denken over hoe de werking van het systeem met meerdere processen tegelijk te bouwen: we gewoon We communiceren op het netwerk, werken met verschillende documenten, naar muziek luisteren en kijken naar tv-programma's, behendig te bewegen tussen meerdere running programma's. Dit verhaal, waarvan de auteur Andy Gertsfeld bevat geen toelichting op de complexe verdeling van het geheugen en andere saai technische handleidingen, maar vertelt over hoe multitasking en dus verscheen in computers van het bedrijf Apple.
De eerste commerciële product, werkte ik na het verlaten van Apple in maart 1984 was Thunderscan - vrij goedkoop scanner voor de Macintosh. De oprichting vond plaats in samenwerking met een klein bedrijf Thunderware. Het werk begon in juni 1984 en aan het begin van oktober heeft het project was bijna voltooid.
Tom Petri, een van de twee leiders Thunderware (de tweede was Victor Bull, met wie ik op een thermische printer Silentype, die het eerste project werd gewerkt, Ik heb gemaakt voor Apple), gaf ik een aantal presentaties voor diverse computertijdschriften om positieve feedback te krijgen die nodig zijn voor promotie product. 11 oktober 1984 ging ik met Tim naar het kantoor in Hillsboro te Thunderscan demonstreren voor Byte magazine.
Byte recensent was John Markof. Hij was de auteur van de column over technologie in de San Francisco Chronicle. John werd beschouwd als een van de beste journalisten die de personal computer-industrie. Tom sprak over Thunderscan, en later begonnen met een demo scan. John vroeg een paar vragen, geschreven in de teksteditor van de IBM PC. Tijdens mijn volgende antwoord ging zijn telefoon.
Verontschuldigen, John drukte op de toetsen op het toetsenbord, en vervolgens op het computerscherm teksteditor veranderde snel naar een andere toepassing. Hij was aan de telefoon voor een minuut of twee, en dan eindigen het gesprek, terug te keren naar de lijst met vragen over Thunderscan gebruik van dezelfde toetscombinatie.
"Wat heb je gewoon doen? - Ik was geïnteresseerd in de software - je kon zo snel overschakelen naar een ander programma "?
"Oh, ik gebruik maken van de Memory Shift. Heb je dit niet ervaren? - John zegt - is een DOS-hulpprogramma waarmee u om in gedachten diverse toepassingen te houden en schakelen tussen hen snel. Ik gebruik het vaak in de afgelopen jaren. " Hij demonstreerde het proces van het schakelen van een paar keer om me te laten zien de snelheid van dit hulpprogramma.
"Weet je, ik denk dat ik iets dergelijks voor de Macintosh doen», - flapte ik eruit voordat bewust denken dingen door.
Macintosh 512K leveringen begon een paar weken geleden. Ik heb geprobeerd om meerdere toepassingen tegelijkertijd draaien op een 512K, maar was in het nauw gedreven geheugen conflicten en andere potentiële valkuilen. Maar nu, na het zien van herverdeling in actie, had ik het idee, dat, zo leek het, niet al te moeilijk te implementeren.
"Ja, het zou geweldig zijn" - John overeengekomen. Ik bleef Thunderscan demonstratie, maar kon niet volledig concentreren, na te denken over het schakelen tussen applicaties. Het leek me dat de oprichting van dergelijke nut - heel haalbaar taak, waarvan het resultaat zal zeer nuttig zijn.
Tom Petri merkte mijn opwinding als gevolg van de nieuwe ideeën. Na de presentatie nam hij me mee naar huis, en herinnerde aan mijn verplichtingen, nemen me beloven om de alpha release Thunderscan eindigen zo snel mogelijk, voordat u iets nieuws te beginnen. We hebben overeenstemming bereikt over een lijst van taken die ik moest twee komende weken uit te voeren. Zodra de alpha-versie klaar was, was ik in staat om een korte pauze te werk te nemen op de schakelaar toepassing later opnieuw verdiepen zich in het werk op Thundescan, de voorbereiding van versie 1.0 tegen het einde van november.
Polijsten Thunderscan, dacht ik na over de nuances van het programmeren van de schakelaar. Kiezen tussen het downloaden van de applicatie in een gebied dat optimaal is om het geheugen te gebruiken en het gebruik van individuele zones voor een betere isolatie van elk programma, ik afgerekend op de tweede versie, hoewel hij zeker van de juistheid van dit was niet keuze.
We moesten veel kleine problemen op te lossen. Het belangrijkste was het feit dat de aanvraag wordt opgeslagen in een geheugen globale variabelen die moeten te worden vervangen tijdens de switch, zoals elk programma heeft zijn eigen set van variabelen. Niet alle punten waren duidelijk voor mij. Ik wist dat mijn eerste ervaring is niet ideaal, maar ik ben ervan overtuigd omgegaan met het debuggen van de onvermijdelijke problemen.
Een paar dagen na het begin van de laatste fase van de werkzaamheden aan Thunderscan kreeg ik heel een interessant telefoontje van Jeff Harbers, die de manager van het team Macintosh aanvragen was Microsoft. Het is gemeld dat Microsoft een zeer belangrijk strategisch project heeft ontwikkeld, en ze denken dat ik een ideale kandidaat voor de uitvoering ervan zou zijn. Jeff heeft geen andere details bekend te maken over de telefoon, maar hij bood om te vliegen naar Seattle om alles in persoon te bespreken. Ik was geïntrigeerd genoeg om te stoppen met werken op Thunderscan en zitten in het vliegtuig.
Jeff pikten me bij de luchthaven en gingen we naar het hoofdgebouw van het bedrijf Microsoft, waar we werden vergezeld door Neil Conze - een getalenteerde 23-jarige programmeur bij Macintosh. Ik kende hem uit de tijd van onze gezamenlijke werk op het toevoegen van functies aan een assembler. Hij was op dat moment slechts 16 jaar oud.
Jeff vroeg me wat ik op dit moment mee bezig was. Ik vertelde hem over Thunderscan, maar wanneer genoemde experimenten met bijkeuken app switching zijn mond viel open. Jeff kon niet geloven dat ik eigenlijk zei.
"Dit is precies wat we wilden praten! Het is geweldig dat u al mee bezig "- Jeff riep.
Hij legde uit dat het nodig hard werken is om het te laten werken consequent toepassingen in kleine gebieden van de Macintosh 128K RAM. Daarnaast heeft Lotus kondigde onlangs een nieuw softwarepakket voor de Jazz Macintosh 512K, waarmee u snel en eenvoudig schakelen tussen de functionele gebieden. Het doel van het bezoek was om mij te overtuigen om een soortgelijke aanvraag, schakelt op een contract met Microsoft te schrijven.
Neil Conze gepresenteerd potentieel project ontwikkelde instrumenten op het bord. Hij stelde voor om hetzelfde geheugen gebied, dat ik onmiddellijk geweigerd, vertellen over de alternatieve benadering, met aparte ruimtes te gebruiken, waardoor de grootste betrouwbaarheid.
Mijn dag in Microsoft voltooide een privé-ontmoeting met Bill Gates. Jeff nam me mee naar zijn kantoor en verontschuldigde zich en liet ons alleen.
Na de daarmee gepaard gaande uitwisseling van beleefdheden, Bill keek op en vroeg me in de ogen: "Je bent echt een goede programmeur, is het niet? Ik denk dat je echt moet een goede programmeur te zijn. "
"Ik denk het wel," - antwoordde ik, zonder te weten waarom hij me streelt.
"Dat denk ik ook. Hoe denk je dat hoeveel tijd er nodig is om dit project uit te voeren? Een maand of twee? Het lijkt mij, een goede programmeur moet omgaan in een paar maanden. "
"Ik weet het niet - ik al zei - niet eens weten of het mogelijk is om uit te voeren."
"Laten we eens kijken - hij zei dat een beetje neerbuigend - het zou niet meer dan tien duizenden regels code, en een echt goede programmeur kan schrijven minstens duizend rijen in week. Ik denk dat het zal u niet langer duren dan tien weken. "
Ik weet niet wat te antwoorden, dus ik zweeg en luisterde.
"Wat denk je, hoeveel geld kan een goede programmeur verdienen? We betalen onze beste medewerkers ongeveer tweeduizend dollar per week. Denk je niet dat je moet meer betalen? "
"Ik weet het niet" - antwoordde ik. Het werd duidelijk dat Bill probeerde me te zetten op een zeer snelle manier om dit programma te schrijven.
"Als je zo'n vierduizend dollar per week, - vervolgde hij - dat op het einde van de tien weken die je kunt krijgen veertigduizend."
Ik vertelde hem dat ik er alles aan zal doen om ervoor te zorgen dat dit instrument goed werkt met toepassingen van Microsoft. Ik wilde dit doen in elk geval en zonder dat dit voorstel, omdat Microsoft-programma's onder de gebruikers zijn erg populair. We schudden elkaar de hand en verliet ik het kantoor op een positieve noot.
Terug naar huis in Palo Alto, wilde ik een concept van het nut om over te schakelen programma's te ontwikkelen, ondanks de einddatum van Thunderscan voorbereiding.
Op het einde moest ik een gebruikersinterface voor dit hulpprogramma te creëren. Ik heb gewerkt non-stop 20 uur, het ontwikkelen van een kernprogramma. Ongelooflijk het was leuk om naar te kijken geleidelijk verbetert de stabiliteit van het nut, het oplossen van regelmatig problemen met het geheugen.
Tijdens het werken aan zijn project, merkte ik Bud Tribble, die in juli 1984 tot Apple terug voor de functie van Software Manager na een medische stage bij de Universiteit van Washington en woonde in de buurt me.
Ik vroeg Bud voor zichzelf, om snel te schakelen tussen MacPaint, MacWrite en MacDraw demonstreren. Hij was onder de indruk, maar tot mijn verbazing, heeft geklaagd dat de overgang plaatsvindt te snel.
"En als iemand zal deze schakelaar per ongeluk te maken? Dit kan leiden tot verwarring, - vertelde hij me - kan het mogelijk zijn om animatie te gebruiken om een soepele overgang te creëren?".
Dit idee leek echt goed. We hebben besloten dat het veranderen van het programma horizontaal moet worden geschoven, en alle actieve toepassingen kan duidelijk worden weergegeven in een klein gedeelte van het scherm. Ik schreef al snel de benodigde code en was verbaasd over hoe groot het programma flitste over het scherm.
Ik toonde dit concept aan je vrienden van Apple en een aantal eenvoudige gebruikers. Alles positief omarmd mijn project. Helaas, ik heb geen tijd om Thunderscan herziening, maar ik vervulde nog steeds de belofte, en hij klaar was aan het eind van november was.
Na een korte pauze was het tijd om terug te gaan naar de ontwikkeling van hulpprogramma's om switch toepassingen, begon ik te Switcher bellen. Begin december had ik het grootste deel gerealiseerd, met inbegrip van de user interface.
In het begin van januari 1985 kreeg ik een telefoontje van Guy Kawasaki, die me vertelde dat Apple geïnteresseerd is in het kopen van Switcher. De eerste stap was om een product presentatie aan Steve Jobs te voeren.
Going in zijn kantoor, ik was een beetje bezorgd, de beoordeling van het project in een kwart van een miljoen dollar, maar hij was er zeker van dat Steve me nooit zo veel betalen. Ik was trots op hun kind, en ik was geïnteresseerd in de reactie van Jobs op hem. Hardlopen MacWrite, MacPaint, MacDraw en de Finder, ik met opzet liet Switcher met animatie, om later te maken een spectaculaire indruk. Schakel ik snel tussen applicaties in beide richtingen.
"Nou, ik zag genoeg - Steve onderbrak me, - het is geweldig. We willen dit project in Mac »integreren.
Een ogenblik stond hij en keek me aandachtig, alsof hij wilde me bang te maken.
"Ik wil niet dat je om te worden gebruikt Apple».
"Wat bedoel je?" - in verwarring gebracht door zijn woorden, ik vroeg hem een vraag.
"Je zult niet in staat zijn om het programma te beëindigen zonder dat de informatie die je hier kunt krijgen. Als gevolg daarvan, heb je de wens om het project af verloren. "
"Het programma is klaar precies de helft. Ik betwijfel dat als ik eerlijk te betalen, ik ben niet van plan te motiveren om het werk te voltooien, "- Ik begon boos te worden.
Na het zien van me nog meer ernstige blik, Steve kondigde een enkel nummer, zonder enige uitleg.
"Een honderdduizend dollar."
"Ik weet het niet - ik vertelde hem -. Ik denk dat Switcher is veel duurder"
"Maak geen ruzie met mij, - pareerde Jobs - een eerlijke prijs, en dat weet je."
Het leek erop dat ik geen alternatief hadden, en ik moest overgeven aan Steve prijsstelling. Met hem was het inderdaad zeer moeilijk om te betogen. Op het einde, bij de ondertekening van een definitieve overeenkomst met Guy Kawasaki was ik in staat om de bonus, die in de toekomst een andere vijftigduizend bracht me te krijgen.
Zoals verwacht, het moeilijkste deel van het werk op Switcher was om hem gestaag werken met Microsoft-toepassingen. Ontwikkelaars hebben zichzelf toegestaan om verschillende vrijheden met het systeem, zijn teruggeschrokken van de gebruikelijke instructies, die me een aantal problemen veroorzaakt.
Ik moest de pseudo-code om bytecode te vertalen. Vertaling met zes teams voor de volgende debugging was heel pijnlijk voor de Switcher.
Een van de recente problemen, die ik tegenkwam tot aan de eerste release Switcher maart 1985, Het was de uitvoering van de mogelijkheid van "moord" de hung toepassing zonder de noodzaak om alle af te sluiten onmiddellijk. Ik heb deze functie toegevoegd in combinatie met de mogelijkheid om de status van de lopende programma's te volgen.
Ik moest een voldoende zeldzame combinatie van toetsen kiezen om deze functie te starten. Ik koos vier knoppen, die, zoals het leek, was het erg moeilijk om aan de overkant te komen door toeval, maar toch was verrast toen ik een telefoontje van Jeff Harbers van Microsoft ontvangen.
"Ik hou van deze optie dwong de voltooiing van de programma's, maar dan moet je de sneltoets te veranderen, omdat we dit te gebruiken bij het werken met Microsoft Word». Jeff legde me uit dat het Woord is een zeer ingewikkeld editor en heeft een enorm scala aan sneltoetsen.
Jeff niet bieden niets concreets, maar belde me de volgende dag, het aanbieden van een andere combinatie.
"We zullen het Woord veranderen in het volgende nummer. Het probleem is dat we niet zijn gekomen om een veilige toetsencombinatie vinden. We gebruiken ze gewoon allemaal, "- lachte me uit, Jeff.
De release van de definitieve versie van de Switcher is officieel gehouden in april 1985. Ik steunde verschillende versies na de lancering, maar uiteindelijk gaf het aan Phil Goldman, een getalenteerde programmeur van Princeton, die een baan bij Apple heeft. Hij begon te MultiFinder, die de ontvanger Switcher in 1987 werd te ontwikkelen.
via Folklore.org