Както мултитаскинг функция се появи на Macintosh
Makradar От технологии / / December 19, 2019
Всеки съвременен човек се радва на мултитаскинг възможности за своите устройства. Няма значение какво е то: смартфон, таблет или компютър вкъщи. Повечето хора дори не се замислят за това как да се изгради на работата на системата с множество процеси в същото време: ние просто Ние общуваме в мрежата, работа с различни документи, да слушате музика и гледане на телевизионни предавания, ловко се движат между множествена бягане програми. Тази история, чийто автор е Анди Gertsfeld не съдържа обяснение на комплекс разпределението на паметта и други скучен технически ръководства, но говори за това как мултитаскинг и по този начин се появиха в компютрите на компанията Apple.
Първият търговски продукт, работих след напускане на Apple март 1984, беше Thunderscan - сравнително евтин скенер за Macintosh. Създаването й се състоя в сътрудничество с една малка компания Thunderware. Работата започна през юни 1984 г., а от началото на октомври, проектът е почти завършен.
Том Петри, един от двамата лидери Thunderware (второто е Виктор Бул, с когото е работил по термопринтер Silentype един, който стана първият проект, Аз бях създаден за Apple), дадох няколко презентации на различни компютърни списания да получат положителна обратна връзка, необходима за промоция продукт. 11 октомври 1984 Отидох с Тим до офиса в Хилсбъро да демонстрира Thunderscan за списание Byte.
Байт рецензент е Джон Markof. Той е автор на колоната за технологията в Сан Франциско Кроникъл. Джон е считан за един от най-добрите журналисти, отразяващи лични компютърната индустрия. Том говори за Thunderscan, а по-късно започна демо сканиране. Джон зададе няколко въпроса, написани на текстовия редактор на нейната IBM PC. През следващата отговорът ми телефон иззвъня.
Извиняваш, Джон натисне клавишите на клавиатурата, а след това на екрана на компютъра текстовия редактор на бързо се променя към друго приложение. Той беше по телефона за една-две минути, а след това завърши разговора, връщане към списъка с въпроси за Thunderscan използва всички от една и съща комбинация от клавиши.
"Това, което направи току-що? - Интересно ми беше в своя софтуер - можете да превключите на друга програма толкова бързо "?
"О, аз използвам Shift памет. Не сте ли имали това? - Джон казва - е помощна програма DOS, която ви позволява да имате предвид няколко приложения и да превключвате между тях бързо. Аз често го използват през последните години. " Той демонстрира процеса на включване на няколко пъти, за да ми покаже скоростта на тази програма.
"Знаеш ли, мисля, че мога да направя нещо подобно за Macintosh», - изтърсих аз преди съзнателно обмисля нещата.
Macintosh 512K доставки започнаха преди няколко седмици. Опитах се да стартирате няколко приложения едновременно на 512K, но беше в ъгъла на конфликти на паметта и други потенциални клопки. Но сега, след като са видели преразпределение в действие, имах идеята, която, изглежда, не е твърде трудна за изпълнение.
"Да, това би било чудесно" - Джон се съгласи. Аз продължих Thunderscan демонстрация, но не можех да се концентрирам изцяло, мисля за превключване между приложения. Струваше ми се, че създаването на такава програма - съвсем възможно задача, в резултат на което ще бъде изключително полезно.
Том Петри забелязал вълнението ми, защото на новите идеи. След презентацията, той ме заведе у дома, и припомни задълженията ми, като ми обещаеш да завърши Thunderscan на алфа версия възможно най-скоро, преди да започнете нещо ново. Ние се договорихме за списък от задачи, които трябваше да се извърши два следващите седмици. След като алфа версията е готова, аз бях в състояние да вземе кратка почивка, за да работи по прилагането на преминаване към по-късно потапят отново себе си в работата по Thundescan, изготвяне на версия 1.0, като в края на ноември.
Полиране Thunderscan размишлявах нюансите на програмиране ключ. Изборът между свалите приложението в един район, който е оптимален за използване на паметта, както и използването на индивидуален зони за по-добра изолация на всяка програма, аз се заселили на втория вариант, въпреки че не е сигурен в правотата на това избор.
Ние трябваше да се реши много малки проблеми. Най-важното е, че заявлението се съхранява в паметта е глобални променливи, които трябва да да бъдат заменени по време на преминаването, тъй като всяка програма има свой собствен набор от променливи. Не всички точки бяха очевидни за мен. Знаех, че първият ми опит не е идеален, но аз съм уверен справи с отстраняване на грешки на всички неизбежните проблеми.
Няколко дни след началото на последния етап от работата по Thunderscan имам много интересен телефонно обаждане от Джеф Harbers който е мениджър на отбора на Macintosh приложения Microsoft. То се съобщава, че Microsoft е разработила един много важен стратегически проект, и си мислят, че ще бъде идеалният кандидат за нейното изпълнение. Джеф не разкрива други подробности по телефона, но той предложи да лети до Сиатъл, за да обсъдят всичко лично. Бях заинтригуван достатъчно, за да спре работата по Thunderscan и да седне в самолета.
Джеф ме вдигна на летището и се отправихме към основната сграда на компанията Microsoft, където ние се присъединиха Нийл Conze - талантлив 23-годишният програмист в Macintosh. Познавах го от времето на съвместната ни работа по добавянето на функции на асемблер. Той по това време е само на 16 години.
Джеф ме попита какво съм в момента работи по. Разказах му за Thunderscan, но когато споменатите експерименти с полезност приложение превключване челюстта му спадна. Джеф не можех да повярвам, че аз всъщност го каза.
"Това е точно това, което ние искахме да поговорим! Чудесно е, че вече работите по него! "- възкликна Джеф.
Той обясни, че е необходимо да се работи усилено, за да работи последователно приложение в малки области на RAM на Macintosh 128K. В допълнение, Lotus наскоро обяви нов пакет от програми за джаз Macintosh 512k, което ви позволява бързо и лесно да превключвате между неговите функционални области. Целта на посещението беше да ме убеди да напише подобна молба, включете договор с Microsoft.
Нийл Conze представени потенциални проекта, разработени инструменти на борда. Той предложи да се използва една и съща област на паметта, което аз веднага отказал, разказващ за алтернативен подход, с отделни области, като най-голяма надеждност.
Моят ден в Microsoft приключи частна среща с Бил Гейтс. Джеф ме заведе в кабинета си и се извини и да ни оставят на мира.
След размяната на любезности придружител, Бил погледна нагоре и ме попита в очите: "Ти наистина си добър програмист, нали? Мисля, че наистина трябва да бъде един добър програмист. "
"Мисля, че това е така," - отговорих аз, без да знае защо ме ласкае.
"Мисля, че така също. Как мислите, колко време ще отнеме да се приложи този проект? Един месец или два? Струва ми се, един добър програмист трябва да се справим с това след няколко месеца. "
"Аз не знам - казах - дори не знам дали е възможно да се приложи."
"Нека виж - каза той малко тон снизходително - тя не трябва да отнеме повече от десет хиляди реда код, а един наистина добър програмист е в състояние да напише най-малко хиляда реда в седмица. Мисля, че това ще ви отнеме не повече от десет седмици. "
Аз не знам какво да отговоря, така че аз просто мълчеше и слушаше.
"Какво мислиш, колко пари можете да спечелите една добра програмист? Ние плащаме най-добрите ни служители около две хиляди долара на седмица. Не смятате ли, че трябва да плащате повече? "
"Аз не знам" - отговорих аз. Стана ясно, че Бил се опитва да ме включите много бърз начин да напиша тази програма.
"Ако получите около четири хиляди долара на седмица, - продължи той - че в края на десетте седмици, можете да получите четиридесет хиляди."
Аз му казах, че ще направи всичко възможно, за да се гарантира, че този инструмент работи добре с приложения от Microsoft. Исках да направя това в никакъв случай и без това предложение, защото програмите на Microsoft са били много популярни сред потребителите. Стиснахме си ръцете и си тръгнах офиса с нещо положително.
Обратно дома си в Пало Алто, исках да се разработи концепция за програма, за да превключвате програми, независимо от крайната дата за получаване Thunderscan.
В крайна сметка, аз трябваше да се създаде потребителски интерфейс за тази програма. Аз работя нон-стоп 20 часа, разработване на основната програма. Невероятно беше приятно да гледам постепенно подобрява стабилността на помощната програма, решаване на редовни проблеми с паметта.
Докато работи по своя проект, аз забелязах, Bud Tribble, който се завръща в Apple през юли 1984 г. на длъжността Софтуер Мениджър след медицински стаж в Университета на Вашингтон и е живял в близост до мен.
Попитах Bud за себе си, за да покаже, бързо превключване между MacPaint, MacWrite и MacDraw. Той е впечатлен, но за моя изненада, се оплака, че преходът се извършва твърде бързо.
"И ако някой ще направи този превключвател по случайност? Това може да доведе до объркване, - той ми каза - тя може да бъде възможно да се използва за създаване на анимация плавен преход "?.
Тази идея изглежда наистина добре. Решихме, че промяната на програмата трябва да се превърта хоризонтално, както и всички стартирани приложения могат да бъдат ясно показани в малка област на екрана. Аз бързо пише необходимия код и бях изумен колко голяма е програмата изписа на екрана.
Аз демонстрира тази концепция на приятелите си от Apple и някои прости потребители. Всичко положително прегърна моя проект. За съжаление, нямам време да Thunderscan редакция, но аз все още се изпълняват обещанието, и че е готов в края на ноември.
След кратко прекъсване, че е време да се върнем към развитието на комунални услуги, за да превключите приложения, аз започнах да се обадя превключвател. В началото на декември, аз знаех, че голямата част от него, включително и на потребителския интерфейс.
В началото на януари 1985 г., получих телефонно обаждане от Гай Кавазаки, който ми каза, че Apple се интересува от закупуване превключвател. Първата стъпка е да се проведе представяне на продукти за Стив Джобс.
Влизайки в кабинета си, бях малко притеснен, оценка на проекта в една четвърт от един милион долара, но той беше сигурен, че Стив никога не ми плащат толкова много. Бях горд с детето си, а аз се интересува от реакцията на работа върху него. Работещи MacWrite, MacPaint, MacDraw и Finder, аз нарочно показваше превключвател с анимация, до по-късно направи грандиозно впечатление. Аз бързо превключване между приложения в двете посоки.
"Е, видях достатъчно - Стив ме прекъсна, - това е страхотно. Бихме искали да се интегрират този проект в Mac ».
За миг той се изправи и ме погледна напрегнато, сякаш искаше да ме плаши.
"Аз не искам да се използва Apple».
"Какво искаш да кажеш?" - озадачен от думите му, аз го попитах един въпрос.
"Ти не ще бъде в състояние да завърши програмата без информацията, която можете да получите тук. В резултат на това, че сте загубили желанието да завърши проекта. "
"Програмата е готова точно наполовина. Съмнявам се, че ако плащат честен, аз няма да се мотивират за завършване на работата, "- започнах да се ядосвам.
След като ме видя още по-сериозен вид, Стив съобщи един номер, без никакво обяснение.
"Сто хиляди долара."
"Аз не знам - казах му. - Мисля, че Switcher е много по-скъпо"
"Не спори с мен, - парира работни места - цена, честно, и ти го знаеш."
Струваше ми се, че не е имал никакви алтернатива, и аз трябваше да се предадат на Стив ценообразуване. С него той наистина е много трудно да се спори. В крайна сметка, при подписването на окончателно споразумение с Гай Кавазаки аз бях в състояние да получите бонуса, който в бъдеще ми донесе още петдесет хиляди.
Както се очакваше, най-трудната част от работата по Switcher е да го накарам да работи постоянно с приложения на Microsoft. Разработчиците са се допускат до различни свободи със системата, са стояла настрана от обичайните инструкциите, които ме причинени някои трудности.
Аз трябваше да се преведат на псевдо код, за да байткод. Превод с шест отбора за последващо отстраняване на грешки е доста болезнено за Switcher.
Един от най-съвременните проблеми, аз изправени до Switcher първото пускане през март 1985 г., Това е прилагането на възможността за "убиване" на окачени заявлението без да е необходимо да го изключите всички веднага. Имам добавят тази функция в комбинация с възможността за наблюдение на състоянието на стартираните програми.
Аз трябваше да се избере достатъчно рядка комбинация от клавиши, за да започне тази функция. Избрах четири бутона, които, както изглежда, е било много трудно да се намира по случайност, но все пак е изненадан, когато получих телефонно обаждане от Джеф Harbers от Microsoft.
"Аз като тази опция принуден приключването на програмите, но ще трябва да се промени клавишната комбинация, защото ние използваме това при работа с Microsoft Word». Джеф ми обясни, че Словото е много сложно, редактор и разполага с огромен набор от клавишни комбинации.
Джеф не предлага нищо конкретно, но ми се обади на следващия ден, предлагащи различна комбинация.
"Ние ще се промени Словото в следващия брой. Проблемът е, че ние не сме стигнали, за да намерите безопасен ключ последователност. Ние просто ги използват всички, "- ми се изсмя, Джеф.
Освобождаването на окончателния вариант на Switcher е официално през април 1985 година. Подкрепих няколко версии след пускането на пазара, но в крайна сметка го дал на Фил Goldman, талантлив програмист от Принстън, който е намерил работа в Apple. Той започва да се развива MultiFinder, който става приемник Switcher през 1987.
чрез Folklore.org