Som multitasking funktion først dukkede op på Macintosh
Makradar Af Teknologi / / December 19, 2019
Hver eneste moderne menneske nyder multitasking funktioner til deres enheder. Det er ligegyldigt, hvad det er: en smartphone, tablet eller hjemmecomputer. De fleste mennesker ikke engang tænke meget over, hvordan man kan konstruere drift af systemet med flere processer på samme tid: vi bare Vi kommunikerer på netværket, der arbejder med forskellige dokumenter, lytte til musik og se tv-udsendelser, behændigt bevæger sig mellem flere løb programmer. Denne historie, hvis ophavsmand Andy Gertsfeld indeholder ingen forklaring af den komplekse fordeling af hukommelse og andre kedelige tekniske manualer, men taler om, hvordan multitasking og dermed dukkede op i virksomhedens computere Apple.
Det første kommercielle produkt, arbejdede jeg efter at have forladt Apple i marts 1984 var Thunderscan - temmelig billig scanner til Macintosh. Oprettelsen skete i samarbejde med en lille virksomhed Thunderware. Arbejdet begyndte i juni 1984 og i begyndelsen af oktober projektet var næsten færdig.
Tom Petri, en af de to ledere Thunderware (den anden var Victor Bull, med hvem jeg har arbejdet på en termisk printer Silentype, der blev den første projekt, Jeg har oprettet til Apple), jeg gav adskillige oplæg til forskellige edb-magasiner at få positiv feedback er nødvendig for forfremmelse produkt. 11 Oktober 1984 Jeg gik med Tim til kontoret i Hillsboro at demonstrere Thunderscan for Byte magasin.
Byte korrekturlæser var John Markof. Han var forfatter af kolonnen om teknologi i San Francisco Chronicle. Johannes blev betragtet som en af de bedste journalister, der dækker den personlige computer industrien. Tom talte om Thunderscan, og senere begyndte en demo-scanning. John stillede et par spørgsmål, skrevet i teksten redaktør af sin IBM PC. Under mit næste svar ringede hans telefon.
Undskylde, John trykkede på tasterne på tastaturet, og derefter på computerskærmen teksteditor hurtigt ændret til et andet program. Han var i telefonen for et minut eller to, og derefter afslutte samtalen, tilbage til listen over spørgsmål om Thunderscan hjælp alle af samme tastekombination.
"Hvad gjorde du bare gøre? - Jeg var interesseret i sin software - du kan skifte til et andet program, så hurtigt "?
"Åh, jeg bruger Memory Shift. Har du ikke oplevet dette? - John siger - er en DOS hjælpeprogram, der giver dig mulighed for at huske på flere programmer og skifte mellem dem hurtigt. Jeg bruger det ofte i de seneste år. " Han demonstrerede færd med at skifte et par gange for at vise mig den hastighed af dette værktøj.
"Du ved, jeg tror, jeg kan gøre noget lignende til Macintosh», - jeg røg ud før bevidst tænke tingene igennem.
Macintosh 512K leverancer begyndte for et par uger siden. Jeg forsøgte at køre flere programmer samtidigt på en 512K, men var kantet hukommelse konflikter og andre potentielle faldgruber. Men nu, efter at have set en omfordeling i aktion, jeg fik den idé, som, det syntes, ikke alt for svært at gennemføre.
"Ja, det ville være fantastisk" - John aftalt. Jeg fortsatte Thunderscan demonstration, men kunne ikke koncentrere sig fuldt ud, tænker at skifte mellem programmer. Det forekom mig, at oprettelsen af en sådan nytte - ganske muligt opgave, vil resultatet heraf være særdeles nyttig.
Tom Petri bemærket min begejstring på grund af de nye ideer. Efter præsentationen, tog han mig hjem, og mindede om mine forpligtelser, tager mig lover at afslutte alfa frigivelse Thunderscan så hurtigt som muligt, før du starter noget nyt. Vi blev enige om en liste over opgaver, som jeg var nødt til at udføre to kommende uger. Når alfa-version var klar, jeg var i stand til at tage en kort pause til arbejde på afbryderen ansøgning til senere re-fordybe sig i arbejdet med Thundescan, forbereder version 1.0 ved udgangen af november.
Polering Thunderscan, jeg overvejede nuancerne i programmering switch. Valg mellem hente programmet til et enkelt område, der er optimalt at anvende hukommelsen, og brugen af individuelle zoner for bedre isolering af hvert program, jeg afgjort på den anden version, selv om han ikke var sikker på rigtigheden af dette valg.
Vi var nødt til at løse en masse små problemer. Det vigtigste var, at ansøgningen er lagret i en hukommelse er globale variabler, der bør skal udskiftes i løbet af kontakten, som hvert program har sit eget sæt af variabler. Ikke alle punkter var indlysende for mig. Jeg vidste, at min første erfaring er ikke ideel, men jeg er overbevist klaret debugging af alle de uundgåelige problemer.
Få dage efter starten af den sidste fase af arbejdet med Thunderscan Jeg fik meget en interessant opringning fra Jeff Harbers der var leder af holdet Macintosh-programmer Microsoft. Det forlyder, at Microsoft har udviklet en meget vigtig strategisk projekt, og de tror, at jeg ville være en ideel kandidat til dens gennemførelse. Jeff har ikke afsløre andre detaljer på telefonen, men han tilbød at flyve til Seattle for at diskutere alt personligt. Jeg var fascineret nok til at stoppe arbejdet på Thunderscan og sidde i flyet.
Jeff plukket mig i lufthavnen, og vi ledes til hovedbygningen af virksomheden Microsoft, hvor vi fik selskab af Neil Conze - en talentfuld 23-årig programmør på Macintosh. Jeg kendte ham fra tidspunktet for vores fælles arbejde på at tilføje funktioner til en forsamling sprog. Han var på det tidspunkt kun 16 år gammel.
Jeff spurgte mig, hvad jeg i øjeblikket arbejder på. Jeg fortalte ham om Thunderscan, men når nævnte eksperimenter med nytte app skifte hans kæbe faldt. Jeff kunne ikke tro, at jeg rent faktisk sagde det.
"Det er præcis, hvad vi ønskede at tale! Det er flot, at du allerede arbejder på det! "- Jeff udbrød.
Han forklarede, at det er nødvendigt at arbejde hårdt for at gøre det arbejde konsekvent applikationer i små områder af Macintosh 128K RAM. Derudover har Lotus nylig annonceret en ny softwarepakke til Jazz Macintosh 512K, hvilket gør det muligt hurtigt og nemt at skifte mellem dets funktionelle områder. Formålet med besøget var at overtale mig til at skrive en lignende ansøgning, tænde for en kontrakt med Microsoft.
Neil Conze præsenterede potentielle projekt udviklede værktøjer på bordet. Han foreslog at bruge den samme hukommelse område, som jeg straks afvist, fortæller om den alternative metode, med separate områder, der giver den største pålidelighed.
Min dag i Microsoft afsluttet et privat møde med Bill Gates. Jeff tog mig ind på sit kontor og undskyldte og forlod os alene.
Efter ledsageren udveksling af høfligheder, Bill kiggede op og spurgte mig i øjnene: "Du er virkelig en god programmør, er det ikke? Jeg tror, du virkelig nødt til at være en god programmør. "
"Jeg tror det," - svarede jeg, uden at vide, hvorfor han smigrer mig.
"Jeg tror så også. Hvordan tror du, hvor meget tid det vil tage at gennemføre dette projekt? En måned eller to? Det forekommer mig, en god programmør skal håndtere dette i et par måneder. "
"Jeg ved ikke, - sagde jeg - ved ikke engang, om det er muligt at gennemføre."
"Lad os se - sagde han lidt nedladende tone - det bør ikke tage mere end ti tusindvis af linjer kode, og en rigtig god programmør er i stand til at skrive mindst tusind rækker i uge. Jeg tror, det vil tage dig mere end ti uger. "
Jeg ved ikke, hvad de skal svare, så jeg bare holdt stille og lyttede.
"Hvad tror du, hvor mange penge kan tjene en god programmør? Vi betaler vores bedste medarbejdere omkring to tusind dollars om ugen. Tror du ikke, at du skal betale mere? "
"Jeg ved ikke" - jeg svarede. Det blev klart, at Bill forsøgte at slå mig på en meget hurtig måde at skrive dette værktøj.
"Hvis du får omkring fire tusinde dollars om ugen, - fortsatte han - at i sidste ende af de ti uger, kan du få fyrretusinde."
Jeg fortalte ham, at jeg vil gøre alt for at sikre, at dette værktøj fungerer godt med programmer fra Microsoft. Jeg ønskede at gøre dette i alle tilfælde og uden dette forslag, fordi Microsoft-programmer har været meget populære blandt brugerne. Vi gav hinanden hånden og jeg forlod kontoret med en positiv bemærkning.
Hjemme i Palo Alto, jeg ønskede at udvikle et koncept for værktøj til at skifte programmer, på trods af de slutdatoer for Thunderscan forberedelse.
I sidste ende, jeg var nødt til at oprette en brugergrænseflade til dette værktøj. Jeg har arbejdet non-stop 20 timer, udvikle en kerne program. Utrolig det var rart at se gradvist forbedrer stabiliteten af den nytte, løse regelmæssige problemer med hukommelsen.
Mens han arbejdede på sit projekt, bemærkede jeg Bud Tribble, der vendte tilbage til Apple i juli 1984 posten som Software Manager efter en medicinsk praktik på University of Washington og boede nær mig.
Jeg spurgte Bud for sig selv, for at demonstrere hurtige skift mellem MacPaint, MacWrite og MacDraw. Han var imponeret, men til min overraskelse, har klaget over, at overgangen sker for hurtigt.
"Og hvis nogen vil gøre denne kontakt ved et uheld? Dette kan skabe forvirring, - han fortalte mig - det kan være muligt at bruge animation til at skabe en glidende overgang "?.
Denne idé syntes virkelig god. Vi besluttede at ændre programmet skal rulles vandret, og alle kørende programmer kan vises tydeligt på et lille område af skærmen. Jeg skrev hurtigt den nødvendige kode og blev overrasket over, hvor stor programmet blinkede hen over skærmen.
Jeg viste dette koncept til dine venner fra Apple og nogle enkle brugere. Alt positivt omfavnede mit projekt. Desværre, jeg har ikke tid til Thunderscan revision, men jeg stadig er opfyldt løftet, og han var klar i slutningen af november.
Efter en kort pause var det tid til at gå tilbage til udviklingen af forsyningsvirksomheder at skifte applikationer, begyndte jeg at kalde Switcher. I begyndelsen af december, havde jeg indset det meste af det, herunder brugergrænsefladen.
I begyndelsen af januar 1985 modtog jeg et telefonopkald fra Guy Kawasaki, der fortalte mig, at Apple er interesseret i at købe Switcher. Det første skridt var at gennemføre en produktpræsentation til Steve Jobs.
At gå ind på sit kontor, var jeg lidt bekymret, at vurdere projektet i en kvart million dollars, men han var sikker på, at Steve aldrig betale mig så meget. Jeg var stolt af deres barn, og jeg var interesseret i reaktionen af job på ham. Løb MacWrite, MacPaint, MacDraw og Finder, jeg bevidst fremviste Switcher med animation, at senere lave en spektakulær indtryk. Jeg skifter hurtigt mellem programmer i begge retninger.
"Nå, så jeg nok - Steve afbrød mig, - det er fantastisk. Vi vil gerne integrere dette projekt i Mac ».
Et øjeblik stod han og kiggede på mig intenst, som om han ønskede at skræmme mig.
"Jeg vil ikke have dig til at blive brugt Apple».
"Hvad mener du?" - forundret over hans ord, jeg stillede ham et spørgsmål.
"Du vil ikke være i stand til at afslutte programmet uden de oplysninger, som du kan få her. Som et resultat, har du mistet lysten til at afslutte projektet. "
"Programmet er klar nøjagtig halvdelen. Jeg tvivler på, at hvis jeg betaler ærlig, jeg ikke kommer til at motivere til at færdiggøre arbejdet, "- Jeg begyndte at blive vred.
Efter at have set mig endnu mere alvorligt kig, Steve annoncerede et enkelt tal, uden nogen forklaring.
"A hundrede tusinde dollars."
"Jeg ved ikke, - jeg fortalte ham -. Jeg tror, at Switcher er meget dyrere"
"Du skal ikke diskutere med mig, - pareret Jobs - en rimelig pris, og du ved det."
Det syntes, at jeg ikke havde noget alternativ, og jeg var nødt til at overgive sig til Steve prissætning. Med ham var det faktisk meget svært at argumentere. I sidste ende, ved underskrivelsen af en endelig aftale med Guy Kawasaki jeg var i stand til at få bonus, som i fremtiden bragte mig en anden halvtreds tusinde.
Som forventet, den vanskeligste del af arbejdet med Switcher var at få ham til at arbejde støt med Microsoft-programmer. Udviklere har tilladt sig at forskellige friheder med systemet, har veget tilbage fra de sædvanlige instrukser, som forårsagede mig nogle vanskeligheder.
Jeg var nødt til at oversætte den pseudo kode til bytekode. Oversættelse med seks hold til efterfølgende debugging var ganske smertefuldt for Switcher.
Et af de seneste problemer, jeg står op til den første udgivelse Switcher i marts 1985 Det var implementeringen af muligheden for "drab" den hang ansøgning uden at skulle lukke ned alle med det samme. Jeg har tilføjet denne funktion i kombination med evnen til at overvåge status for kørende programmer.
Jeg var nødt til at vælge en tilstrækkelig sjælden kombination af taster til at starte denne funktion. Jeg valgte fire knapper, der, som det syntes, det var meget vanskeligt at komme på tværs ved en tilfældighed, men stadig blev overrasket, da jeg modtog et telefonopkald fra Jeff Harbers fra Microsoft.
"Jeg kan lide denne mulighed tvang afslutningen af programmerne, men du bliver nødt til at ændre tastaturgenvejen, fordi vi bruger dette, når du arbejder med Microsoft Word». Jeff forklarede mig, at Ordet er en meget kompliceret redaktør og har et stort udvalg af tastaturgenveje.
Jeff gjorde ikke tilbyde noget konkret, men kaldte mig den næste dag, der tilbyder en anden kombination.
"Vi vil ændre Word i næste nummer. Problemet er, at vi ikke er kommet til at finde en sikker nøgle sekvens. Vi bruger bare dem alle, "- lo ad mig, Jeff.
Frigivelsen af den endelige version af Switcher er officielt afholdes i april 1985. Jeg støttede flere versioner efter lanceringen, men til sidst gav det til Phil Goldman, en talentfuld programmør fra Princeton, der har fået job hos Apple. Han begyndte at udvikle MultiFinder, der blev modtageren Switcher i 1987.
via Folklore.org