Обзоры
Восемь бит (часть вторая)
0

Восемь бит (часть вторая)

Предыдущая история, посвященная создателю знаменитого компьютера Sinclair Spectrum, оставила вне внимания читателя одну серьезную проблему. Spectrum был (и во многом остается) действительно исключительно удачной разработкой, но он не был одинок на рынке. Не менее удачными оказались и компьютеры Atari, и Commodore, и многие другие (вплоть до совершенно малоизвестных "наколенных" разработок).

Все это буйство микропроцессоров (популярность Z80 оспаривалась многочисленными клонами 6502, а более совершенные кристаллы были уже "на подходе"), архитектур, системных управляющих программ-мониторов, с одной стороны, сыграло важную роль в становлении индустрии, с другой — породило слишком много проблем. К скачку развития оказались не готовы… стандарты и спецификации, точнее, их не было вообще, ведь существовавшая тогда инфрастуктура, ориентированная на возможности мэйнфреймов, никак не подходила для дешевых 8-битовых компьютеров. Время востребовало Личность, способную упорядочить хаос…

Ученик и Учитель

В 1994 г. его не стало. Близкий друг в траурной речи сказал так: "Это был самый взрослый ребенок, которого я когда-либо знал. Он не утратил детского энтузиазма до последних дней. Его игрушками были самолеты и автомобили, моторные лодки и мотоциклы и, конечно, компьютеры… Он показал нам, что друзья и бизнес — это практически одно и то же". Увы, окружающий Гэри Килдэлла мир состоял не только из его друзей — впрочем, об этом позже. А начиналось все так…

В 1924 г. в Сиэтле открылся колледж, готовививший специалистов по морской навигации, — Kildall College of Nautical Knowledge. Это было, как принято говорить сейчас, семейное "малое предприятие". Колледж был небольшой, но пользовался заслуженной популярностью. Практически все Килдэллы работали в своем колледже, включая и героя нашего повествования. Основатель Kildall College, естественно, очень хотел видеть своего внука преподавателем, да и сформированные семейным окружением (еще одна династия) преподавательские наклонности и способности Гэри не оставались незамеченными окружающими. Сразу после окончания школы Килдэлл-третий (как и Синклейр-третий, характерное повторение в причудливых линиях Судьбы) принимает самостоятельное решение и поступает в Университет штата Вашингтон. Гэри не изменил семейным традициям и выбрал профессию преподавателя математики. В те времена математика была одной из самых "компьютерных" специальностей, и уже в университете Килдэлл-третий впервые открыл для себя компьютер. Мода на "недоученный" компьютинг еще не пришла (все-таки 60-е годы), и Гэри, успешно закончив аспирантуру по "computer science", приступает к преподавательской деятельности сразу в нескольких колледжах. И здесь в его судьбу вмешивается история — США начинают войну во Вьетнаме, страна переходит к призывной системе комплектования армии. Министерство обороны США перед молодым преподавателем ставит условие — или Вьетнам, или… деканат в военном колледже навигации. По воспоминаниям самого Гэри, ему понадобилась "микросекунда" для принятия решения.

"Это был самый взрослый ребенок, которого я когда-либо знал. Он не утратил детского энтузиазма до последних дней. Его игрушками были самолеты и автомобили, моторные лодки и мотоциклы и, конечно, компьютеры… Он показал нам, что друзья и бизнес – это практически одно и то же"

