Cайт программиста Ruby, веб-разработчика Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Компьютер из 1980-х с 4 МБ памяти до сих пор работает на UNIX

Бывший инженер Microsoft Дэйв Пламмер подключил к интернету восстановленный PDP-11/83 по имени Minerva. Компьютер середины 1980-х с четырьмя мегабайтами оперативной памяти работает под управлением 2.11BSD и обслуживает веб-страницу, где любой желающий может наблюдать за процессами на реальной 16-разрядной машине. Веб-интерфейс показывает аналог команды top с текущими процессами и системной статистикой. Снимок состояния обновляется каждые пять секунд. В списке можно встретить inetd, веб-сервер httpd, FTP-сервер ftpd и sendmail, поэтому PDP-11 не просто демонстрирует мигающие индикаторы, а действительно запускает сетевые службы. Направлять весь современный веб-трафик прямо на PDP-11 Пламмер не стал. Перед старым сервером работают Varnish, Caddy и Cloudflare, которые кэшируют HTML-страницу и данные системного монитора. Без промежуточного слоя 16-разрядный httpd быстро захлебнулся бы под наплывом посетителей. Исходным сервером при этом остается PDP-11, машина обрабатывает запросы к системному монитору и счетчику посетителей.

Minerva собрана на базе MicroPDP-11/83, модели, которую Digital Equipment Corporation представила в ноябре 1985 года. DEC называла MicroPDP-11/83 самым мощным на тот момент 16-разрядным компьютером компании с шиной Q-bus. Максимальный объем памяти для серийной конфигурации составлял четыре мегабайта.

Конфигурация Пламмера заметно сложнее базовой. В Minerva установлен процессорный комплекс Mentec M11, два корпуса Q-bus, несколько контроллеров DEC и Emulex, жесткие диски RA82 и RA92, накопители RL02, дисководы RX50 и ленточный привод TKZ50. Пламмер также доработал ядро BSD для работы с реализацией вычислений с плавающей запятой на процессоре Mentec.

Связь PDP-11 с UNIX появилась задолго до выпуска модели 11/83. Первая версия UNIX родилась на PDP-7, а в 1970 году команда Bell Labs получила PDP-11 и начала перенос системы на новую архитектуру. Деннис Ритчи позже вспоминал, что первая конфигурация UNIX на PDP-11 располагала всего 24 КБ оперативной памяти, из которых 16 КБ занимала система, а восемь КБ оставались пользовательским программам.

На Minerva установлена 2.11BSD, последняя версия ветки 2BSD для PDP-11. Разработчики перенесли в систему ряд возможностей 4.3BSD, включая сетевые компоненты, длинные имена файлов и дополнительные системные вызовы. 2.11BSD пережила аппаратную платформу, для которой создавалась, на десятилетия и продолжила получать исправления спустя много лет после первоначального выпуска.

Для Пламмера проект связан и с историей диспетчера задач Windows. Интерес к наблюдению за процессами появился у разработчика еще в 1980-х, когда Пламмер работал с PDP-11/40 в местном университете и запускал ps и top. Спустя десятилетия разработчик создал современный Task Manager OG, а затем решил вернуть похожий монитор процессов на старую машину. Несколько лет назад генеративная модель не смогла написать подходящую версию top для 2.11BSD, однако новая попытка закончилась примерно 400 строками рабочего кода на C.

У Minerva открыт и гостевой доступ через Telnet. Пламмер отдельно попросил посетителей не воспринимать компьютер как площадку для взлома: операционная система возрастом несколько десятилетий не проектировалась с учетом современных сетевых угроз. После серьезного повреждения систему можно восстановить с магнитной ленты, однако владельцу придется заново возвращать ретрокомпьютер в рабочее состояние.

SecurityLab