vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2019-09-21 10:26 pm

PiDP-11 сделай сам

Весь день провёл, собирая PiDP-11/70, реплику легендарного компьютера фирмы Digital. Е] можно приобрести в виде конструктора "сделай сам" у Оскара Вермойлена, радиолюбителя из Швейцарии. Отдельно надо добавить плату Raspberry Pi 3 или 4, и получится аутентичная машинка в масштабе 3:5, способная загружать длинный список операционных систем, от RT11 до Unix 2.11BSD.

После нескольких часов работы паяльником и отверткой, у меня получился вот такой девайс.



Есть серия видео, рассказывающих о проекте и подробно объясняющих весь процесс сборки.

Часть 1/4: Рассказывает про проект и про семейство машин PDP-11. Объясняет установку софта на плату Raspberry Pi.



Часть 2/4: Паяем диоды, резисторы, светодиоды. Проверяем, что светодиоды (и софт) работают.



Часть 3/4: Паяем тумблеры.



Часть 4/4: Собираем всё в корпус, проверяем тубмлеры.



Список имеющихся операционных систем:



Примеры загрузки этих операционных систем смотрите на странице: https://skn.noip.me/pdp11/pdp11.html
x86128: (Default)

[personal profile] x86128 2019-09-23 02:32 am (UTC)(link)
Вот любопытно, а там сколько памяти надо будет для интернета с веб-сервером?

[personal profile] slider2 2024-03-15 01:34 pm (UTC)(link)
Для маленького веб сервера нужно очень мало памяти - несколько килобайт (буквально) - ведь все что он делает - это простейший парсинг строки реквеста, потом читает нужный файл с файловой системы, и отдает его в респонсе. На старой ардуинке с несколько килобайт RAM есть имплементации.

Кроме веб сервера нужна память для TCP/IP стэка, точнее - буфера для открытых TCP коннекшенов. В предельном случае можно его зажать поддерживая всего одно TCP коннекшн за раз, но даже для одного клиента это может быть проблемой - современные браузеры обычно открывают несколько параллельных TCP. Так что крайне желательно поддерживать хотя бы штуки четыре в параллель.

И для каждого TCP коннекшена нужно хотя бы килобайт 8, чтобы поддерживать окно в 4KB в каждую сторону для более-менее приемлемой скорости, особенно при высокой задержке распространения. Т.е. для четырех параллельных коннекшенов нужно хотя бы 32КБ памяти под буферы TCP стэка.

Потом еще нужно сколько-то памяти для ОС, драйверов, буферов обмена с девайсами в этих самых драйверах и т.п.

В принципе даже младших версий PDP11 с 56 килобайт памяти вполне достаточно для вполне бодрого HTTP сервера выдающего статический контент (файлы), и еще останется сколько-то памяти для кастомной логики/кода запускаемого например как CGI.