Хорошо (как и во всех странах) оснащенная военная система преподавания открыла Гэри доступ к лучшей по тем временам вычислительной технике, да и работа в академической науке, "привязанной" к реальным потребностям "заказчиков мозгов", позволила молодому Килдэллу-третьему сделать окончательный выбор. В отличие от Синклейра-третьего, Гэри, обладающий не менее разносторонними интересами, раз и навсегда выбрал компьютеры. В 1972 г. он защищает докторскую степень в университете Вашингтона и продолжает преподавать в Военно-морских силах США. В этом же году Гэри начинает работу в исследовательском проекте для молодой тогда компании Intel и создает первый действительно высокоуровневый язык программирования для микропроцессоров под названием PL/M. По сравнению с популярным тогда Basic PL/M отличала чистота синтаксиса и четкая семантика, унаследованная от страдающего гигантизмом, но во многом удачного универсального языка программирования PL/I для "больших компьютеров". Килдэлл разрабатывает не только синтаксис и семантику PL/M, но создает и работоспособный, генерирующий отличный код для только появившихся процессоров Intel 8008 компилятор. PL/M сам по себе оказался очень хорошей разработкой — на нем написано необъятное количество строк кода для разнообразных встраиваемых систем, а поддержка средств разработки на PL/M продолжается по сей день: так, швейцарская компания RistanCASE (www.ristancase.ch/da-plm/index.htm) давно превратила кросс-транслятор PL/M в мощную IDE (интегрированную среду разработки), а фирмам, специализирующимся на портировании старых PL/M-программ на новые аппаратные платформы, похоже, не грозит судьба стартапов-однодневок. К сожалению, сегодня уже мало кто помнит об истинном авторе PL/M — корпорация Intel настолько долго держала этот язык в своем "арсенале", что в непосредственной причастности Килдэлла-третьего к созданию одного из лучших для своего времени инструментов, ориентированных на практическое применение, можно убедиться только по скупым строчкам немногочисленных специализированных справочников.

Четыре, восемь, шестнадцать?

Это историческое отступление необходимо. Именно с четырех бит, а точнее, с первого, стоившего 25 долларов, "процессора" i4004 начинался взлет настоящей компьютерной индустрии. Мы позволим себе спорную и несколько неожиданную точку зрения: сегодня уже совершенно не важно, какая именно компания выпустила четырехбитовое "чудо техники", добиться от которого чего-либо вразумительного было настоящей мукой. Важно другое — молодой и талантливый ученый Гэри Килдэлл увидел рекламу дешевого компьютера в… аптеке возле своего дома. Это случилось тогда, когда это понадобилось Истории, — и Гэри проводит месяцы за программированием (по его воспоминаниям, он "был близок к потере рассудка"), но предчувствие громадного потенциала примитивного и неудобного устройства не давало Килдэллу покоя. Посещение Intel в начале 1972 г. вполне могло прекратить гонку, устроенную себе самому Килдэллом-третьим: в будущем гиганте компьютерной индустрии его поразила… малочисленность микропроцессорного подразделения, располагавшегося в нескольких комнатушках. Но самый интересный факт История прячет очень глубоко — работу с Intel Гэри Килдэлл начал в качестве… консультанта микропроцессорного подразделения. У него установились прекрасные отношения с командой Intel, и, естественно, он одним из первых получает доступ к самой мощной модели i8008. Для нее Килдэлл пишет программу-симулятор, позволяющую использовать "большой компьютер" в качестве средства кросс-разработки, для нее же создает в рекордно короткие сроки (всего за несколько месяцев) "с нуля" мощный и совершенно новый язык программирования. Куда более известная история еще даже и не началась — Билл Гейтс и Пол Аллен разработают примитивный интерпретатор Basic для компьютера MITS Altair почти через три года после появления на свет PL/M.

