Ca multitasking caracteristică a apărut pentru prima dată pe Macintosh
Makradar De Tehnologie / / December 19, 2019
Fiecare om modern, se bucură de multitasking caracteristici pentru dispozitivele lor. Nu contează ce este: un smartphone, tabletă sau computer acasă. Majoritatea oamenilor nici nu se gândesc prea mult despre modul de a construi funcționarea sistemului cu mai multe procese în același timp: ne-am Noi comunicăm în rețea, de lucru cu diferite documente, pentru a asculta muzică și televiziune să vizioneze emisiuni, se deplasează cu dexteritate între rularea mai multor programe. Această poveste, al cărui autor este Andy Gertsfeld conține nici o explicație a distribuției complexă a memoriei și a altor plictisitoare manuale tehnice, dar vorbește despre modul în care sarcinile multiple și, astfel, a apărut în calculatoarele companiei Apple.
Primul produs comercial, am lucrat după ce a părăsit Apple martie 1984, a fost Thunderscan - destul de ieftin scanner pentru Macintosh. Crearea sa a avut loc in colaborare cu o companie mica Thunderware. Lucrările au început în iunie 1984, iar la începutul lunii octombrie, proiectul a fost aproape completă.
Tom Petri, unul dintre cei doi lideri Thunderware (al doilea a fost Victor Bull, cu care am lucrat la o imprimantă termică Silentype, care a devenit primul proiect, Am creat pentru Apple), am dat mai multe prezentari pentru diverse reviste de calculator pentru a obține un feedback pozitiv necesar pentru promovare produs. 11 octombrie 1984 m-am dus cu Tim la biroul din Hillsboro pentru a demonstra Thunderscan pentru revista Byte.
Byte referent a fost John Markof. El a fost autorul coloanei despre tehnologia din San Francisco Chronicle. Ioan a fost considerat unul dintre cei mai buni jurnaliști care acoperă industria de calculatoare personale. Tom a vorbit despre Thunderscan, iar mai târziu a început o scanare demo. John a cerut câteva întrebări scrise, în editorul de text al IBM PC sale. În următoarele răspunsul meu sună telefonul.
Scuzelor, John apăsat tastele de pe tastatură, și apoi pe editorul de text ecranul computerului schimbat rapid la o altă aplicație. El a fost la telefon timp de un minut sau două, și apoi termina conversația, a reveni la lista de întrebări despre Thunderscan folosind toate aceeași combinație de taste.
„Ce ai făcut? - Am fost interesat în software-ul său - ai putea trece la un alt program atât de repede "?
„Oh, am folosi Shift de memorie. N-ați experimentat acest lucru? - John spune - este un utilitar DOS care vă permite să păstrați în minte mai multe aplicații și a comuta între ele rapid. Eu folosesc adesea în ultimii ani. " El a demonstrat procesul de comutare de câteva ori să-mi arate viteza acestui utilitar.
„Știi, cred că pot face ceva similar pentru Macintosh», - am dat drumul înainte de a gândi în mod conștient lucrurile prin.
livrări Macintosh 512K a început acum câteva săptămâni. Am încercat să ruleze mai multe aplicații simultan pe un 512K, dar a fost conflicte de memorie cu colțuri și alte capcane potențiale. Dar acum, după ce a văzut realocarea în acțiune, am avut ideea, care, se pare, nu prea dificil să pună în aplicare.
„Da, ar fi grozav“ - Ioan a fost de acord. Am continuat Thunderscan demonstrație, dar nu a putut să se concentreze pe deplin, de gândire despre comutarea între aplicații. Mi se părea că crearea unui astfel de utilitate - sarcină destul de fezabil, rezultatul care va fi extrem de util.
Tom Petri a observat entuziasmul meu din cauza noilor idei. După prezentare, el mi-a luat acasă, și a reamintit obligațiile mele, luându-mi promit să termin eliberarea alfa Thunderscan cât mai curând posibil, înainte de a începe ceva nou. Am convenit asupra unei liste de sarcini pe care am avut de a efectua două săptămâni vin. Odată ce versiunea alfa a fost gata, am fost în stare să ia o scurtă pauză pentru a lucra la cererea comuta la mai târziu re-IMMERSE ei înșiși în munca pe Thundescan, pregătirea versiunea 1.0 până la sfârșitul lunii noiembrie.
Lustruirea Thunderscan, am cugetat nuanțele de programare comutator. Alegerea între descărcarea aplicației într-o singură zonă, care este optim pentru a utiliza memorie, și utilizarea individuală zone pentru o mai bună izolare a fiecărui program, am stabilit pe a doua versiune, deși el nu era sigur de corectitudinea acestei alegere.
A trebuit să rezolve o mulțime de mici probleme. Cel mai important a fost faptul că cererea este stocată într-o memorie este variabilele globale care ar trebui care urmează să fie înlocuit în timpul schimbării, deoarece fiecare program are propriul set de variabile. Nu toate punctele au fost evident pentru mine. Am știut că prima mea experiență nu este ideal, dar sunt încrezător reușit să facă față depanare toate problemele inevitabile.
La câteva zile după începerea etapei finale a lucrărilor pe Thunderscan am primit foarte un interesant apel telefonic de la Jeff Harbers care a fost managerul echipei aplicații Macintosh Microsoft. Este raportat că Microsoft a dezvoltat un proiect strategic foarte important, și ei cred că aș fi un candidat ideal pentru punerea sa în aplicare. Jeff nu a dezvăluit alte detalii la telefon, dar el a oferit pentru a acoperi la Seattle pentru a discuta totul în persoană. Am fost intrigat suficient pentru a opri de lucru pe Thunderscan și să stea în avion.
Jeff ma luat de la aeroport și ne-am îndreptat spre clădirea principală a companiei Microsoft, în cazul în care am fost alăturat de Neil Conze - un talentat programator în vârstă de 23 de ani, la Macintosh. L-am cunoscut din timpul muncii noastre comune privind adăugarea de caracteristici la un limbaj de asamblare. El la acel moment a fost de doar 16 ani.
Jeff ma întrebat ce am fost de lucru în prezent pe. I-am spus despre Thunderscan, dar atunci când experimentele menționate cu app utilitate de comutare falca a scăzut. Jeff nu a putut crede că de fapt am spus.
„Aceasta este exact ceea ce ne-am dorit să vorbim! Este extraordinar că ești deja de lucru pe ea „- Jeff exclamat.
El a explicat că este necesar să se lucreze din greu pentru a face să funcționeze în mod constant aplicații în zone mici ale RAM Macintosh 128K. În plus, Lotus a anuntat recent un nou pachet software pentru Macintosh Jazz 512K, care vă permite să rapid și ușor de a comuta între zonele sale funcționale. Scopul vizitei a fost să mă convingă să scrie o aplicație similară, porniți un contract cu Microsoft.
Neil Conze a prezentat potențiale proiecte dezvoltate instrumente de pe bord. El a propus să folosească aceeași zonă de memorie, pe care am refuzat imediat, spune despre abordarea alternativă, cu zone separate, oferind cea mai mare fiabilitate.
O zi în Microsoft finalizat o întâlnire privată cu Bill Gates. Jeff ma dus la biroul său și-a cerut scuze și ne-a lăsat în pace.
După schimbul însoțitor de curtenitoare, Bill sa uitat în sus și ma întrebat în ochi: „Tu chiar ești un programator bun, nu-i asa? Cred că trebuie într-adevăr să fie un programator bun. "
„Cred că da“ - am răspuns, neștiind de ce mă măgulește.
„Și eu cred. Cum crezi cât de mult timp va lua pentru a pune în aplicare acest proiect? O lună sau două? Mi se pare, un programator bun ar trebui să se ocupe de acest lucru în câteva luni. "
„Nu știu - am spus - nici măcar nu știu dacă este posibil să se pună în aplicare.“
„Să vezi - a spus el pe un ton condescendent mic - nu ar trebui să ia mai mult de zece mii de linii de cod, și un programator foarte bun este capabil de a scrie cel puțin o mie de rânduri în săptămână. Cred că te va dura mai mult de zece săptămâni. "
Nu știu ce să răspundă, așa că am tăcut și a ascultat.
„Ce crezi, câți bani pot câștiga un programator bun? Plătim cele mai bune angajații aproximativ două mii de dolari pe săptămână. Nu crezi că va trebui să plătească mai mult? "
„Nu știu“ - am răspuns. A devenit clar că Bill a încercat să mă rândul său, pe un mod foarte rapid de a scrie acest utilitar.
„Dacă obține aproximativ patru mii de dolari pe săptămână, - a continuat el - că în cele din urmă de zece săptămâni, puteți obține patruzeci de mii.“
I-am spus că voi face tot posibilul pentru a se asigura că acest instrument funcționează bine cu aplicații de la Microsoft. Am vrut să fac acest lucru, în orice caz și fără această propunere, deoarece programele Microsoft au fost foarte populare în rândul utilizatorilor. Ne-am strâns mâinile și am plecat de la birou într-o notă pozitivă.
Înapoi acasă în Palo Alto, am vrut să dezvolte un concept de utilitate la programele de comutare, în ciuda data de sfârșit de pregătire Thunderscan.
În cele din urmă, a trebuit să creeze o interfață de utilizator pentru acest utilitar. Am fost de lucru non-stop 20 de ore, în curs de dezvoltare un program de bază. Incredibil a fost frumos pentru a viziona îmbunătățește treptat stabilitatea utilitatea, rezolvarea problemelor regulate cu memorie.
În timp ce lucra la proiectul său, am observat Bud Tribble, care a revenit la Apple în iulie 1984 pentru postul de Software-ul Manager de după un stagiu medical de la Universitatea din Washington, și a trăit în apropiere mă.
I-am cerut să Bud el însuși, pentru a demonstra comutare rapidă între MacPaint, MacWrite și MacDraw. El a fost impresionat, dar spre surprinderea mea, sa plâns că tranziția are loc prea repede.
„Și dacă cineva va face acest comutator de accident? Acest lucru poate provoca confuzie, - el mi-a spus - poate fi posibil de a utiliza animație pentru a crea o tranziție lină „?.
Această idee părea foarte bună. Am decis că schimbarea programului trebuie să fie defilat pe orizontală, și toate aplicațiile care rulează pot fi afișate în mod clar într-o zonă mică a ecranului. Am scris repede codul necesar și a fost uimit de cât de mare programul fulgera pe ecran.
Am demonstrat acest concept prietenilor de la Apple si unii utilizatori simpli. Totul a îmbrățișat în mod pozitiv proiectul meu. Din păcate, nu am timp să revizuire Thunderscan, dar eu încă îndeplinit promisiunea, iar el a fost gata la sfârșitul lunii noiembrie.
![switcher_about](/f/b54cd4a47b9ed812e91b37eef6445fd8.gif)
După o scurtă pauză a fost timp să se întoarcă la dezvoltarea utilităților la aplicații de comutare, am început să sun Switcher. La începutul lunii decembrie, am realizat cea mai mare parte, inclusiv interfața cu utilizatorul.
La începutul lunii ianuarie 1985 am primit un apel telefonic de la Guy Kawasaki, care mi-a spus că Apple este interesat să cumpere Switcher. Primul pas a fost de a efectua o prezentare de produs pentru Steve Jobs.
Mergând în biroul lui, am fost un pic ingrijorat, evaluarea proiectului într-un sfert de milion de dolari, dar el a fost sigur că Steve nu mă plătească atât de mult. Am fost mândru de copilul lor, si am fost interesat în reacția de locuri de muncă pe el. Rularea MacWrite, MacPaint, MacDraw și Finder, am arătat intenționat off Switcher cu animație, pentru a face mai târziu o impresie spectaculoasă. Am comuta rapid între aplicații în ambele direcții.
„Ei bine, am văzut destul - Steve ma întrerupt, - este grozav. Ne-ar dori să integreze acest proiect în Mac ».
Pentru o clipă a stat în picioare și se uită la mine cu atenție, ca și cum ar fi vrut să mă sperii.
„Nu vreau să fie utilizate la Apple».
„Ce vrei să spui?“ - nedumerit de cuvintele lui, l-am pus o întrebare.
„Nu va fi capabil de a termina programul fără informațiile pe care le puteți obține aici. Ca urmare, ați pierdut dorința de a termina proiectul. "
„Programul este gata exact jumătate. Mă îndoiesc că, dacă plătesc cinstit, nu am de gând să Motiva pentru a finaliza lucrarea „- am început să se înfurie.
După ce ma văzut arata chiar mai grav, Steve a anunțat un singur număr, fără nici o explicație.
„O sută de mii de dolari.“
„Nu știu - I-am spus - cred că Switcher este mult mai scump.“
„Nu te certa cu mine, - parried locuri de muncă - un preț corect, și tu știi asta.“
Se pare că nu am avut nici o alternativă, și a trebuit să se predea la prețuri Steve. Cu el a fost într-adevăr foarte dificil de argumentat. În cele din urmă, la semnarea unui acord definitiv cu Guy Kawasaki am fost capabil de a obține bonusul, care, în viitor, mi-a adus un alt cincizeci de mii.
Așa cum era de așteptat, cea mai dificilă parte a lucrării pe Switcher a fost să-l facă să lucreze în mod constant cu aplicațiile Microsoft. Dezvoltatorii s-au permis să diverse libertăți cu sistemul, au ferit de instrucțiunile obișnuite, care mi-a cauzat unele dificultăți.
A trebuit să traducă codul pseudo la bytecode. Traducerea cu șase echipe pentru depanare ulterioară a fost destul de dureros pentru Switcher.
Una din problemele recente, m-am confruntat până la prima lansare Switcher martie 1985, Acesta a fost punerea în aplicare a posibilității de „ucidere“ aplicarea agățate fără a fi nevoie de a închide toate imediat. Am adăugat această funcție în combinație cu capacitatea de a monitoriza starea de programe care rulează.
A trebuit să aleg o combinație rară suficient de taste pentru a porni această funcție. Am ales patru butoane, care, după cum se pare, a fost foarte dificil să vină peste din întâmplare, dar încă a fost surprins când am primit un apel telefonic de la Jeff Harbers de la Microsoft.
![gates_letter_t](/f/ff553720215ee755d56de09116614e74.jpg)
„Îmi place această opțiune forțată finalizarea programelor, dar va trebui să modificați comanda rapidă de tastatură, pentru că vom folosi acest lucru atunci când se lucrează cu Microsoft Word». Jeff mi-a explicat că Cuvântul este un editor foarte complicat și are o gamă foarte mare de comenzi rapide de la tastatură.
Jeff nu a oferit nimic concret, dar ma sunat a doua zi, oferind o altă combinație.
„Vom schimba Cuvântul în numărul următor. Problema este că nu am venit pentru a găsi o secvență de taste în condiții de siguranță. Noi doar le folosim toate, „- a râs de mine, Jeff.
Eliberarea versiunii finale a Switcher este ținută oficial în aprilie 1985. Am susținut mai multe versiuni după lansare, dar în cele din urmă a dat Phil Goldman, un programator talentat de la Princeton, care are un loc de muncă de la Apple. El a început să se dezvolte MultiFinder, care a devenit receptorul Switcher în 1987.
prin Folklore.org