Не в первый раз я обращаюсь к истории рабочих станций Unix — интереснейшим представителям эпохи перехода от “малых ЭВМ” к современным персональным компьютерам. Их звезда закатилась более 20 лет назад, более дешевые ПК окончательно обогнали специализированные дорогие машины по производительности, но до сих пор мы пользуемся плодами тех технологий. И тем интереснее заглянуть в прошлое и узнать, что и как могли те, казалось бы, маломощные и примитивные компьютеры. Встречайте — новый интересный экспонат в коллекции “Digital Vintage”!
❯ Платформа
На этот раз мне в руки попала экстремально редкая машина — DECstation 5000/260, представитель временной линейки RISC-станций, выпускавшейся Digital Equipment Corp. в ожидании готовности их собственной процессорной архитектуры — Alpha AXP. Да, вам не показалось — компания, создавшая PDP, VAX и Alpha, выпускала компьютеры не только на собственных архитектурах. И если представители линеек на базе х86 процессоров (HiNote, DECpc, Celebris/Venturis итд) известны многим, то линейка рабочих станций и серверов DECstation/DECsystem на базе процессоров MIPS, из-за небольших объемов и короткого времени производства (с 1989 по 1994 год). Последняя модель на базе процессоров MIPS была представлена годом ранее, в 1993. Этой моделью и была 5000/260, на базе новейшего процессора MIPS R4400 с частотой 120 МГц.
Процессорная карта DECstation 5000/260
Линейка DEC 5000 относилась к сегменту Hi-End и начиналась с моделей 200 и 240, использовавших процессоры R4000 с частотой 25 и 40 МГц соответственно, с частотой шины, равной частоте ядра. В R4600 появляется умножение внутренней частоты и процессор, использующий 60 МГц шину, работает на частоте 120 МГц. Часто в информации о модели 260 указывалась именно частота внешней шины процессора. В качестве основной шины, использовалась фирменная разработка DEC — TURBOchannel. Эта шина позволяла достичь пропускной способности в 50-100 Мбайт/с в зависимости от частоты (12.5-25 МГц), в моделях 5000/240 и 260 используется наибыстрейшая ее версия. Из-за использования собственной системной шины и собственного стандарта Firmware, эти машины часто выделяют в отдельную “подархитектуру” Pmax, например так обозначаются поддерживающие эти машины версии NetBSD.
К сожалению, это означает, что вам не удастся запустить на DECstation IRIX или Windows NT/MIPS. Хотя, разработка NT/MIPS велась именно на этих машинах и даже первые демо этой ОС проводились с их использованием, в финальную версию системы поддержка DEC 5000 не вошла. Впрочем, DEC подготовила для своих машин фирменную версию Юникс под названием Ultrix. Она выпускалась в двух вариантах — Ultrix/VAX для систем VAX/MicroVAX и Ultrix/RISC для систем MIPS. Уже ближе к концу жизненного цикла платформы, эта система была заменена OSF/1, вскоре портированной на Alpha AXP и сменившей несколько имен — Digital UNIX, Tru64 Unix.
Видеокарта и слот TURBOchannel
Интересный факт — первые машины на процессорах Alpha тоже относились к линейке DECstation и использовали шину TURBOchannel. Для корректной работы карт расширения в прошивку был добавлен эмулятор процессора MIPS — ведь прошивки карт TURBOchannel были рассчитаны именно на них. В дальнейшем таким же образом была организована поддержка карт PCI/ISA в более новых Alpha машинах.
❯ Машина
Итак, перед нами машина не только редкая, но и довольно необычная. Во-первых, в ней не предусмотрено место для накопителей вообще. Несколько непривычно для топовой модели, не правда ли? Тем не менее — это так, пространство корпуса поделено между блоком питания и материнской платой с 15(!) слотами оперативной памяти, занимающими почти треть ее площади. Поддерживается до 480 Мбайт ОЗУ типа FPM в собственном формате модулей. Существовали модули на 8 и 32 Мбайт, а также специальные энергонезависимые (читай — с батарейкой) модули для кэширования ввода-вывода. В нашей машине установлено пять обычных модулей по 32 МБайт, общим объемом 160 Мбайт. Цифры огромные для начала 90х!
Видеокарта и слот TURBOchannel
Рядом со слотами памяти расположилась процессорная карта, на ней расположен процессор, сопроцессор и кэш второго уровня (целый мегабайт!). У задней стенки — три слота TURBOchannel, один из которых занят видеокартой “HX Smart Frame-Buffer Graphics Module" (PMAGB-B) — средней из доступных карт, предоставляющей вывод 8-битного цветного изображения в разрешении до 1280х1024 и обеспечивающей базовые функции 2D ускорения. В линейке же присутствовали и 3D ускорители — редкая и дорогая опция. Остальные два слота свободны. В них можно установить дополнительные SCSI и сетевые опции, например FDDI или Token Ring. На плате интегрированы сетевой контроллер DEC Lance (10 Мбит/с, разъем AUI) и SCSI-контроллер NCR 53C94. Оба контроллера подключены к шине через 128 Кбайт локального кэша для ускорения операций ввода-вывода.
Внимательный взгляд наверняка уже зацепился за шильдик “5000/240” на передней панели девайса. Действительно, эта машина начала свою жизнь 7 мая 1992 года как DECstation 5000/240, но уже в начале 1993 года она была официально обновлена до модели 260, о чем гласит наклейка на задней панели (KN03 и KN05 — коды обозначения процессорных плат этих моделей, соответственно). В комплекте набора для апгрейда должен был быть и новый шильдик, но, судя по всему, кто-то его решил оставить себе в качестве сувенира 30 лет с лишним назад…
Таблички на корпусе
И так — у нас есть сеть и есть SCSI. Можно использовать машину как бездисковую рабочую станцию и загружать полностью по сети — встроенный контроллер и прошивка это умеют — причем как с использованием фирменного протокола MOP, так и с помощью привычной связки BOOTP+TFTP. Но такой подход ограничивает производительность — больше 1 Мбайт/с от NFS поверх Ethernet ждать не стоило, а топовые SCSI диски уже могли быть в пару раз быстрее.
В принципе, с DECstation можно использовать любой внешний SCSI диск или даже дисковую полку (мне досталась в комплекте небольшая симпатичная полочка на 3 диска с горячей заменой), но DEC не была бы DEC, если бы не предусмотрел все ситуации. В комплекте с машиной мог поставляться DEC Storage Expansion — второй корпус, в том же стиле, что и основная машина, но чуть выше и уже. Казалось бы, вот так промах! Но и делали его изначально для VAX, к которому он подходил замечательно — тут уже результат унификации. В корпусе находится собственный блок питания и два посадочных места под SCSI устройства форм-фактора 5.25” Full Height (то есть в высоту как два привода CD-ROM). Одно из мест занято огромным, занимающим всё отведенное пространство, диском RZ57 на 1 Гбайт производства самой DEC, второе место доступно для установки еще одного диска или ленточного накопителя (для этого на корпусе установлена заглушка). Возможно можно установить и CD-ROM, но у меня не нашлось подходящего. Всю жизнь машина и блок хранения проработали вместе, долгие годы трудясь в офисе самого вендора — о чем гласит наклейка “Property of Digital”. Этим, я думаю, и объясняется такое везение с апгрейдом процессорной платы — все же модель 240 значительно уступает в производительности 260. Вторая наклейка — несколько умиляет. На ней выбито изначальное сетевое имя машины — “MOULEFRITE”, в переводе с французского, наиболее близкое значение — “Сковородка”.
Диск и корпус внешних дисков
Казалось бы, повезло — получить редчайшую машину в отличном комплекте и требующий всего лишь тщательной чистки после гаражного хранения и замены “Далласа”, модуля, хранящего настройки firmware на “протез”. Но не все так просто — как вы могли заметить, разъем для подключения монитора здесь проприетарный — 3W3, на сигнальном уровне совместимый с VGA и 13W3, но без переходника (который по редкости сравним с самой машиной) обычный монитор к нему не подключить. Также и разъем для клавиатуры и мышки здесь свой, сигнально не совместимый с чем-либо другим.
Разъемы подключения монитора, клавиатуры и мыши
❯ Приключения
Но и это — не проблема. Компорт — лучший друг инженера! На многих серьезных машинах до появления систем удаленного управления можно было выбрать вывод системной консоли на последовательный порт. Для родственных серверов DECsystem, отличавшихся отсутствием видеокарты, это и вовсе основной способ взаимодействия с оператором. К нему можно подключить последовательный терминал, например Digital VT100, или просто обычный компьютер с эмулятором терминала. В качестве терминала, я использовал в основном машину из статьи Dreamstation с программой HyperTerminal — примерно вдвое более мощную, чем герой этой статьи. Хотя на паре фото DECstation запечатлена с чудесным ноутом Digital HiNote — его я использовал во время первоначальной отладки.
В таком виде машина попала в коллекцию (сверху — дополнительная дисковая полка)
Опустим историю с чисткой, это не так уж интересно — лишь много воды, пузырьков и куча стертых дисков для шлифовки от ржавчины. Первоначальная отладка тоже не таила сложностей — заменить “даллас” (он тут в панельке), подключиться терминалом, настроить переменные firmware, попробовать загрузиться — и узнать, что диск пуст.
А вот с установкой операционной системы возникли сложности. Самый простой путь — установить её с компакт-диска. Благо, внешний SCSI CD-ROM у меня есть, и даже не один. Но тут кроется засада! У некоторых старых RISC машин есть прикол — они ожидают, что CD-ROM будет использовать секторы размером 512 байт, как у жесткого диска, а не 2048 байт, как подавляющее большинство приводов. Но я был готов и к этому — у меня есть привод, который щелчком тумблера позволяет переключать размер сектора — Yamaha 2100S. В режиме 512 байтных секторов машина загружается с диска, запускает инсталлятор Ultrix и…падает с ошибкой размера сектора CD-ROM. Что за магия, мне понять не удалось, а оригинального CD-ROM тех времен с прошивкой от DEC в моих запасах нет. Альфа же уже не столь привередлива.
В процессе очистки от ржавчины
Подход номер два случился через несколько недель. В этот раз я решил попробовать загрузку по сети. Сначала, я достал старую добрую “малинку” и попробовал поднять mopd — собрать его под ARM не составило большого труда. Взять его можно здесь — github.com/qu1j0t3/mopd/tree/master, а если будете идти моим путем — нужно сказать линковщику, чтобы он не обращал внимания на повторные объявления переменных. Запустить сервис мне удалось, но в процессе выяснилось два интересных обстоятельства. Во-первых я не смог найти образ Ultrix для сетевой загрузки, во-вторых — я узнал, что DECstation умеет работать с BOOTP+TFTP, прежде я не знал об этом. Ultrix устанавливаться так не умеет, но зато NetBSD может. Поэтому я решил начать с нее.
Так выглядит меню информации о системе в консоли Firmware
Я использую pfSense в качестве домашнего роутера — его же я и использовал в качестве сервера BOOTP. BOOTP отличается от DHCP лишь отсутствием поддержки динамической конфигурации хостов, поэтому если вы сделается статическое выделение адреса в DHCP сервере, машина сможет получить его по BOOTP-запросу. Не забудьте в свойства указать поддержку сетевой загрузки и имя файла с образом. Вам понадобится образ инсталлятора в формате ecoff (в моем случае netbsd-INSTALL.ecoff). TFTP не идет в базовой поставке pfSense, но его легко установить из пакетов. В веб-интерфейсе нет поддержки вложенных папок, но их легко создать при подключении по ssh.
❯ NetBSD
Я выбрал версию NetBSD 8.0, в 9.3 сломали поддержку моего SCSI контроллера, а 10 пока не является стабильной. Установка проходит без проблем, главное не забывать, что это достаточно современная система и она требует заметного пространства на диске. Стоит выбрать минимальную установку, а потом доустановить требуемые пакеты. Впрочем, если у вас диск больше 4 Гбайт, можно об этом не задумываться.
Загрузка NetBSD
Система устанавливается легко, но сравнительно небыстро. Сказывается и скорость сетевого адаптера и производительность машины в целом. Также неспешно система работает после установки. С одной стороны, приятно подключиться по SSH к тридцатилетнему компьютеру, а с другой — согласование ключей занимает несколько секунд. Я не стал экспериментировать с установкой приложений и, тем более, с запуском графического режима, понимая, что удовольствие от работы вряд ли будет большим. Главное, я убедился в полной работоспособности машины и родного диска.
❯ Ultrix
Одновременно коллеги мне подкинули идею, о которой я должен был догадаться сам. Раз размер сектора у образа установочного диска и обычного харда совпадают — нужно его просто раскатать с помощью dd на второй жесткий диск. Для этого у меня нашелся забавнейший 3.5” дюймовый Micropolis полной высоты емкостью в целый гигабайт (мой друг и коллега по увлечению Slex обозвал его Necropolis — за древность и неспешность).
Тот самый Micropolis
Трюк удался. Меньше чем через полчаса у меня был рабочий инсталлятор — можно приступать! Установка проходит без особых проблем, главное запастись терпением. Процесс занимает минут 40. Устанавливать стоит сразу полный набор компонентов, Ultrix бережет место на вашем диске. Важно правильно разбить диск, базовые варианты разбиения не оптимальны и оставляют слишком мало свободного места в разделах, а изменить таблицу разделов после установки будет очень неприятной задачей. Сложных вопросов установщик почти не задает, из важного — пожалуй, лишь выбор графической оболочки — XUI или DecWindows/Motif. Я выбрал вторую, но надо будет как-нибудь решиться и попробовать вариант с провокационным неймингом.
Выбор диска в установщике Ultrix
Работа установщика Ultrix
После установки потребуется настроить сеть и выполнить несколько базовых настроек (хорошо описаны тут в разделе Some basic customization). Если, вы будете, как и я работать с машиной через последовательный терминал, обязательно включите его в /etc/ttys (сделать это придется в single user mode), иначе вы можете оказаться с нормально загружающейся машиной, после загрузки отказывающейся реагировать на ваши действия в консоли.
Загрузка Ultrix
После завершения настроек, вы можете использовать машину как сервер или пользоваться консольными приложениями. Но ведь это совсем не интересно, правда! Эта машина практически ровесница интернета, для нее доступен один первых браузеров — NCSA Mosaic, так что грех не установить его и не попробовать выйти в интернет. Но, как вы помните, у меня нет ни монитора, ни даже клавомышки…
❯ X-терминал
Что чаще всего приходит на ум, когда идет речь о выводе графики по сети? VNC, а следом возникают слова “медленно”, “задержки”. Может быть это не такая и плохая идея в качестве временного решения, но в любом случае для Ultrix нет сервера VNC, ну или я его не нашел. Мне удалось найти лишь небольшой набор freeware софта под эту ОС (теперь он доступен для загрузки из архива Digital Vintage — тут). В процессе поисков информации, я вспомнил об X-терминалах, упрощенных машинах с небольшим объемом памяти и младшим в линейке процессором (а иногда и созданным специально для них), но с полноценной видеоподсистемой, созданных, чтобы обеспечивать работу множества пользователей с одной мощной рабочей станцией. В коллекции даже есть одна такая машина — Sun X-terminal 1, ее настройка еще только предстоит, поэтому я выбрал программное решение.
Xephyr под Alma Linux 9
Х-терминалы отличаются от тонких клиентов тем, что обрабатывают вывод видео полностью на своей стороне, а не предоставляют доступ к сгенерированной на удаленной машине картинке.
Так как под MacOS ничего не нашлось, я думал использовать X-ming для Windows в режиме XDMCP, первые успехи пришли с его использованием, но, как оказалось, приложения ожидают наличия определенных шрифтов, которых нет в Windows и в их отсутствие могут работать некорректно или вовсе не запускаться. Поэтому я установил Linux в виртуальную машину (каюсь, у меня нет под рукой десктопной Linux-машины), в дополнение к минимальной десктопной установке поставил растровые шрифты 75 и 100 dpi и главное — Xephyr. На DECstation понадобится установить дополнительный файлсет с утилитами X-windows, на установочном диске он лежит в разделе Unsupported. Вместе с ним можно поставить и игры:
- монтируем установочный образ — mount /dev/rz2a /mnt
- переходим в папку с “неподдерживаемыми” файлсетами — /mnt/RISC/UNSUPPORTED
- запускаем установщик — setld -l ./
- выбираем нужные файлсеты
- запускаем установку
- перезагружаемся
- устанавливаем значение переменной setenv DISPLAY %IP_ADDR%, указывая адрес машины, где будет запущен Xephyr
- запускаем xdm — /usr/bin/X11/xdm -nodaemon
- запускаем Xephyr на машине с Linux — Xephyr -ac -query %DEC_IP_ADDR% -retro -screen 1280x1024 (можно выбрать и другое разрешение, на ваш вкус)
Экран входа в систему Ultrix
И вот, перед вами рабочий стол настоящего Unix начала 90-х! Как при подключении по telnet, так и в графическом режиме машина работает очень быстро, ОС и софт рассчитаны на более скромные конфигурации — всю мощь рабочей станции мог бы раскрыть специализированный софт, например инженерные пакеты CAD/CAE или программы для видеоконференций — эти машины даже могли поставляться в виде готового решения для их проведения.
Рабочий стол Ultrix DECwindows/Motif
Установка софта из каталога freeware проста — либо вы просто распаковываете исполняемый файл и перемещаете в /usr/local/bin, либо выполняете make install. Прописать программу в меню программ можно в настройках сессии (Application Definitions). Mosaic установлен, сеть работает, осталось последнее дело — сходить в интернет!
Долгожданный интернет!
А вот с этим не все так гладко… По традиции, на ретро машинах я делаю скриншот с главной страницей архива Digital Vintage, но Mosaic в GET запросе не указывает имя домена, поэтому открывается дефолтный бэкенд K8s, причем браузер искренне считает его бинарным файлом и предлагает сохранить на диск. Из всех сайтов мне удалось открыть лишь архив EISA конфигов mR_Slug — его вы и можете видеть на скриншоте. Другого же браузера для Ultrix мною обнаружено не было…
❯ Заключение
Но на этом интернет, конечно, не заканчивается и не заканчивался уже тогда. Я не пробовал Gopher, а ведь на заре интернета это был очень популярный протокол. Но есть консольный FTP клиент — с его помощью я и загружал программы на DECstation. И пусть сегодняшние сайты не по силам тридцатилетней машине, но, пожалуй, нужно будет завести копии сайтов того времени в локальной сети — чтобы демонстрация таких раритетов была более интересной и захватывающей! Благодарю вас за внимание и до новых встреч!
Пожалуйста, не забывайте подписываться на новости Digital Vintage!
Каналы на русском языке:
- t.me/digitalvintage_ru
- vk.com/digitalvintage_ru
- instagram.com/digitavintage_ru
- facebook.com/digitalvintagerus
Каналы на английском языке:
P.S. Хотелось бы объявить искреннюю благодарность «Ленинградскому компьютерному клубу» и лично его основателю Ивану за помощь в обретении героини этой статьи.