Сотрудничество с Intel, преподавательская работа, все свободное время, отданное компьютерам, — казалось бы, линия судьбы Килдэлла навсегда разошлась с линией семейной династии. Вовсе нет — в качестве частичной оплаты за свою работу с Intel Гэри соглашается принять дорогостоящую систему разработки Intellec-8 и немедленно… устанавливает ее в учебном классе своего навигационного колледжа для обучения студентов новым технологиям. Как это ни странно, но первая в мире (точно неизвестно, но многие считают, что именно первая в мире) микрокомпьютерная лаборатория появилась в совсем не компьютерном и уж далеко не в самом престижном вузе. Возможно, в этом факте и скрывался некий намек Судьбы (что в терминах нашей недавней действительности выражается емкой фразой "компьютеры и народ — едины"), но сам факт остался малоизвестным, а со временем и вовсе попал "на полку" с запылившимися примерами вышедшего из моды альтруизма. Впрочем, модно это или не модно, Учитель оставался верным своему призванию — микрокомпьютерная лаборатория одной из первых провела модернизацию основанной на i8008 системы Intellec и стала обладателем "мощной" i8080-системы, а когда компания Shugart выпустила первый накопитель на гибких дисках стоимостью $500, лаборатория Килдэлла, по его словам, "продала кое-что из программных разработок", и студенты получили возможность работать на самой современной микроЭВМ, очень близкой к сегодняшним ПК. И, вероятнее всего, именно приобретение устройства, заменяющего одной небольшой дискетой 60-метровый рулон перфоленты, стало тем фактором, который в хаосе "первичного бульона" неорганизованной материи зародил жизнь. Килдэлл одним из первых понял важность пятидолларовой дискеты и высказался со свойственной ему прямотой: "Теперь потребность в разделении вычислительных ресурсов отпадает". Сегодня, набирая эти строки в многопользовательской ОС Unix на безнадежно устаревшем, но успешно справляющемся с выполнением возложенных на него "обязанностей" ПК, автор, выступающий в роли и администратора своего "хоста", и пользователя, вынужден согласиться со словами Килдэлла — микрокомпьютеры окончательно и бесповоротно победили.

Но в 1973 г. грядущая победа микрокомпьютеров была далеко не такой очевидной. Тот же приобретенный за кругленькую сумму (в начале 70-х $500 были немалыми деньгами в США) накопитель по сути являлся "вещью в себе" — для него не существовали ни контроллеры, ни драйверы (впрочем, само понятие "драйвер" тогда только зарождалось). Килдэлл со своими студентами пытается разработать собственный контроллер, но… математическое образование и специализация в программировании оказались плохо подкрепленными инженерными навыками. И здесь впервые проявился организаторский талант Килдэлла — в кратчайшие сроки с привлечением "сторонних" специалистов (трудно назвать сторонними хороших друзей, но еще труднее добиться эффективной работы в компании с хорошими друзьями) необходимое устройство было создано.

Успехи лаборатории Килдэлла были хорошо известны за пределами навигационного колледжа, и благодаря этому Килдэлл получил первую возможность участия в коммерческом проекте — Бен Купер (впоследствии основатель компании Micromation), инженер-электронщик из Сан-Франциско, обратился к Гэри за помощью в разработке ПО для электронного устройства, составляющего… гороскопы. "Астрологическая машина" оказалась неудачным проектом, но именно на ней были "обкатаны" технологические наработки Килдэлла — отладчик программ, ассемблер, текстовый редактор, разработанный "по ходу дела" интерпретатор Basic. Гэри использовал "обкатанные" программы не совсем по назначению — на них обучались его студенты. Так, молодой способный морской офицер Гордон Эйбэнкс (Gordon Eubanks) — один из учеников Килдэлла, впоследствии организовавший компанию, конкурировавшую с Microsoft (бывший президент и CEO компании Symantec), — постигал тонкости программирования и профессиональные приемы именно на коде разработок Килдэлла.

