Ядро у меня - обычная CP/M-задача, которая будет "крутить" UNIX-процессы в расширенном ОЗУ. Архитектура будет такая:
Ядро, кстати, получается 28кб. С дописанными процессами будет, думаю, порядка 30кб (это учитывая, что в UZIX побольше накручено, чем в FUZIX, как я понял) - годится для любого клона Орионовских CP/M. Есть клоны CP/M с TPA до 58 кб, т.е. хватит места и TCP/IP впилить, и поддержку ФС FAT.Код:CP/M 64k bank Subsequent 64k banks
FFFF +------------+ +------------+
Common | Common | | Common |+
F000 +------------+ +------------+|+
| CP/M | | |+|+
+------------+ | Process ||+|
Banked | Kernel | | Code |||+
| Code | | & Data ||||
| | | ||||
0100 +------------+ +------------+|||
| Reserved | | Reserved |+||
0000 +------------+ +------------+|+|
+------------+|+
+------------+|
В качестве дисков используется IDE/SD через CP/M-овский драйвер "сырого доступа" IDEBDOS, схема MBR-партиций (поддерживаются только 4 основные партиции на двух физических приводах - итого 8 (fd0..fd7) партиций, плюс fd8..fd9 - целые "сырые" диски (от LBA0=MBR до LBAmax)), номер партиции передается в утилиты (проверяемая/копируемая/где создается FS) и в ядро (root-партиция, остальные через mount) как параметр командной строки.

