Date: 2023-02-06 12:42 (UTC)
From: [personal profile] iyak2
Интересно, а чем не годится идея Unix для данной платки? Если это Гарвардская архитектура, то вряд ли это будет помехой. Есть идея такая, кратко. Например, с Flash-диска исполняем файл, .text процесса никуда в SRAM не загружается, сейчас .text'у достаточно readonly еще со времен PDP-11, самомодифицируемый нужен был только в PDP-7(9) из-за особенности архитектуры. Косвенную блочность для файлов не используем, используем только монолитные contiguous file. Для секций .data, .bss каждого процесса выделяем необходимую память(фиксированную или динамически изменяемую) - своп область в SRAM. Сколько процессов - столько и своп областей. Как минимум 3,к примеру, в UnixV1 их было 16, только на диске, правда. Создаем там же, в SRAM, еще одну область для .data, .bss, для текущего выполняемого процесса. Ясно, что она должна быть больше или равна любой своп области процессов. По итогу, Unix, мультизадачность,(мир, жевачка))и железное НЕТ деградации Flash-памяти свопингом! Классно, стильно, молодежно! В отличии от многих RTOS, программы можно компилировать отдельно от самой ОС, по идеи, т.к. .data,.bss не привязаны к разным участкам памяти, переключение задач честное.
Да, опционально для экономии памяти, кое-что нужно сделать с .data. При загрузке (exec) исполняемого файла изменяемые данные .data продублировать в своп область. А константными программа будет оперировать с Flash. Для такой особенности нужно немного переписать Си, как кажется. Кому-то далеко до этого. Но если закончить разбираться с ar+ld+as+stip, то может за полгода или год до Си, возможно, сначало изучив Би, вполне добраться. И ничего лучшего, чем понять и простить и портировать, наверное, нет (для усвоения материала).

P.S. Сам такое сделал бы давно, но, увы, с 2018 узнал(диагностировали), что давненько хожу с так называемым орфанным недугом. Вот-то оно и работается мне не очень, не более 1-2 часа в день. Делаю все как получается. А как хотелось рыбки вездесущего Unix для микроконтроллеров!!!
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org