Xerox Alto: первый в мире ПК с Ethernet и лазерным принтером

А еще это одна из первых объектно-ориентированных систем

08b1d50919d14f7db85b146a7494ba4d.jpg
Xerox Alto c лазерным принтером «Orbit»

Персональный компьютер Xerox Alto первый во многом. Это первый ПК с графическим интерфейсом и рабочим столом. С таким компьютером мог работать даже новичок. Кроме того, это первый компьютер со встроенным Ethernet и собственным лазерным принтером. Система также поддерживает языки программирования Mesa и Smalltalk. Alto можно назвать революционной для своего времени системой — этот ПК вышел на рынок в 1973 году. Разрабатывали систему несколько человек: Текер, Кей, Батлер, Тейлор.

Компания Xerox создала около 2000 этих систем для внутреннего пользования. Работали новые компьютеры в исследовательских лабораториях и университетах. При этом Alto никогда не продавался, как коммерческий продукт. Многие идеи, реализованные в Alto, были использованы в Xerox Star, коммерческой модели ПК от Xerox. Этот компьютер был очень дорогой, поэтому его могли купить далеко не все. Тем не менее, Star стал относительно успешным. Alto и Star произвели сильное впечатление на Стива Джобса. Будущий глава крупнейшей международной корпорации, увидев графический интерфейс машин, решил создать нечто подобное.Чуть позже он реализовал задуманное в виде Lisa и системах Macintosh, выведя компьютеры с графическим интерфейсом на массовый рынок.
Xerox Alto был оснащен 16-битным процессором, вертикальным растровым экраном с разрешением 606×808 пикселей, двумя типами клавиатур (обычной и аккордной), а также трехкнопочной мышью. Растровый дисплей разделен на ряд элементов, с каждым из которых связана определенная часть памяти компьютера. В памяти хранится информация о цвете, уровне яркости и тому подобных характеристиках каждого участка экрана. Обновление изображения на экране такого типа проводится при помощи процессора. Под нужды растрового дисплея Alto была занята примерно половина всей памяти этого ПК.

efd14b69a7d2488e0735d032273382b6.jpg

Отдельно стоит остановиться на мыши — манипулятор такого типа был сделан ключевым элементом ввода информации при разработке Alto. Все элементы интерфейса программного обеспечения ПК «заточены» под работу с мышью.

Объем съемного диска компьютера составлял 2,5 МБ. Это немного, но доступ к файлам можно было получить по Ethernet с файловых серверов.

В нижней части корпуса ПК разработчики разместили платы и блок питания.

Связь Dynabook и Alto

6fb879939c7eabfeba3f875a5220b61c.jpg

Разработчики Xerox Alto вдохновлялись идеями Dynabook, разработанного Аланом Кеем. Кей хотел создать устройство для обучения, и разработал концепцию такого девайса в 1968 году. Концепция представляла то, что сейчас принято называть ноутбуком (планшетный ПК тоже вписывается в идею). Целевой аудиторией такой системы были дети, хотя работать с Dynabook, как считал Кей, могли и взрослые. Структура и принципы функционирования Dynabook базировалась на обучающих теориях, предложенных Джеромом Брюнером и Сеймуром Папертом.

На то время технически реализовать идею Алана Кея было нельзя, хотя Xerox Alto и рассматривался, как первый прототип Dynabook. Сам Алан Кей до сих пор считает, что аналог Dynabook еще никто не создал, поскольку нет ни ключевого программного обеспечения, ни встроенных образовательных учебных курсов. Стоит упомянуть, что важной частью концепции является сенсорный дисплей — здесь идея была предложена Кеем задолго до практической реализации.

Другими элементами концепции были также энергетическая автономность системы, ее портативность и наличие сетевого интерфейса. Последний должен был быть интерактивным. Частью программного комплекса системы должен был стать объектно-ориентированный язык программирования. Планировалось использовать и голосовой ввод. Книги, по замыслу, можно было получать из сети (платная загрузка).

Как уже говорилось выше, в Xerox Alto были использованы многие идеи, предложенные для Dynabook. Новый компьютер разработчики предложили использовать для распределенных вычислений, работы в офисе, обработки графики и личного использования.

Программное обеспечение


У Alto было много приложений. В числе прочих стоит выделить текстовый процессор Bravo, менеджеры сообщений Laurel и Hardy, иллюстратор документов Markup, векторный редактор Draw, файловый менеджер Neptune, языки программирования Mesa (вариант Паскаля), Smalltalk, Lisp. Был свой векторный графический редактор для интегральных микросхем и печатных плат, Sil. Officetalk — экспериментальная forms-processing система.

057d5e406827196573a836bbd66cffa3.jpg

Приложения были продвинутыми для своего времени. К примеру, экран векторного редактора Draw был разделен на несколько частей. Это меню кистей, команд, шрифтов, само изображение, заголовок и окно сообщений. Собственно, это составные части практически всех современных графических редакторов.

