UMon

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 обладает следующими достоинствами:

  1. Предоставляет встраиваемому ПО доступ к данным по имени файла, а не по абсолютному адресу.
  2. Обеспечивает непосредственный доступ к данным файла в виде непрерывного массива (за счет непрерываного размещения данных файла).
  3. Предоставляет защищенную от сбоев питания процедуру дефрагментации.
  4. Файловая система является переносимой между различными устройствами флеш-памяти за счет использования двух уровней абстракции: первый уровень предоставляет обобщенный интерфейс к флеш-памяти со стороны файловой системы, второй уровень определяет реализацию обращения к конкретному типу устройств флеш-памяти.
  5. Файловая система не требует непрерывности адресного пространства и может быть предоставлена пользователю в виде единого файлового пространства при размещении данных на нескольких различных носителях.
  6. Файловая система позволяет задать четыре уровня пользовательского доступа.
  7. Загрузчик исполняемых файлов, предоставляемый файловой системы допускает упаковку отдельных секций объектного файла (COFF, ELF и т. п.), что позволяет загружать программу посекционно без промежуточной распаковки в ОЗУ.
  8. В состав файловой системы могут входить файлы-ссылки, указывающие на область FLASH вне файловой системы, в которой размещены перезаписываемые данные. Эти данные исключаются из процедуры дефрагментации.
  9. Файловая система позволяет запускать объектный код непосредственно с ППЗУ без загрузки в ОЗУ.

Вместе с тем, TFS упрощена по сравнению с большинством сложных файловых систем:

  1. Не поддерживается распределение нагрузки для уменьшения износа ППЗУ (ресурс в 100К стираний, свойственный большинству современных микросхем ППЗУ, достаточен для хранения прошивок и конфигураций — основного назначения TFS).
  1. Не поддерживается каталогизация и одновременная запись нескольких файлов неизвестного размера.
  2. Файлы хранятся в виде непрерывного массива данных.

Кроме того, потенциальным недостатком является использование для энергобезопасной дефрагментации временного сектора, на который ложится повышенная нагрузка.

Тем не менее, для целей загрузки ОС и хранения конфигураций ресурс в 100К стираний можно считать достаточным для бесперебойной работы в течение нескольких лет (с еженедельной дефрагментацией и обновлением файловой системы).

Ссылки

  1. Домашняя страница
  2. Embedded Systems Firmware Demystified. Ed Sutter. ISBN 1578200997
  3. Tiny File System. Ed Sutter. Embedded.com
  4. Monitor-based debugging. Ed Sutter. Embedded.com
  5. Загрузчики ОС

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "UMon" в других словарях:

  • Umon — Die Umon sind eine etwa 25.000 Menschen (Stand: 1994) große Volksgruppe in Nigeria. Sie sprechen eine gleichnamige Sprache. Die vorwiegende Religion ist das Christentum. Quellenlink bei peoplegroups Kategorie: Ethnie in Nigeria …   Deutsch Wikipedia

  • UMON — University of Montana (Academic & Science » Universities) …   Abbreviations dictionary

  • Umon — ISO 639 3 Code : umm ISO 639 2/B Code : ISO 639 2/T Code : ISO 639 1 Code : Scope : Individual Language Type : Living …   Names of Languages ISO 639-3

  • þūmōn — s. þūmō ; …   Germanisches Wörterbuch

  • Duke Fleed — Infobox animanga character name = Duke Fleed series = Grendizer caption = Daisuke Umon and Duke Fleed first = last = creator = Go Nagai voiced by = Kei Tomiyama Kōichi Yamadera (Super Robot Wars) Kenyū Horiuchi (SRW Complete Box)nihongo|Duke… …   Wikipedia

  • Сакаи, Сюндзи — Сюндзи Сакаи яп. 堺 駿二 (Сакаи Сюндзи) Cюндзи Сакаи в фильме Исимацу из Мори (1960) Имя при рождении: Масаси Курихара …   Википедия

  • Goldorak — Grendizer (jap. UFOロボグレンダイザー UFOrobo gurendaizā) ist ein Manga des japanischen Zeichners Go Nagai, der auch als Anime umgesetzt wurde. Er thematisiert erstmals die Beziehung von Kampfrobotern zu ihren Piloten. Grendizer ist in den USA als… …   Deutsch Wikipedia

  • Goldorak - Kampf der Welten — Grendizer (jap. UFOロボグレンダイザー UFOrobo gurendaizā) ist ein Manga des japanischen Zeichners Go Nagai, der auch als Anime umgesetzt wurde. Er thematisiert erstmals die Beziehung von Kampfrobotern zu ihren Piloten. Grendizer ist in den USA als… …   Deutsch Wikipedia

  • Goldorak – Kampf der Welten — Grendizer (jap. UFOロボグレンダイザー UFOrobo gurendaizā) ist ein Manga des japanischen Zeichners Go Nagai, der auch als Anime umgesetzt wurde. Er thematisiert erstmals die Beziehung von Kampfrobotern zu ihren Piloten. Grendizer ist in den USA als… …   Deutsch Wikipedia

  • Grandizer — Grendizer (jap. UFOロボグレンダイザー UFOrobo gurendaizā) ist ein Manga des japanischen Zeichners Go Nagai, der auch als Anime umgesetzt wurde. Er thematisiert erstmals die Beziehung von Kampfrobotern zu ihren Piloten. Grendizer ist in den USA als… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»