Xerox Alto — компьютерная система, разработанная в Xerox PARC (Исследовательский центр Пало-Альто) в 1970-х годах. Его по-разному считают одной из первых рабочих станций или персональных компьютеров , а его разработка положила начало многим аспектам современных вычислений. Он оснащен графическим интерфейсом пользователя (GUI), мышью , сетью Ethernet и возможностью одновременного запуска нескольких приложений. Это один из первых компьютеров, использующих текстовый редактор WYSIWYG («Что видишь, то и получаешь») и имеющий растровый дисплей. Alto не имел коммерческого успеха, но оказал значительное влияние на развитие будущих компьютерных систем.
Alto был разработан для операционной системы на основе графического пользовательского интерфейса, позже использованного в метафоре рабочего стола . [6] [7] Первые машины были представлены 1 марта 1973 года, [8] и их ограниченное производство началось за десять лет до того, как проекты Xerox вдохновили Apple на выпуск первых компьютеров с графическим интерфейсом для массового рынка. Alto помещен в относительно небольшой корпус и использует специальный центральный процессор (ЦП), построенный на основе нескольких интегральных схем SSI и MSI . Каждая машина стоила десятки тысяч долларов. Первоначально их было построено немного, но к концу 1970-х годов около 1000 использовались в различных лабораториях Xerox и еще около 500 в нескольких университетах. Всего было произведено около 2000 систем.
Alto стал хорошо известен в Кремниевой долине , а его графический интерфейс все чаще рассматривался как будущее вычислений. В 1979 году Стив Джобс организовал визит в Xerox PARC, во время которого персонал Apple Computer получил демонстрацию технологии Xerox в обмен на возможность Xerox покупать опционы на акции Apple. [9] После двух посещений Alto инженеры Apple использовали эту концепцию при разработке систем Lisa и Macintosh .
В 1981 году Xerox запустила в продажу линейку офисных компьютеров Star , основанную на концепции Alto. Полная офисная система, включающая несколько рабочих станций, хранилище и лазерный принтер , стоит до 100 000 долларов США (что эквивалентно 322 000 долларов США в 2022 году). Как и Alto, Star не оказала прямого влияния на рынок.
Alto — первый компьютер с графической операционной системой, созданный на основе более ранних конструкций графического интерфейса. Он был задуман в 1972 году в записке, написанной Батлером Лэмпсоном , вдохновленной системой on-line (NLS), разработанной Дугласом Энгельбартом и Дастином Линдбергом в SRI International (SRI). Дальнейшее влияние оказала система образования PLATO , разработанная в Исследовательской лаборатории компьютерного образования Университета Иллинойса. [10] Alto был разработан в основном Чарльзом П. Такером . Промышленный дизайн и производство были переданы по субподряду компании Xerox , в состав группы специальных программ которой входили Дуг Стюарт в качестве менеджера программы, операционный менеджер Abbey Silverstone, Боб Нишимура, промышленный дизайнер. Первоначальная партия из 30 единиц была произведена компанией Xerox El Segundo (Группа специальных программ) в сотрудничестве с Джоном Элленби из PARC и Дугом Стюартом и Эбби Сильверстоун из El Segundo, которые отвечали за модернизацию электроники Alto. Благодаря успеху пилотного запуска команда в течение следующих десяти лет произвела около 2000 единиц. [11]
Несколько корпусов Xerox Alto сейчас выставлены в Музее истории компьютеров в Маунтин-Вью, Калифорния , один выставлен в Американском компьютерном музее в Розуэлле, Джорджия , а несколько находятся в частных руках. Работающие системы выставлены в Компьютерном музее System Source в Хант-Вэлли , штат Мэриленд . Чарльз П. Такер был награжден премией Тьюринга 2009 года от Ассоциации вычислительной техники 9 марта 2010 года за новаторский дизайн и реализацию Alto. [12] Премия Чарльза Старка Дрейпера 2004 года была присуждена Такеру, Алану К. Кею , Батлеру Лэмпсону и Роберту В. Тейлору за их работу над альбомом Alto. [13]
21 октября 2014 года исходный код Xerox Alto и другие ресурсы были опубликованы из Музея истории компьютеров. [14]
Следующее описание основано в основном на «Руководстве по оборудованию Alto», выпущенном Xerox PARC в августе 1976 года. [15]
Alto использует микрокодированный дизайн, но, в отличие от многих компьютеров, механизм микрокода не скрыт от программиста в многоуровневой конструкции. Такие приложения, как Pinball, используют это для повышения производительности. Alto имеет побитовое арифметико-логическое устройство (АЛУ) на базе чипа Texas Instruments 74181 , ПЗУ управления хранилищем с записываемым расширением хранилища управления и 128 КБ (с возможностью расширения до 512) КБ основной памяти , организованной в 16-битные слова. Накопитель большой емкости обеспечивается жестким диском , в котором используется съемный картридж с одной пластиной емкостью 2,5 МБ ( Diablo Systems , компания, которую позже купила Xerox), аналогичный тем, которые использовались в IBM 2310 . Базовая машина и один дисковод размещаются в шкафу размером с небольшой холодильник ; еще один диск можно добавить посредством последовательного подключения .
Альто одновременно стирает и игнорирует различие между функциональными элементами. Вместо отдельного центрального процессора с четко определенным электрическим интерфейсом (например, системной шиной ) для хранения и периферийных устройств, Alto ALU напрямую взаимодействует с аппаратными интерфейсами для памяти и периферийных устройств, управляемых микроинструкциями , которые выводятся из хранилища управления. Машина микрокодирования поддерживает до 16 совместных многозадачных задач, каждая из которых имеет фиксированный приоритет . Задача эмулятора выполняет обычный набор команд, на основе которого написано большинство приложений; этот набор инструкций аналогичен Data General Nova . [16] Другие задачи служат для отображения, обновления памяти, диска, сети и других функций ввода-вывода. Например, контроллер растрового дисплея представляет собой немногим больше, чем 16- битный сдвиговый регистр ; Микрокод перемещает данные обновления дисплея из основной памяти в сдвиговый регистр, который сериализует их в отображение пикселей, соответствующих единицам и нулям данных памяти. Ethernet также поддерживается минимальным оборудованием со сдвиговым регистром, который действует двунаправленно, сериализуя выходные слова и десериализуя входные слова. Его скорость была рассчитана на 3 Мбит/с, поскольку механизм микрокода не может работать быстрее и продолжать поддерживать отображение видео, активность диска и обновление памяти.
В отличие от большинства миникомпьютеров той эпохи, Alto не поддерживает последовательный терминал для пользовательского интерфейса. Помимо соединения Ethernet , единственным распространенным устройством вывода Alto является двухуровневый (черно-белый) дисплей на электронно-лучевой трубке (ЭЛТ) с наклонно-поворотным основанием, установленный в портретной ориентации , а не в более распространенной «альбомной» ориентации. "ориентация. Его устройствами ввода являются специальная съемная клавиатура , трехкнопочная мышь и дополнительная 5-клавишная клавиатура (набор аккордовых клавиш). Последние два элемента были представлены онлайн-системой SRI, и мышь сразу же завоевала успех среди пользователей Alto, но набор аккордовых клавиш так и не стал популярным.
У первых мышей кнопки представляли собой три узкие полоски, расположенные сверху вниз, а не из стороны в сторону; в документации они были названы в честь их цветов. Движение воспринимается двумя перпендикулярными колесами. Вскоре они были заменены мышью шарикового типа, которую изобрел Рональд Э. Райдер и разработал Билл Инглиш . Это фотомеханические мыши, использующие сначала белый свет, а затем инфракрасный (ИК) для подсчета оборотов колес внутри мыши.
Каждая клавиша на клавиатуре Alto представлена как отдельный бит в наборе ячеек памяти. В результате можно одновременно считывать нажатия нескольких клавиш . Эту особенность можно использовать для изменения места загрузки Alto на диске. Значение клавиатуры используется в качестве адреса сектора на диске для загрузки, и, удерживая определенные клавиши при нажатии кнопки загрузки, можно загрузить различные микрокоды и операционные системы. Это привело к появлению выражения «загрузка через нос», когда для нажатия клавиш, необходимых для загрузки тестовой версии ОС, требуется больше пальцев, чем пользователь может сформулировать. Носовые загрузки устарели из-за move2keys
программы, которая перемещает файлы на диске так, чтобы можно было использовать указанную последовательность клавиш.
Для Alto было разработано несколько других устройств ввода-вывода, в том числе телевизионная камера, принтер Hy-Type и параллельный порт, хотя они были довольно редки. Alto также мог управлять внешними дисками в качестве файлового сервера . Это было обычное применение для машины.
Раннее программное обеспечение для Alto было написано на языке программирования BCPL , а позже на Mesa , [1] который не получил широкого распространения за пределами PARC, но оказал влияние на несколько более поздних языков, таких как Modula . В Alto использовалась ранняя версия ASCII , в которой отсутствовал символ подчеркивания , вместо этого использовался символ стрелки влево, используемый в ALGOL 60 , и множество производных от оператора присваивания : эта особенность могла быть источником стиля CamelCase для составных идентификаторов . Altos также программировались пользователями с помощью микрокода. [15]
Alto помог популяризировать использование модели растровой графики для всех выходных данных, включая текст и графику. Он также представил концепцию операции передачи битовых блоков ( bit blit , BitBLT) как фундаментального интерфейса программирования для дисплея. Несмотря на небольшой объем памяти, для Alto было написано множество инновационных программ, в том числе:
Не было программного обеспечения для работы с электронными таблицами или базами данных. Первая программа электронных таблиц VisiCalc появилась только в 1979 году.
Технически Alto представляет собой небольшой миникомпьютер, но его можно считать персональным компьютером в том смысле, что он используется одним человеком, сидящим за столом, в отличие от мэйнфреймов и других миникомпьютеров той эпохи. Возможно, это «первый персональный компьютер», хотя это название оспаривается. Что еще более важно (и, возможно, менее спорно), ее можно считать одной из первых систем рабочих станций , преемниками которой являются такие как рабочие станции Apollo и системы от Symbolics (предназначенные для запуска Lisp в качестве среды разработки). [20]
В 1976–1977 годах швейцарский пионер компьютеров Никлаус Вирт провел творческий отпуск в PARC и был в восторге от Alto. Не имея возможности вернуть систему Alto в Европу, Вирт решил построить новую систему с нуля и вместе со своей группой разработал Лилит . [21] Он был готов к использованию примерно в 1980 году, до того, как Apple выпустила Lisa в 1981 году и Macintosh в 1984 году. Примерно в 1985 году Вирт начал полный редизайн Lilith под названием «Проект Оберон» .
В 1978 году компания Xerox подарила 50 Альтов Массачусетскому технологическому институту , Стэнфордскому университету , Университету Карнеги-Меллон [1] и Рочестерскому университету . [22] Институт компьютерных наук Национального бюро стандартов в Гейтерсбурге , штат Мэриленд, получил один Alto в конце 1978 года вместе с файловыми серверами Xerox Interim File System (IFS) и лазерными принтерами Dover. Эти машины послужили вдохновением для создания рабочих станций PERQ ETH Zuerich Lilith и Three Rivers Company , а также рабочей станции Stanford University Network (SUN), которая положила начало дочерней компании Sun Microsystems . Рабочая станция Apollo /Domain находилась под сильным влиянием Alto.
После приобретения Alto отдел информационных систем Белого дома стремился направить федеральных поставщиков компьютеров в этом направлении. Администрация президента США (EOP) опубликовала запрос на предложение по компьютерной системе для замены устаревшей бюджетной системы Управления управления и бюджета (OMB) с использованием рабочих станций типа Alto, подключенных к IBM-совместимому мейнфрейму. . В конечном итоге запрос был отозван, поскольку ни один производитель мэйнфреймов не смог предоставить такую конфигурацию.
В декабре 1979 года соучредитель Apple Computer Стив Джобс посетил Xerox PARC, где ему показали среду объектно-ориентированного программирования Smalltalk -76, сетевые возможности и, что наиболее важно, WYSIWYG , графический пользовательский интерфейс , управляемый мышью, предоставляемый Alto. В то время он не осознавал значения первых двух, но был взволнован последним. Графический интерфейс быстро интегрировался в продукты Apple, сначала в Lisa , а затем в Macintosh , и Джобс нанял нескольких ключевых исследователей из PARC. [23]
В 1980–1981 годах инженеры PARC и отдела разработки систем Xerox использовали Altos для проектирования рабочих станций Star .
Xerox не спешила осознавать ценность технологии, разработанной в PARC. [24] Приобретение Xerox компании Scientific Data Systems (SDS, позже XDS) в конце 1960-х годов не представляло интереса для PARC. PARC создала собственную эмуляцию PDP-10 компании Digital Equipment Corporation под названием MAXC. [25] MAXC был шлюзом PARC к ARPANET . Фирма не хотела снова заниматься компьютерным бизнесом с коммерчески непроверенными разработками, хотя многие из философий вошли в более поздние продукты.
Журнал Byte заявил в 1981 году: [1]
Маловероятно, что человек за пределами исследовательского сообщества в области компьютерных наук когда-либо сможет купить Alto. Они предназначены не для коммерческой продажи, а скорее как инструменты разработки для Xerox, поэтому серийно производиться не будут. Что делает их достойными упоминания, так это тот факт, что большое количество персональных компьютеров завтрашнего дня будет спроектировано с использованием знаний, полученных при разработке Alto.
После Alto PARC разработала более мощные рабочие станции (ни одна из которых не предназначалась для проектов [ нужны разъяснения ] ), неофициально названные «D-машинами»: Dandelion (наименее мощный, но единственный продукт, который можно создать в одной форме), Dolphin; Дорадо (самый мощный; машина с эмиттерной логикой (ECL)); и гибриды, такие как Одуванчик-Ирис.
До появления персональных компьютеров, таких как Apple II в 1977 году и IBM Personal Computer (IBM PC) в 1981 году, на компьютерном рынке доминировали дорогостоящие мейнфреймы и миникомпьютеры, оснащенные тупыми терминалами, которые делили время обработки центрального компьютера. . На протяжении 1970-х годов Xerox не проявляла интереса к работе PARC. Когда Xerox наконец вышла на рынок ПК с Xerox 820 , она демонстративно отвергла дизайн Alto и выбрала вместо этого очень традиционную модель, машину на базе CP/M со стандартным на тот момент монитором с разрешением 80 на 24 символа и без мыши.
С помощью исследователей PARC компания Xerox в конечном итоге разработала Star на базе рабочей станции Dandelion, а затем и более экономичную офисную систему Star 6085, основанную на рабочей станции Daybreak . Эти машины, основанные на архитектуре Wildflower, описанной в статье Батлера Лэмпсона , включали в себя большинство инноваций Alto, включая графический интерфейс пользователя со значками, окнами, папками, локальную сеть на основе Ethernet и сетевые службы лазерного принтера.
Xerox осознала свою ошибку только в начале 1980-х годов, после того как Macintosh произвел революцию на рынке ПК благодаря своему растровому дисплею и интерфейсу, ориентированному на мышь. Оба они были вдохновлены Alto. [24] Серия Xerox Star имела относительный коммерческий успех, но пришла слишком поздно. Дорогие рабочие станции Xerox не могли конкурировать с более дешевыми рабочими станциями с графическим интерфейсом, возникшими после появления первого Macintosh, и в конечном итоге Xerox покинула рынок рабочих станций.
С разрешения Исследовательского центра Пало-Альто Музей истории компьютеров рад предоставить (только для некоммерческого использования) снимки исходного кода Alto, исполняемые файлы, документацию, файлы шрифтов и другие файлы с 1975 по 1987 год.