Появление "совсем другого компьютера" — "Астрологической машины" — выявило и трудности, возникающие при переносе программ на компьютеры разной архитектуры. Оказалось, что совместимости системы команд процессоров для "полного программистского счастья" вовсе не достаточно. И Килдэлл задумывает, по мнению даже близких его друзей, совершенно безумное мероприятие — создание программной "прослойки", позволяющей "спрятать" различие в аппаратных средствах и облегчающей жизнь программистам. Безумие затеи заключалось не столько в сложности реализации (хотя подобных систем для маленьких вычислителей никто до Килдэлла не писал), сколько в кажущейся ее бесперспективности. Руководство Intel в те времена относилось более чем прохладно к микропроцессорам, предыдущие попытки Килдэлла заинтересовать Intel разработками бытового назначения заканчивались полным крахом. Когда еще в период i4004 Килдэлл с группой программистов Intel написал игру, работающую на этом "чуде техники" (вот и еще один затерявшийся в истории факт — первая компьютерная игра для микропроцессора!), и предложил ее к производству в Intel, директор компании Боб Нойс (Bob Noyce) категорически отказался и высказал (выражаясь языками пресс-релизов) "стратегическое видение будущего": "Можете думать о любом их (микропроцессоров) применении, но перспективны они только для часов". Естественно, что такое отношение со стороны самого производителя компонентов не слишком воодушевило разработчиков конечных продуктов на основе этих компонентов, и даже сам Килдэлл не очень-то верил в грядущую популярность микрокомпьютеров в качестве персональных ЭВМ. Он думал о другом — о широких возможностях применения новых чипов в автомобильных карбюраторах, интеллектуальных машинах, в индустрии — и прекрасно понимал, что для поддержки этих применений нужно технологическое программное обеспечение, позволяющее быстро и эффективно разрабатывать управляющие программы.

CP/M

Разработка программы, облегчающей жизнь программистам, несомненно, была "спровоцирована" опытом интеграции Intellec и накопителя на гибких дисках и адаптации ПО, разработанного на Intellec, для компьютера "Астрологическая машина". Условное название, придуманное Килдэллом, до сих пор вызывает разнотолки. Аббревиатуру СP/M трактуют по-разному, но сам автор системы в некоторых интервью расшифровывал ее так: Control Program for Microcomputers (Управляющая программа для микрокомпьютеров), и сохранившаяся в электронном формате документация на систему является лишним тому подтверждением. Скромность названия не должна вводить в заблуждение — СP/M даже в первой версии была полноценной однопользовательской однозадачной операционной системой с великолепной архитектурой. В 1974 г. Килдэлл закончил и относительно "отполировал" первую версию ОС — содержащую практически все минимально необходимые утилиты, надежную и простую. Увы, попытка сделать "еще одно предложение" Intel оказалась безуспешной (что во многом предопределило облик сегодняшнего компьютерного мира) — корпорация отказалась от приобретения СP/M за 20 тыс. долл. и ограничилась лишь покупкой языка PL/M.

Подобные этой фотографии впоследствии назовут "104 MHz".
4 MHz – это тактовая частота процессора Z80, зато сам Гэри Килдэлл всегда работал "на частоте" 100 MHz

Однако очередной отказ Intel Килдэлла не расстроил. Он открыл семейную компанию (что значит традиция) с громким названием DRI — Digital Research Intergalactic (!), которая начала продавать CP/M. За "межгалактическим" названием стояла фирма фактически из двух человек — Гэри программировал, а его жена, Дороти, продавала программы (и даже сменила свою фамилию на девичью, чтобы о компании не говорили "Гэри и его жена"). Никакого опыта в торговле системным ПО у DRI не было, да и не могло быть, потому что в те времена никто не продавал его отдельно от компьютеров. Неудивительно, что первые сделки можно назвать историческими — так, компания GNAT Computers получила неограниченную лицензию на использование CP/M в качестве операционной системы для любых компьютеров ее производства всего за $90. Но семейному подряду Килдэллов следует отдать должное — через год CP/M радикально изменилась в лучшую сторону, а стоимость неограниченной лицензии выросла до 9 тыс. долл. В 1977 г. в истории DRI произошел перелом — амбициозная компания IMSAI, собиравшаяся производить и продавать десятками тысяч микрокомпьютеры с накопителями на гибких дисках, ранее закупавшая СP/M по копиям, решила перестроить свои отношения с DRI и приобрести неограниченную лицензию. В результате переговоров за очевидно минимальную по тем временам стоимость 25 тыс. долл. IMSAI получила лицензию, а DRI превратилась из семейной компании в по-настоящему крупную фирму.

