Когда-то давно решил помочь своей конторе с сайтом (тем более, что мне нравится это всё). Т.к. я довольно жадный, то решил, что платить 160р в месяц хостеру это дофига. Тем более, что это просто место на диске. Тем более, что его всего ничего 2гб, а не 160 как у меня. Внешний статический ip имелся в наличии и я полез изучать тему.
В интернете писали о том, что хорошо подходит для таких дел freebsd (на тот момент 9 версии). Поставил эмулятор операционной системы в винде и приступил к процессу.
С Линуксом я немного имел опыта до этого, а вот с Юниксом нет и было очень интересно чем это закончится. По инструкции и интернета и видео уроков от Беши (так вроде звали этого картавого) мне удалось установить ось, поднять на ней php, mysql, ftp и т.п. штуки для успешного развёртывания сайта. В процессе я ощутил всю прелесть командной строки: удобство установки программ одной командой из портов, всяких обновлений и т.д. Всё это происходило не без проблем и ошибок, но в итоге я с гордостью наблюдал "хеллоу ворд" по адресу 192.168....
Но этого мне было мало. Я, как виндузятник со стажем, не желал топтать клаву, а хотел мышью окна закрывать. Что ж... есть же удобная консоль, куда можно ввести команду, оно установится и заработает. Ведь установится и заработает? *Падме.жпг*
Правдой из этого была только первая часть. Дальше начинался секис. Эта штука зависала при запуске либо сыпала ошибки из эмулированного рога изобилия на чёрном экране. Что я только не делал. Ещё и информации было очень мало об этом. Терзал я это дело очень долго. Уже и не помню сколько. Может месяц, может дольше. В итоге удалось победить этот чёртов чёрный экран и я увидел то, ради чего началась эта сексуальная драма: графический интерфейс, мышка, иконки, обои на рабочем столе. Радость была выше крыши. Тепрь-то мы всё как надо сделаем, теперь-то оно заработает как я хочу. Погнали!
И вот тут снова появляется эта *Падме.жпг*. Тогда ещё небыло этого мема, но был он очень в тему. Как говорится всё познаётся в сравнении. Я быстро понял, что намного проще и быстрее набрать make&install, чем что-то качать, пытаться запустить. Плюс все было засунуто хрен пойми куда. Чтоб найти какую-то настройку нужно долго искать где это вообще находится. И не факт, что найдёшь.
В общем я понял, что графика в данном случае зло и вернул всё как было в начале.
Ну и в процессе узнал, что сделать сайт на своём компе можно и даже открыть доступ к нему всем, но как быть с безопасностью? Пока я мучался с графикой, на сайте появились первые посетители и какие-то гомосекиенсы начали самозабвенно брутфорсить админку. Узнал я об этом из гневного письма хостера о сильном превышении нагрузки. Полез изучать логи и ахренел от количества запросов post. Заставив этого пидрика кушать ошибку 403 вместо "неверное имя или пароль", я задумался. Стоят ли эти жалкие 160р всего того, с чем я могу столкнуться? Может и стоят, но, прикинув количество киловатт, которые будут к оплате в конце месяца, моя жаба убрала одну лапу с шеи и поток свежего кислорода в мозг позволил понять, что разница будет уже не столь велика.
В общем бросил я это гиблое дело. Однако мне очень понравилась эта операционная система. Я никогда не думал, что может быть настолько удобно пользоваться консолью. Но применения этому я так и не нашёл. Сайт всё так же крутится у того же хостера уже много лет.
P.S. Хостер на сообщение о том, что меня ломают и не хотел бы он слегка прибить гада ответил, что проблемы индейцев всегда были и будут проблемами индейцев.
Который был оживлен и запущен в эмуляторе, спустя 40 лет после банкротства компании‑создателя. Самая редкая операционная система и самое редкое железо из всего что автор когда‑либо видел за жизнь.
Ни один житель СССР и РФ не мог видеть эти строчки запуска, поскольку машины Plexus были редкостью даже в самих США и абсолютно точно их продукция никогда не попадала в наши края.
Plexus
Всего было создано около 2500 таких машин, производила их с 1980 по 1988 небольшая калифорнийская компания Plexus Computers:
3833 North First Street San Jose, California, 95134, United States (408)943-9433
В 1989 году компания обанкротилась и производство было остановлено навсегда. Вот тут выложен интересный PDF-документ с отсканированной брошюрой, описывающей их продукцию:
Еще кто-то выложил в сеть отсканированное руководство администратора для одной из последних моделей Plexus P/90:
Вот так выглядит один из последних сохранившихся образцов, Plexus P/75:
Кнопка запуска вблизи:
Обратите внимание на бежевые панели - это не пластик а самое настоящее железо.
Как видите предки понимали в капитальных решениях, примерно такой кнопкой у нас запускают стратегические ракеты.
Вот так выглядит еще один из доживших образцов попроще — Plexus P/35:
Эта же модель на брошюре с описанием возможностей, в свои лучшие годы:
В 2024м году одному компьютерному энтузиасту из Калифорнии удалось заполучить Plexus P/20 в свои лапы и вернуть его к жизни. Весь процесс оживления, а также детальный обзор этой машины он записал в серию видео, которые затем выложил на Ютуб.
Но это еще не все, поскольку довольно быстро в комментариях под видео появились живые свидетели, заставшие эти удивительные машины:
About Plexus Computer, Inc. : It started operating in 1981 and in 1988 sold its Unix and hardware side of their business to Motorola. By this time they 've already gone up to the 68020 processor with up to 48 MB of RAM and adopted the VMEbus in their P/95 product. They kept on developing their expensive and niche software imaging products under chapter 11 protection (bankruptcy) until 1989 when they finally sold the remaining software assets to "Recognition Equipment".
Сочетание фраз up to 48 MB of RAM и 1988 год думаю заставит дернуться не один читательский глаз.
Как видите, если создать действительно неубиваемый сервер — им будут пользоваться и через 20 лет после банкротства производителя:
So cool to see one of those again! I worked for a Circuit City location years ago that in the 2000s was still running serial terminals over a PLEXUS server. I do know it was based on 68030 CPUs, with a pair of 160MB SCSI drives in mirror. But it so happened that I was the only non-corporate person who had root level login on the command line. The rest of the store was based on a locked menu for sales, inventory management, etc. I had just quit consulting and as the ONLY person on site with Unix certificates, I got saddled with emergency on-call. It never happened, but oh that brings back memories!
Обратите внимание на объемы: диски по 160 мегабайт в 1988м году (!), времена ленточных накопителей и дискет на 360 килобайт.
В 2024м году команда энтузиастов смогла реализовать полноценный эмулятор этой редкой машины:
This emulator emulates most aspects of a Plexus P/20 system: you can boot from a hard disk image, log into UNIX and play around. The things currently unsupported are the tape drive, floppy drive, and any Multibus cards.
Если вы простой обыватель, далекий от UNIX и программирования, но каким‑то удивительным образом дочитали до этого места — у эмулятора существует веб‑версия, которая позволит увидеть UNIX System 5.2 в работе без описанных ниже приседаний со сборкой из исходников и запуском.
Мы же пойдем как обычно путем хардкора — соберем и запустим все собственными руками. Проект эмулятора свежий, поэтому спокойно и без ошибок собирается самым обычным штатным clang на FreeBSD:
cc -v FreeBSD clang version 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67) Target: x86_64-unknown-freebsd14.2 Thread model: posix InstalledDir: /usr/bin
Поэтому проблем со сборкой в линуксе не будет.
Но в Windows/Mac так просто проект не соберется — соответствующих ветвлений в исходниках нет.
Забираем проект, внутри всего одна ветка — текущая:
В результате в корневом каталоге эмулятора у вас должно появиться три файла: два.BIN и один.img. Их имена зашиты в код эмулятора, поэтому переименовывать нельзя.
Запускаем эмулятор:
./emu
После прохождения тестов оборудования появится стадия single mode:
Для продолжения загрузки в многопользовательский режим, введите:
init 2
Появится диалог задания даты и времени, думаю очевидно что тут есть проблема 2000 и задать можно только дату до 1996го года.
Затем пойдут проверки файловой системы:
И наконец появится приглашение авторизации:
Введите root, затем вместо ввода пароля нажмите <Enter>, появится приглашение командной строки от суперпользователя, с полным доступом:
Добро пожаловать в самый редкий UNIX на свете:
Вот так выглядит список процессов:
Вывод корневых каталогов:
Поскольку образ диска был снят с реальной машины, в системе есть пользователь adrian (тот самый энтузиаст), в домашнем каталоге которого есть кое‑что интересное, в частности инструкции по работе в этой системе.
Для попадания можно использовать.. стандартный su:
su adrian
Или же зайти под ним из приглашения (пароля нет):
В системе есть cat и работают пайпы:
И даже есть вот такой артефакт:
Вывод содержимого классического /etc/passwd, до сих пор присутствующего во всех UNIX-системах:
Как видите в системе используется C shell (csh), расположенный в весьма нестандартном месте:
/usr/plx/csh
К сожалению man-ы (системные руководства и справка по командам) повреждены:
Вот так выглядят переменные окружения:
Есть vi, grep, find, bison и компилятор Си:
Удивительная система из далекого прошлого, о которой я абсолютно ничего не знал пока не наткнулся на видео от Адриана.
Если вам успели надоесть и азиатки и знойные африканки и даже развратные животные, рассказываю про одну редкую UNIX-систему из далекого прошлого, которая был возвращена из небытия и выведена в интернет.
Так это выглядит в работе.
История
OSF/1 это еще одна редкая UNIX-система из далекого прошлого, которую вы врядли могли наблюдать в живую:
Прямой участник корпоративных Unix‑разборок 90х известных как Unix Wars, но в отличие от A/UX (которую автор оживил и запустил в прошлом выпуске) OSF/1 не канула в лету в бурные 90е а будучи переименованной в TRUE64 UNIX поддерживалась аж до 2012го года.
Вот вам и «динозавр», внезапно отказавшийся умирать.
Еще из интересных фактов стоит упомянуть использование этой ОС для суперкомпьютеров:
OpenBSD/luna88k running inside GXemul, on an emulated SGI O2 running OpenBSD/sgi (on a FreeBSD/amd64 host). Теперь попробуйте осознать прочитанное.
Эмулятор
Полностью оно называется Gavare's eXperimental Emulator за авторством Anders Gavare и согласно официальному описанию с сайта проекта, считает себя фреймворком для виртуализации:
GXemul is a framework for full-system computer architecture emulation, mostly written in 2003-2005. Several real machines were implemented within the framework, consisting of processors (ARM, MIPS, Motorola 88K, PowerPC, and SuperH) and surrounding hardware components such as framebuffers, interrupt controllers, busses, disk controllers, and serial controllers. The emulation is working well enough to allow several unmodified "guest" operating systems to run.
По сути это такой сильно разросшийся «pet project», созданный одним энтузиастом ради эмуляции особо редких систем:
Простым обывателям из этого списка знакомы наверное только игровые платформы, в лучшем случае еще «малинка» (Rastberri Pi) а про некоторые особо редкие не знал даже автор, так что будут еще изыскания и эксперименты, посвященные этому удивительному проекту.
Сборка
К сожалению эмулятор достаточно давно не развивается, его последняя релизная версия 0.7.0 была выпущена в далеком уже 2021м году и содержала лишь мелкие исправления. Поэтому есть определенные проблемы со сборкой в современном окружении, которые опять придется исправлять вручную.
В этот раз все действия производились на обычном Mageia Linux, без BSD и прочих изысков, с использованием стандартного GCC:
This should work on most Unix-like systems, with few or no modifications to the source code. The basic requirement is a reasonably modern C compiler (C99).
Эмулятор написан все же на C++ а не на чистом С, поэтому для сборки требуется компилятор C++, который ныне устанавливается отдельным пакетом.
Но в остальном автор не врет:
GXemul does not require any additional third-party libraries to build.
И проект действительно не использует никаких внешних библиотек. Кроме X11, ради эмуляции графического экрана:
X11 headers and libraries: for graphical framebuffer emulation.
Так что ничего дополнительно устанавливать не придется.
С версии 0.6 разработка переехала на Github, откуда мы и заберем последние правки исходников (ветка master):
Главная проблема с этим эмулятором — неправильная работа с некоторыми эмулируемыми ОС без специального ключа сборки --debug:
When compiling on Linux via a modern GCC please bear in mind that the emulator wont work correctly if compiled with -O optimization flags. Please use -debug configure option to disable such optimization
Что выяснилось далеко не с первой попытки.
Изучаемая OSF/1 как раз из числа проблемных, поэтому попытка запуска в версии эмулятора, собранного без этого волшебного ключа выдает kernel panic:
Теперь вы тоже видели как выглядел kernel panic в 1992м, поздравляю.
Согласно официальному описанию, ключ --debug всего лишь отвечает за отладочную сборку:
configure for a debug build (turn off optimizations)
На практике все несколько сложнее и этим ключом помимо отключения оптимизаций, еще собирается отдельный оконный отладчик. Чтобы не вводить параметр каждый раз, я прописал в начале скрипта configure вот такой параметр:
DEBUG=YES
Скрипт кстати не из известного пакета autotools а полностью собственной разработки. После каждой правки configure скрипта или шаблонов Makefile.skel (см. ниже) необходимо перезапускать настройку вызовом:
./configure
Теперь запускаем make для запуска сборки и ждем приключений.
Первая ошибка не заставит себя ждать:
Связана она с изменениями в спецификации самого языка C++ и по-хорошему стоило бы эту логику переделать. Но поскольку это не мой личный проект, пошел по пути упрощения — просто переключив используемую версию спецификации при сборке.
Файл, в котором появляется эта ошибка, включается в сборку только при ключе --debug , так что без него вы эту ошибку вообще не увидите.
В файле src/main/Makefile.skel в конец значения параметра CXXFLAGS необходимо дописать указание на версию спецификации --std=c++14:
В этот раз сборка должна завершиться успешно и в корне проекта появится бинарник gxemul:
Запуск
К сожалению не удалось найти установочный диск OSF/1, поэтому я использовал готовый образ диска, в котором ОС уже была развернута.
Взят он был отсюда, также продублирован в нашем Телеграм-канале, если владелец сайта вдруг решит заблокировать доступ.
Команда запуска выглядит так:
./gxemul -e 3max -X -d osf1_mips.img -j vmunix
Где -e 3max указание на тип эмулируемой машины, 3max это например DECstation 5000/200 (3MAX):
Ключ -X указывает использовать графический фреймбуфер, без него вы не увидите графического приглашения. Ключ -d указывает на путь к образу диска (в архиве по ссылке выше) а вот -j это уже особая уличная магия:
-j name set the name of the kernel;
for DECstation emulation, this passes the name to the bootloader, for example: --j netbsd (NetBSD/pmax)
-j bsd (OpenBSD/pmax)
-j vmsprite (Sprite/pmax)
-j vmunix (Ultrix/RISC)
Войти в систему можно под учетной записью root с паролем Jaguar64.
Новый пользователь создается в терминале xterm, с помощью команды adduser:
Изменить пароль можно стандартной командой passwd.
Сеть
Разумеется без поддержки сети толку от такой эмуляции было бы немного. К счастью эмулятор сделает за вас большую часть работы по пробросу сети в эмулируемую систему (сторону хоста) — сам поднимет виртуальный интерфейс, назначит IP‑адрес и даже выставит DNS.
Вам остается только вторая половина — настроить сеть в системе 1992 года.
Как уже описал выше, эмулятор сам создает виртуальный сетевой адаптер, который со стороны гостевой OSF/1 называется ln0.
Должна отрабатывать команда:
ifconfig ln0
В выводе должно быть видно текущее состояние адаптера.
Также эмулятор самостоятельно создает исходящий адаптер с IP-адресом 10.0.0.254, который также является маршрутизатором.
Эти детали отображаются в консоли при запуске эмулятора:
The installed MIPS C compiler is good enough to compile some basic things, and gcc 2.9.5 should compile fine. Apparently binutils is broken, but ld is installed anyway.
Думаю реальная проблема в лицензиях, которые в те времена выдавались на компиляторы в коммерческих UNIX-системах.
Судя по скринам, это MS - DOS 3.2 На разборки с АДОС потратил в 1988 не более часа. Выяснив, что команда DIR заменена на СФ (Список Файлов) и СС (Список Системных, наверное файлов), решил дальше мозг не ломать. Имея опыт с хреновейшей русификацией ОСРВ (в девичестве UNIX для EC) и ДИАМС (MUMPS для Электроники, которая в девичестве PDP-11) Из отечественного официального софта могу вспомнить только комплект русификации BETA лаборатории Веселовского (железа был жуткий зоопарк) и редактор Лексикон (в МВД был базовым до нынешнего века!!!). Все остальное было стибрено и криво русифицыровано. СУБД Ребус - какой-то из фоксбейсиков, текстовый редактор Фотон 1 - MultiEdit 4. Все русское, что работало, писалось энтузиастами.
Судя по скринам, система загрузилась, отрабатывает команды ver и dir.
Дальше надо смотреть config.sys и autoexec.bat Отвечают за последовательность загрузки файлов. посмотреть можно командой type "имя_файла".
К вопросу о дисководах. Флопповоды (официально НГМД) не отличались хорошей совместимостью. Самыми крутыми считали Seagate, потом болгарские Изот, потом все остальные.