vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2006-08-13 08:11 pm

Старый конь борозды не портит

Вытащил на свет божий несколько старых разработок.
Тесей - это такой отечественный аналог PIC16С84. Мухомор на крышке гроба советского компьютеростроения. :(

[identity profile] spamsink.livejournal.com 2006-08-19 03:16 pm (UTC)(link)
Что GCC лучше компилирует очень длинные функции, неудивительно; нужно попробовать более похожую на ядро системы смесь.

У тебя PCC из BSD или более старый? Пришли тот regexp() мне, я попробую.

[identity profile] spamsink.livejournal.com 2006-08-21 11:50 pm (UTC)(link)
gcc -Os -fomit-frame-pointer = 4062 !
ack -O3 = 4004 !!!

[identity profile] spamsink.livejournal.com 2006-08-22 03:08 pm (UTC)(link)
Нет, я пользуюсь эмулятором режима пользователя (Apout). Очень удобно.

[identity profile] spamsink.livejournal.com 2006-08-23 01:12 am (UTC)(link)
К "интернету" я подключал uip из контики как с помощью Apout, так и с помощью эмулятора БК (через /dev/net/tun для простоты). Ну работает (ping, telnet), ну nmap какие-то смешные вещи про него говорит. А дальше?

Хотя да, интересно было бы посмотреть, как бсдшный тцп/ип поведет себя в ответ на разные атаки.

[identity profile] spamsink.livejournal.com 2006-08-23 06:27 am (UTC)(link)
Единственное, что, можно надеяться, поместится в БК-шку (0010) - это mini-Unix - есть на SIMH и я его когда-то запускал (был еще однопользовательский LSX для LSI-11, но он утрачен), потому что в БК-0010 нет ни переключаемых страниц (можно сделать доступными 32 Кб RAM, остальное ROM и видеопамять), ни таймера. В 0011, возможно, поместится что-то более серьезное - там фактически 96 Кб доступного RAM (6 страниц по 16 Кб + страница на видеопамять и рабочая страница ROM-а), есть таймер, а ROM реализует терминал с 80 символами в строке и нормальными esc-codes.

[identity profile] spamsink.livejournal.com 2006-08-23 07:30 am (UTC)(link)
На самом деле в БК-0010 есть за что дергать снаружи, чтобы получилось внешнее прерывание по вектору 0100, так что теоретически он тоже интересен.

А страничная память в БК-0011 сделана так: есть 8 страниц по 16 Кб каждая. Две из них могут служить видеопамятью (отображается на выбор одна из двух). Еще одна постоянно находится в адресах 0-037777. Системный ROM постоянно находится в адресах 140000-176000. Также есть два 3-разрядных регистра, в которых указываются номера страниц в адресах 40000-77777 и 100000-137777.
Т.е. любая страница может быть видна дважды, а "нулевая" - аж трижды.

Обращаются к регистрам страниц с помощью слова, в котором есть еще один свободный бит, так что в эмуляторе в одно из "окон" можно будет помещать любую из 16 страниц, а в другое - только первые 8. Но сколько переделок в железе это потребует, я не знаю. С расширением памяти влезет что хочешь, интереснее выяснить, на что способен нетронутый экземпляр. Возможно, что "биосу" можно объяснить, что рабочую страницу использовать не нужно, и тогда получится 112 Кб.

[identity profile] spamsink.livejournal.com 2006-08-23 03:06 pm (UTC)(link)
Схемы у меня - нет, но где-то, наверное, есть, хотя найти и не получается. А переделывать придется всё, начиная с процессора - в БК он аналогичен LSI-11/03, без какого-либо понятия об управлении памятью, так что demand paging is out of the question, а если его нет, то свопинг можно делать и 16-килобайтными сегментами, тем более что флеш-диск, который можно подключить к БК, чуть ли не быстрее, чем его память.

[identity profile] spamsink.livejournal.com 2006-08-23 09:18 pm (UTC)(link)
Так, наверное, можно, хотя это уже будет не совсем БК. RT-11 портировали без каких-либо хардверных изменений, а юникс чем хуже?