Интерфейс текстового редактора Bravo был выполнен в WYSIWYG. Текст на экране полностью соответствовал тому, что увидит пользователь при выводе этой информации на печать.

91dd3b5bd248faba779c1020eddd4c02.png
Примеры интерфейса редакторов Bravo и Draw

Редактор форм Officetalk был позже включен в офисную систему STAR System.

Alto OS


Программная оболочка системы включала эмулятор стандартного набора команд, выполняемого с наименьшим приоритетом. Другие задачи включали в себя низкоуровневые драйвера диска, сети, памяти, экрана, плюс развертка и курсор.

ОС была написала на языке Basic Combined Programming Language (BCPL). Это язык программирования, разработанный Мартином Ричардсом в 1966 году, в Кембриджском университете. Изначально он предназначался для написания компиляторов для других языков. Кстати, на этом языке написана первая программа «Hello world».

Частью ОС был дебаггер SWAT, позволявший сохранить состояние системы в файл для последующей отладки.

image

Были и игры, причем одна из них являлась многопользовательской. Эта игра называлась Alo Trek. В ней нужно было управлять космическим кораблем одной из трех рас: землян, клингонов или ромулан.

Еще одна игра — Maze:

Были и другие игры:

  • Astro-roids
  • Chess
  • Galaxians
  • Mazewar
  • Missile Command
  • Rinky Dink (Clint Parker’s pinball program)
  • Space War

Сетевые возможности системы также были продвинутыми и включали FTP с Telnet. По Ethernet данные можно было передавать со скоростью в 2.94 Мбит/с. Поддерживалась сетевая печать.

Симулятор программного обеспечения Xerox Alto есть на Github.

d3ea2723961de154d5c2338f09942867.png

Аппаратное обеспечение


Напомню, что эта система была представлена в 1973 году. На то время мощным процессором считался 4-х битный микропроцессор 4004, выпущенный Intel в 1971 году. Эта микросхема считается первым в мире коммерчески доступным однокристальным микропроцессором. До выхода процессоров 6502 и Z-80 оставалось еще два года, «персоналка» Apple II будет выпущена только через 4 года, в 1977. Процессором в Xerox Alto служили сотни относительно простых, но быстрых TTL микросхем. Здесь отдали предпочтение такой структуре вместо использования медленных и не слишком надежных MOS-чипов.

Частью аппаратного обеспечения Alto является 13 плат, заполненных микросхемами. Размер каждой платы составляет 7–5/16» на 10», на каждой располагается около 100 микросхем. Большинство — биполярные TTL-микросхемы популярной на то время 7400 серии. (исключение — микросхемы MOS-памяти).

fe83c78d42174920173fbebb80b357d0.jpg

Процессор Xerox Alto состоит из трех плат. Главной была управляющая плата с поддержкой микрокода (поддерживалась работа с 16 параллельными задачами с фиксированными приоритетами). Вторая плата представляла собой арифметико-логическое устройство (АЛУ).

22b58018f570ef4c5e84b3699b52e48d.jpg
АЛУ-плата Alto

Это блок процессора, служащего для выполнения арифметических и логических преобразований над данными. Третья плата выполняла роль ОЗУ с дополнительным хранилищем микрокода и дополнительными регистрами процессорами.

7f1732b8de7a4cf0a199477ce7c3fb23.jpg
ОЗУ-плата с 80 микросхемами типа 4116, каждая с емкостью в 16 КБ. Общий объем ОЗУ в Alto — 128 КБ, но можно было установить дополнительные платы, расширив объем ОЗУ вплоть до 512 КБ. Такая память называлась Alto II XM (eXtended Memory)

Частота такого процессора составляла 5,8 МГц. Всего несколько лет спустя все эти три платы будут заменены всего одним чипом.

Клавиатура и мышь


Как уже говорилось выше, клавиатур было две — обычная и аккордовая.

014b2cc7b493bae50c47a99e791339a1.jpg

Мыши были трехкнопочными. Изначально поставлялась механическая мышь с двумя перпендикулярно расположенными механическими колесиками. Чуть позже ее заменили на шариковую мышь.

f383ef30acd2467297c8da3af9ab94dd.jpg

Использовалась даже оптические мыши: модель с белым светом и инфракрасным излучением. Кнопки, как видим, расположены друг над другом.

image

Сетевая плата Ethernet


a4453943342e7e3b9156069b5e675a22.jpg

Лазерный принтер


Xerox Alto работал с сетевым лазерным принтером, модель «Orbit» со слотами для четырех управляющих плат. Сам принтер мог печатать 16 строк пикселей одновременно.

Один из сохранившихся экземпляров Xerox Alto попал в распоряжение Y Combinator. Здесь его восстановлением занимается команда профессионалов. За ходом восстановления можно следить в Twitter.

© Geektimes