В ядре NetBSD есть хитрый параметр "options CYRIX_CACHE_WORKS". Если его поставить, ядро включит L1 кэш процессора Cyrix. И оно действительно помогло. Дуремарки заметно поднялись: 54 супротив прежних 31. Хотя до досовских 110 далеко.
До сих пор я возился с NetBSD версии 4.0.1, выпуска 2008 года. Более поздние не лезут в 16 мегабайт памяти. Но эта версия давно не поддерживается, и пакеты к ней я надыбал только на bitsavers.org. При отсутствии пакетов на официальном сайте установка полноценной системы, нужной для сборки ядра, превращается в головоломку с неизвестным исходом.
Нужна свежая версия NetBSD 10.1, а значит необходимо добавить памяти в компьютер. Четыре восьмибитных SIMM, если помните. В пятницу память пришла с Ебея, заодно пришла и 2-гигибайтная SD карточка industrial. Установка системы на неё заняла всю субботу.
Возиться с флопиками необязательно. Чтобы запустить установку, надо под ДОСом скачать два файла: dosboot.com и netbsd-INSTALL.gz. Второй файл распаковать под именем install и вызвать "dosboot install". Остальное будет подгружаться по сети, благо сетевая карточка NE2000 настроена и работает. Процесс установки подробно описан в главе №3 "Example installation" документа netbsd-en.pdf.
Установка шла медленно и печально, ведь кэш пока не работает. Параллельно я поставил эту же версию NetBSD на мак под симулятором UTM (обёртка над QEMU). Пришлось напрячься, изучить файл конфигурации ядра, чтобы убрать всё ненужное, но не зацепить чувствительное. Благо, можно начать с имеющейся конфигурации GENERIC_TINY. Вот такое получилось.
DureMark 1.0 Results
=======================
Iterations : 300
Execution Time : 5.5 sec
List Workload : 39.4%
Matrix Workload : 19.2%
State Workload : 41.4%
-----------------------
Total Score : 54.25 DureMark
Путь был непростым, однако. Чтобы изменить параметр, надо пересобрать ядро. Проделать это на самом компьютере не представляется возможным. Без кэша он настолько тормозной, что пересборка займёт месяц. Следовательно, надо ставить ровно такую же версию NetBSD на виртуальную машину.До сих пор я возился с NetBSD версии 4.0.1, выпуска 2008 года. Более поздние не лезут в 16 мегабайт памяти. Но эта версия давно не поддерживается, и пакеты к ней я надыбал только на bitsavers.org. При отсутствии пакетов на официальном сайте установка полноценной системы, нужной для сборки ядра, превращается в головоломку с неизвестным исходом.
Нужна свежая версия NetBSD 10.1, а значит необходимо добавить памяти в компьютер. Четыре восьмибитных SIMM, если помните. В пятницу память пришла с Ебея, заодно пришла и 2-гигибайтная SD карточка industrial. Установка системы на неё заняла всю субботу.
Возиться с флопиками необязательно. Чтобы запустить установку, надо под ДОСом скачать два файла: dosboot.com и netbsd-INSTALL.gz. Второй файл распаковать под именем install и вызвать "dosboot install". Остальное будет подгружаться по сети, благо сетевая карточка NE2000 настроена и работает. Процесс установки подробно описан в главе №3 "Example installation" документа netbsd-en.pdf.
Установка шла медленно и печально, ведь кэш пока не работает. Параллельно я поставил эту же версию NetBSD на мак под симулятором UTM (обёртка над QEMU). Пришлось напрячься, изучить файл конфигурации ядра, чтобы убрать всё ненужное, но не зацепить чувствительное. Благо, можно начать с имеющейся конфигурации GENERIC_TINY. Вот такое получилось.
Я прямо как в молодость вернулся: те же самые ощущения, что 32 года назад, когда я возился с конфигурациями и исходниками ядра FreeBSD. 😀include "arch/i386/conf/std.i386" makeoptions COPTS="-Os" makeoptions USE_SSP="no" maxusers 8 # estimated number of users # Standard system options options CYRIX_CACHE_WORKS options INSECURE # disable kernel security levels - X needs this options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT options SYSVMSG # System V-like message queues options SYSVSEM # System V-like semaphores options SYSVSHM # System V-like memory sharing options PIPE_SOCKETPAIR # smaller, but slower pipe(2) # File systems file-system FFS # UFS file-system EXT2FS # second extended file system (linux) file-system MSDOSFS # MS-DOS file system file-system KERNFS # /kern file-system PROCFS # /proc file-system PTYFS # /dev/pts/N support # File system options options FFS_NO_SNAPSHOT # No FF snapshot support # Networking options options INET # IP + ICMP + TCP + UDP options INET6 # IPv6 # Kernel root file system and dump configuration. config netbsd root on wd0a type ffs # wscons options options WSEMUL_VT100 # VT100 / VT220 emulation options WS_KERNEL_FG=WSCOL_GREEN options WSDISPLAY_COMPAT_PCVT # emulate some ioctls options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls options WSDISPLAY_COMPAT_USL # wsconscfg VT handling options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes options PCDISPLAY_SOFTCURSOR options WSDISPLAY_SCROLLSUPPORT # ISA bus support isa0 at mainbus? # Console Devices pckbc0 at isa? # PC keyboard controller pckbd* at pckbc? # PC keyboard vga0 at isa? pcdisplay0 at isa? # CGA, MDA, EGA, HGA wsdisplay* at vga? console ? wsdisplay* at pcdisplay? console ? wskbd* at pckbd? console ? # Serial Devices com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports com1 at isa? port 0x2f8 irq 3 com2 at isa? port 0x3e8 irq 5 # Parallel Printer Interfaces lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports # ISA IDE controllers wdc0 at isa? port 0x1f0 irq 14 # ST506, ESDI, and IDE controllers wdc1 at isa? port 0x170 irq 15 atabus* at ata? wd* at atabus? drive ? # the drives themselves # ISA floppy fdc0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy controllers fd* at fdc? drive ? # the drives themselves # ISA network interfaces ne0 at isa? port 0x280 irq 9 # NE[12]000 Ethernet cards ne1 at isa? port 0x300 irq 10 # disk/mass storage pseudo-devices pseudo-device fss # file system snapshot device pseudo-device vnd # disk-like interface to files pseudo-device swcrypto # software crypto implementation # network pseudo-devices pseudo-device bpfilter # Berkeley packet filter pseudo-device bridge # simple inter-network bridging pseudo-device npf # NPF packet filter pseudo-device loop # network loopback pseudo-device ppp # Point-to-Point Protocol pseudo-device pppoe # PPP over Ethernet (RFC 2516) pseudo-device tun # network tunneling over tty # miscellaneous pseudo-devices pseudo-device pty # pseudo-terminals pseudo-device clockctl # user control of clock subsystem # wscons pseudo-devices pseudo-device wsmux # mouse & keyboard multiplexor
Компилируем ядро под NetBSD 10.1 в виртуальной машине, после чего записываем на досовскую SD карточку, где в файлe AUTOEXEC.BAT командой dosboot оно и грузится. Дешёво и сердито.
Забавная вышла ситуёвина. Допотопный компьютер с 5-дюймовым флоповодом, отстойнейшим процессором Cyrix 486, и на нём распоследний юникс NetBSD.


no subject
Date: 2025-12-22 22:33 (UTC)как варианты найти недостающие 50
граммбаллов:там есть еще
CYRIX_CACHE_REALLY_WORKS
без hold на шине.
также, ходили слухи, что real mode в общем быстрее protected mode на vintage CPU. поэтому и мучились с unreal mode.
подозреваю, что проверить можно перемеряв, предварительно загрузив под DOS какой-то менеджер памяти вроде emm386 или qemm386 или скомпилировать тест как DPMI программу.
по intel dx2-66 едущему с eBay -
без мануала на материнку тяжело - там непросто все https://datasheets.chipdb.org/SGS Thomson/x86/486/4193.PDF
no subject
Date: 2025-12-22 22:47 (UTC)Надо будет перемерять в MS-DOS 3.30 и сравнить с MS-DOS 7.10. В первом работает real mode. В 7.10 всё запускается в protected mode. Обычно там emm386 включён из config.sys. Я обнаружил, когда пытался загрузить NetBSD из него командой dosboot. Тот говорит: не могу под emm386.
За ссылочку спасибо. Интересные детали выясняются через 30 лет. Пин TEST в процессоре Cx486DX2 на той же ножке, что #CACHE у процессора i486DX2.
no subject
Date: 2025-12-22 22:39 (UTC)no subject
Date: 2025-12-22 22:48 (UTC)no subject
Date: 2025-12-22 23:29 (UTC)no subject
Date: 2025-12-22 23:23 (UTC)Das Boot же правильно!
no subject
Date: 2025-12-23 00:28 (UTC)no subject
Date: 2025-12-23 08:10 (UTC)no subject
Date: 2025-12-23 09:03 (UTC)- By a strange coincidence, you do, sir."
no subject
Date: 2025-12-23 10:23 (UTC)no subject
Date: 2025-12-23 01:01 (UTC)no subject
Date: 2025-12-23 01:27 (UTC)Я попробую собрать Bash Commander с исходников на реальной машине, конечно. Интересно, сколько займёт по времени.
no subject
Date: 2025-12-23 01:37 (UTC)no subject
Date: 2025-12-23 01:50 (UTC)no subject
Date: 2025-12-23 01:35 (UTC)no subject
Date: 2025-12-23 01:39 (UTC)no subject
Date: 2025-12-23 02:22 (UTC)no subject
Date: 2025-12-23 12:52 (UTC)FreeBSD
Date: 2025-12-23 21:12 (UTC)Я довго 8.x тримав на сервері у коморі (NAT+firewall+всі діла). Аж до 2015-го. Машина на основі P3/1GHz працювала 24/7 і жодного разу не підвела. Досі зі мною і досі вмикається на ура.
Одного разу, після чергової перекомпіляції ядра, перестало запускатися. Виявився баг у апстрімі -- був змушений рапортувати. Виправили :)