UMon
Микромонитор (uMonitor, MicroMonitor) — загрузчик встраиваемых операционных систем, на данный момент предназначенный для загрузки с устройств ППЗУ типа NOR FLASH. В отличие от общеизвестного загрузчика u-boot, микромонитор является легковесным (минимум исходников, полная настройка функциональности) и не привязан к ОС Линукс и вообще к какой-либо ОС. Микромонитор позволяет загрузить из ППЗУ в ОЗУ произвольный объектный код и запустить его на исполнение. ЛицензияИзначально разрабатывался Эдом Саттером (Ed Sutter) для компании Lucent Technologies. Был выложен в виде исходных кодов с открытой лицензией (MicroMonitor Lucent Open License). Автор на данный момент не требует следования правилам GNU-лицензий, то есть предоставления исходных кодов, если используется данный загрузчик. Единственное требование автора — сохранять текст лицензии в заголовке и по возможности присылать ему исправления и важные дополнения. Это большая редкость в современном движении Open Source, которое, например, вынуждает открывать проприетарный код, если линкуется библиотека, выпущенная по лицензии GPL, а остальной код при этом является собственной разработкой. Функциональность, предоставляемая загрузчикомПоддерживаемые процессоры, операционные системыЗагрузчик был портирован и использовался на следующих процессорах: x86, PowerPC, MIPS, ARM/Xscale, 68K/ColdFire, Blackfin, SH2/4, MicroBlaze, Nios Загрузчик выполняет начальную инициализацию процессора, переносит образ основной операционной системы с флеш-памяти в ОЗУ и запускает его на исполнение. Таким образом, реальных ограничений на используемую встраиваемую ОС нет. В список поддерживаемых ОС включены: VxWorks, Linux, uC/OS-II, eCos, RTEMS, Nucleus, CMX, pSOS, etc… Сам по себе загрузчик не требует операционной системы и не обязывает использовать её в загружаемом ПО, то есть позволяет загружать из ППЗУ в ОЗУ и запускать на исполнение произвольные объектные файлы. Поддерживаемые форматы объектных файлов: COFF, ELF, AOUT (old-style Unix), MSBIN (Windows CE). При необходимости можно добавить поддержку загрузки объектного файла произвольного формата. Конфигурация загрузчика, управление процессом загрузкиМикромонитор является настраиваемым загрузчиком: части кода загрузчика, не используемые в целевой системе, можно достаточно легко отключать при сборке. При необходимости, можно использовать расширенную функциональность только на этапе разработки и отладки, а потом отключать. Гибкость не заканчивается сборкой кода: состав и порядок исполнения программного обеспечения настраивается редактированием простого текстового скрипта, можно реализовать запрос у пользователя разрешения на исполнение файла, возможно базовое ограничение полномочий пользователя за счет заложенных в файловую систему уровней пользовательского доступа. Если при сборке загрузчика был включен терминальный доступ, загрузчик предоставляет интерфейс командной строки (CLI) с организацией терминального доступа по последовательному порту (например, RS-232) и/или Ethernet (протокол Telnet). Реализованный в микромониторе интерфейс командной строки предоставляет достаточную функциональность для обновления файловой системы и управления загрузкой. Помимо управляющих функций, микромонитор предоставляет возможность наблюдать за процессом загрузки. При необходимости экономии ресурсов логирование отключается. Файловая системаОсновное достоинство MicroMonitor — файловая система tiny file system, оптимизированная для использования с NOR FLASH-памятью. TFS организована в виде односвязного списка, в котором каждый файл представлен коротким (<100 байт) заголовком и непрерывным массивом данных файла. При удалении в заголовке файла выставляется признак удаления. Если необходимо переписать файл, то он «удаляется» (обновлением заголовка) и заменяется на новый файл, добавленный в свободное пространство. Когда свободное пространство заканчивается, запускается процедура дефрагментации, которая в данном случае заключается в перемещении не удаленных файлов к началу файловой системы, то есть реальном удалении данных c FLASH-памяти. TFS обладает следующими достоинствами:
Вместе с тем, TFS упрощена по сравнению с большинством сложных файловых систем:
Кроме того, потенциальным недостатком является использование для энергобезопасной дефрагментации временного сектора, на который ложится повышенная нагрузка. Тем не менее, для целей загрузки ОС и хранения конфигураций ресурс в 100К стираний можно считать достаточным для бесперебойной работы в течение нескольких лет (с еженедельной дефрагментацией и обновлением файловой системы). СсылкиInformation related to UMon |