Но как-то Юникс не приживается. Есть несколько причин.
1. Для Юникса требуется место для swap, а его нету. Без swap не реализуется основополагающий механизм создания процессов fork(). Хотя бы два мегабайта нужно для RetroBSD. Приходится создавать специальный раздел на SD-карточке. В результате без SD-карточки ядро вовсе не может стартовать.
2. Никого не радует необходимость форматировать карточку как юниксную файловую систему. А переделать ядро на ExtFS не выйдет, там гораздо больше памяти потребуется.
3. Доступ к периферии микроконтроллера из юниксного процесса весьма затруднённый. Условно говоря, под каждый чих приходится драйвер писать. Просто так из программы ножками GPIO не подёргаешь.
Многозадачность как раз для народа некритична. Думаю, что подобие CP/M или PC-DOS подошло бы лучше.
no subject
Недавно его затащили на ARM Cortex-M4 под названием DiscoBSD: https://github.com/chettrick/discobsd
Но как-то Юникс не приживается. Есть несколько причин.
1. Для Юникса требуется место для swap, а его нету. Без swap не реализуется основополагающий механизм создания процессов fork(). Хотя бы два мегабайта нужно для RetroBSD. Приходится создавать специальный раздел на SD-карточке. В результате без SD-карточки ядро вовсе не может стартовать.
2. Никого не радует необходимость форматировать карточку как юниксную файловую систему. А переделать ядро на ExtFS не выйдет, там гораздо больше памяти потребуется.
3. Доступ к периферии микроконтроллера из юниксного процесса весьма затруднённый. Условно говоря, под каждый чих приходится драйвер писать. Просто так из программы ножками GPIO не подёргаешь.
Многозадачность как раз для народа некритична. Думаю, что подобие CP/M или PC-DOS подошло бы лучше.