Несмотря на неожиданно пришедший успех и признание, Гэри… продолжает совмещать работу преподавателя с обязанностями главного разработчика и программиста CP/M. Казавшийся современникам странный стиль, присущий компании, одновременно напоминавший университетскую аудиторию и студенческую вечеринку, и разъезжающий по коридорам на роликовых коньках в тоге "ведущий программист" не мешали DRI работать исключительно хорошо. В 1978 г. Гэри в очередной раз усовершенствовал СP/M, добившись очень высоких показателей мобильности системы за счет введения совершенно новых в то время термина и программной подсистемы — BIOS. Да-да, расшифровывалось это тогда точно так же, как и сейчас — Базовая подсистема ввода/вывода, но радикально отличалось (в лучшую сторону) от современной реализации идеи. BIOS была машинно-зависимой подсистемой CP/M, обеспечивающей не что иное, как виртуализацию аппаратных средств компьютера. Количество абстракций, формируемых BIOS, было небольшим (всего 17 в версиях CP/M 2.x), а программная реализация вообще представляет собой канонический образец высококлассного проектирования системного ПО — табличная организация позволяла очень легко адаптировать систему практически к любому компьютеру и почти не требовала перепрограммирования, достаточно было изменить некоторые константы. Машинно-независимая часть CP/M — BDOS — была написана на языке PL/M и предоставляла прикладным программам порядка 160 достаточно высокоуровневых вызовов. Многие программисты отмечали замечательное качество кода компилятора PL/M — после дизассемблирования бинарного ядра (BDOS) получался очень хорошо читаемый ассемблерный текст (настолько хорошо, что автор этой статьи, проводивший подобную операцию в конце 80-х, долго и искренне считал, что BDOS написана на ассемблере).

Высокие показатели качества СP/M сказались на объемах продаж — в 1981 г. они достигли отметки в 5,6 млн., а в 1983 г. — 44,6 млн. долл. Компания DRI фактически не занималась ни маркетингом, ни тем, что более емко именуется "продвижением товара". Она занималась самим товаром: CP/M версии 2.2 стала стандартом де-факто — ОС, управляющей работой тысяч компьютерных архитектур, доказавшей свою мобильность появлением совместимой системы для совершенно чуждых миру i8080-подобных компьютеров на процессорах Motorola 68000, оснащенной полноценной (и очень мощной) графической оболочкой Gem, — и даже приобрела мультизадачность (автору довелось поработать на компьютере Robotron 1715 под управлением мультизадачной версии CP/M под названием MP/M). Практически все это успело появиться до выхода на рынок 16-разрядного ПК производства IBM. Увы, обстоятельства сложились так, что DRI не "вытянула" счастливый билет на поезд в будущее (существует множество уже ставших фольклором версий случившегося), и IBM выбрала для своих компьютеров совсем (или не совсем) другую ОС… Сегодня это уже не важно — CP/M сделала свое дело: она превратила хаос в порядок и дала старт многим отличным производителям программного обеспечения, а история большинства привычных сегодня программ начиналась именно с CP/M. Так, первая электронная таблица Visicalc, работающая, естественно, в CP/M-среде, в конце 70-х продавалась в умопомрачительных количествах — до 15 тыс. копий в неделю, бестселлером была и первая персональная издательская система Ventura Publisher, работавшая также в CP/M с использованием графической среды GEM.

Память…

Будем снисходительны к судьбе DRI. Гэри Килдэлл никогда не был бизнесменом и не умел играть в игры по правилам "большого бизнеса". Впрочем, сегодня это уже и не важно. Он был замечательным системным программистом и настоящим Учителем, учившим настоящему — хотя бы тому, что качество продукта всегда важнее, чем качество рекламы продукта, что программирование — это все-таки искусство, а не индустрия, а в искусстве "и один — воин". И наконец, главное, — он сам искренне верил и свято чтил то, чему учил. И ему удалось хоть в одной области нашего мира навести Большой Порядок с помощью мальчишеской увлеченности и таланта.


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: