Юникс на БК-0010 живет!
2006-11-15 20:47![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сегодняшний день войдет в историю. :)
На БК-0010 - самой маленькой в мире PDP-шке - заработал самый маленький в мире Юникс. Стартует ядро, запускается шелл. Выполняются команды из /bin. На время выполнения команд шелл прячется в своп-область, после извлекается и продолжает работу.
Это уже не эмулятор - живой хардвер. БК-шка 93-го года выпуска, Альтековский контроллер флопа с прошивкой версии 1.02 и дополнительной памятью 16 килобайт, стандартный 3.5" флоповод.
Исходные тексты можно скачать командой "svn co https://svn.sourceforge.net/svnroot/bkunix/trunk bkunix".
На БК-0010 - самой маленькой в мире PDP-шке - заработал самый маленький в мире Юникс. Стартует ядро, запускается шелл. Выполняются команды из /bin. На время выполнения команд шелл прячется в своп-область, после извлекается и продолжает работу.
Это уже не эмулятор - живой хардвер. БК-шка 93-го года выпуска, Альтековский контроллер флопа с прошивкой версии 1.02 и дополнительной памятью 16 килобайт, стандартный 3.5" флоповод.
Исходные тексты можно скачать командой "svn co https://svn.sourceforge.net/svnroot/bkunix/trunk bkunix".
no subject
Date: 2006-11-15 19:06 (UTC)no subject
Date: 2006-11-15 19:12 (UTC)no subject
Date: 2006-11-15 20:24 (UTC)no subject
Date: 2006-11-16 13:59 (UTC)Содержимое каталога /bin: cal cat clock cp date df echo ed h
alt ln ls mkdir mount mv od pwd rm rmdir sh stty sync umount wc.
Содержимое каталога /etc: fsck glob init mkfs mknod.
Уже перенесен ассемблер и линкер, будет компилятор Си. В планах - bc, awk, tcl.
no subject
Date: 2006-11-16 14:38 (UTC)no subject
Date: 2006-11-16 15:01 (UTC)Самый "советский" (в хорошем смысле) компьютер - БЭСМ6. Описаний полно, софта, есть действующий эмулятор: http://www.mailcom.com/besm6/index_ru.shtml
иллюзия
Date: 2006-11-16 00:11 (UTC)Ну и поздравления, конечно :-)
no subject
Date: 2006-11-16 14:52 (UTC)no subject
Date: 2006-11-16 04:08 (UTC)no subject
Date: 2006-11-16 15:06 (UTC)Как было сказано в одном из ранних компьютерных словарей, "megabyte - импортный аналог килобайта".
no subject
no subject
Date: 2006-12-10 13:48 (UTC)no subject
Date: 2006-12-10 16:05 (UTC)Есть описание контроллера: http://vak.ru/doku.php/proj/bk-a16tech
Есть описание программного интерфейса: http://vak.ru/doku.php/proj/bk-um/bk-0011m-pm#3.7._%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B0_%D0%BD%D0%B3%D0%BC%D0%B4
Есть прошивки трех версий контроллеров. Если интересно - могу прислать.
Есть эмулятор Лео Брухиса, который имитирует поведение регистров контроллера флопа. Все три версии прошивок успешно работают. Если повторить нужные регистры на аппаратном уровне, получится работающий контроллер. У меня бродит такая мысль: взять какую-нибудь недорогую FPGA, завести в неё всю шину МПИ и подключить карточку SD/MMC.
no subject
Date: 2006-12-11 06:13 (UTC)FPGA - это, наверное, правильный путь, но нужно же еще какое-то хранилище для исполняемого кода (прошивки или ее аналога). Хотя если иметь на борту контроллера подобающий объем памяти, то можно прошивку грузить с той же SD вместе с конфигурацией FPGA, как в проекте Minimig.
no subject
Date: 2006-12-11 10:07 (UTC)Внутри у FPGA есть блочная память. Нужно всего 4к под ПЗУ и 16к под дополнительное ОЗУ. Например, если взять Xilinx xc3s250e - имеющихся 24 килобайт вполне достаточно.
Minimig - интересный проект. Прикольно было бы для БК-шки то же самое повторить.
no subject
Date: 2006-12-11 10:31 (UTC)Спасибо.
no subject
Date: 2006-12-22 11:56 (UTC)2. Собирал. не получается
> uname -a
FreeBSD 5.3-RELEASE
> gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728
собралось: cross-devel, fsutil
собираем сырцы
> gmake
12: not found
gmake WHERE=LOW SYS=DEC low.o mch.o alloc.o bio.o clock.o fio.o iget.o main.o nami.o rdwri.o sig.o slp.o subr.o sys1.o sys2.o sys3.o sys4.o sysent.o trap.o kl.o decfd.o
gmake[1]: Entering directory `/usr/home/ilych/bkunix-0.1/src/sys'
gmake[1]: `low.o' не требует обновления.
gmake[1]: `mch.o' не требует обновления.
pdp11-cc -O -I. -DKERNEL -DKL -DLOW -DDEC -c -o alloc.o alloc.c
Fatal error in /usr/local/lib/pdp11/c1
gmake[1]: *** [alloc.o] Ошибка 8
gmake[1]: Leaving directory `/usr/home/ilych/bkunix-0.1/src/sys'
gmake: *** [lsx] Ошибка 2
Вот
gdb c1 c1.core
GNU gdb 6.1.1 [FreeBSD]
Loaded symbols for /libexec/ld-elf.so.1
#0 0x08049518 in cexpr (tree=0xbfbfde70, table=0x8054f8c, areg=0) at c10.c:539
539 if (tree->t.tr2 && (tree->t.tr2->t.op==AUTOI||tree->t.tr2->t.op==AUTOD)
Коллега, если можете помочь - прошу в мыло a.ilchenko at gmail.com
PS И еще вопрос относительно записи бутовой дискеты есть открытый
no subject
Date: 2006-12-22 13:59 (UTC)Для УКНЦ было бы интересно портонуть, там не так много работы. Но я не смог добыть такого зверя, а без живой железки не прикольно возиться. :(
no subject
Date: 2006-12-25 07:53 (UTC)no subject
Date: 2007-01-08 11:40 (UTC)А насколько она живая? Что из периферии имеется в наличии?