SII писал(а):
У меня в этом плане нечто среднее между монолитом и QNX: драйверы могут входить в состав ядра, а могут быть выполнены как задачи режима пользователя. В частности, в ядре я размещаю все быстрые и компактные драйверы, напрямую работающие с "железом", в то время как тяжеловесные -- типа файловых систем -- будут выполнены в виде задач (пока поддержки для них нет, но думаю, появится довольно скоро: по работе надо будет обеспечить возможность чтения-записи SD-карт и флэшек, а значит, надо делать FAT32).
Файловую систему fat32 можно хранит в ядре, это класика(тупо маска кластеров, по первому кластеру соберается цепочка кластеров), сама папка как небольшой файл грузится в память со всеми своими кластерами, и имеет свой формат из 32байтных блоков. Производительность максимальная, если сама карта кластеров в памяти. Файлам и папкам нужно только первый кластер. А папка это список из имён у которых есть их первый кластер.
Если добавить к размеру файла 4байта, чтобы небыло предела в 4Гб и с именами доработать то лучше и не надо. В ntfs в метофайлы добавили инфу о защите(самой защиты нету если все файлы могут скачать игнорируя это, скорее всего инфа о правах доступа не более), даже о иконке и сортировке файлов(просто для системы).