vak: (Default)
[personal profile] vak
Юникс 2.11BSD для микроконтроллера PIC32 дозрел до запуска первых процессов. Стартует /sbin/init, запускает /bin/sh (в режиме single user). Удаётся ввести и выполнить команду /bin/date. Возврат обратно в оболочку пока не проходит - неправильно восстанавливается образ процесса из swap-области. Всё это пока на симуляторе. Живой чип будем мучить позже.

--- Start simulation: PC=0x9d006000, JIT disabled

2.11 BSD Unix for PIC32, build #523:
     Compiled 2011-07-21 by sergev@ubuntu-sergev:
     /home/sergev/Project/retrobsd/trunk/sys/pic32/compile
phys mem  = 128 kbytes
user mem  = 96 kbytes
swap dev  = (0,1)
swap size = 2048 kbytes
root dev  = (0,0)
init started

# date
Thu Jul 21 16:19:02 PST 2011

--- Stop simulation

Date: 2011-07-22 08:12 (UTC)
From: [identity profile] kondybas.livejournal.com
А что, даже вывод даты приводит к свопанию?

Date: 2011-07-22 21:46 (UTC)
From: [identity profile] kondybas.livejournal.com
Не, я в курсе, как процессы запускаются :) Смутило то, что при ядре в 32кб и 96кб юзермема ехес приводит к свопу.

Хотя, если подумать, удивительней то, что оно вообще запускается :) Как обычную фрю 2.2.1 запустить на 8 _мегабайтах_ ОЗУ - я знаю, но БСД на 128кб - это выше моего понимания... Благоговею!

Date: 2011-07-24 14:40 (UTC)
From: [identity profile] kondybas.livejournal.com
Я когда-то портировал на бкашку Small C Джимми Хендрикса. Сначала мне понравилось имя автора, а потом все остальное :) Единственно, во что действительно упирался компилер по памяти - это в лексический анализ, там была такая бахромастая рекурсивная функция, умело забивающая стек. А на бкашке - 32к юзермема всего :(

Date: 2011-07-22 13:13 (UTC)
From: [identity profile] nms.livejournal.com
Изготовление LSD под пингвином?! ;-))

Date: 2011-07-22 13:23 (UTC)
From: [identity profile] mandrykin.livejournal.com
Ядро живёт в 32Кб ОЗУ? Круто! А куда своп пишется?