Перспективы самостоятельного изучения архитектуры операционной системы реального времени

Источник: rus-linux
Владимир Царьков

В статье рассматриваются сильные и слабые стороны свободно распространяемой операционной системы реального времени eCos в контексте самостоятельной деятельности пользователя по изучению её архитектуры.

Исходя из того, что самообразование в сфере информационных технологий наиболее эффективно при наличии максимально полных и доступных сведений о внутреннем устройстве как аппаратной, так и программной части изучаемых вычислительных систем, мы будем говорить только о тех операционных системах реального времени (ОСРВ), которые распространяются по свободной лицензии.

Разумеется, в рамках одной статьи невозможно сделать обзор всех доступных свободных ОСРВ, поэтому в данной публикации мы сконцентрируемся лишь на одной такой операционной системе (eCos - http://ecos.sourceware.org/), которая особенно привлекла наше внимание.

Данная статья призвана осветить только некоторые достоинства eCos, а также элементарные приёмы настройки среды разработки eCos. Несмотря на свой небольшой объём, предлагаемый материал может помочь читателю лучше представить перспективы самостоятельного изучения архитектуры рассматриваемой ОСРВ, а также её аналогов.

Почему eCos?

Дело в том, что эта операционная система

  • хорошо документирована (есть online-документация, а также распространяемые и в печатном и в электронном виде, согласно Open Publication License, книги о её внутреннем устройстве);

    Для сравнения, система Free RTOS тоже подробно документирована, однако отсутствуют книги о механизмах её работы, доступные бесплатно в электронном виде (хотя бы согласно Open Publication License). Читателю может показаться, что это не является проблемой. Однако, практика показывает: книга, за счёт более структурированного подхода к изложению материала, чем в online-документации, значительно упрощает самостоятельное изучение архитектуры операционной системы.

  • подходит к использованию в связке с разнообразным аппаратным обеспечением, которое также хорошо документировано (к примеру, одноплатные компьютеры семейства ARM - http://www.embeddedarm.com/support/documentation.php, в частности, TS-7200);

  • удобна во взаимодействии с операционным системами GNU/Linux (есть большой набор инструментов разработки, подходящий для использования в среде GNU/Linux; существуют удобные установочные скрипты, работающие в GNU/Linux).

  • удобна для тонкой настройки (поддерживает более 200 различных конфигурационных опций), иными словами, позволяет человеку, изучающему её внутреннее устройство, работать с малыми функциональными блоками её архитектуры (это несомненно облегчает понимание логики работы eCos);

  • используется образовательными учреждениями в учебном процессе, в частности, канадским Университетом Уотерлу (University of Waterloo): http://www.cgl.uwaterloo.ca/~wmcowan/teaching/cs452/pdf/.

Процесс самостоятельного изучения архитектуры eCos осложняется тем, что:

  • документация к ней распространяется разработчиками только на английском языке (вероятно, есть исключения, о которых автор статьи не слышал).

  • использование eCos для решения практических задач требует основательных знаний методов программирования (см. http://electronix.ru/forum/lofiversion/index.php/t1096.html), что, впрочем, оставляет вполне реальной перспективу создания доступных для понимания и применения учебных руководств для начинающих разработчиков.

На основании приведённой информации мы считаем возможным сделать вывод о том, что eCos является перспективной базой для человека, стремящегося самостоятельно изучить архитектуру ОСРВ. Более того, при наличии соответствующих русскоязычных учебно-методических разработок преподавательского состава, данная операционная система хорошо подойдёт для использования в образовательном процессе высших и, возможно, средних специальных учебных заведений.

Начало знакомства с eCos

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

Создание среды, в которой может осуществляться разработка конфигурации eCos для целевой машины, требует следующих действий.

Необходимо скачать скрипт установки пакетов, необходимых для разработки (скрипт написан на язык Tcl и требует для своей работы наличия в системе одноимённого интерпретатора).

wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
tcl ecos-install.tcl

В документации к eCos рекомендуется производить установку среды разработки в каталог /opt/ecos. Более подробно см.: http://ecos.sourceware.org/getstart.html.

Далее, для создания среды разработки на основе операционной системы GNU/Linux, требуется установить libstdc++ v3. Как сообщает файл README.txt, входящий в состав документации, устанавливаемой скриптом ecos-install.tcl, пакет libstdc++ v3 имеет различные имена в разных дистрибутивах. В Fedora libstdc++ v3можно установить командой yum install compat-libstdc++-33, в openSUSE - zypper install compat-libstdc++, в системах на базе Debian, в частности, в Ubuntu: apt-get install libstdc++5.

Теперь можно обратить внимание на программы, размещённые в каталоге /opt/ecos/ecos-3.0/tools/bin и предназначенные, в частности, для создания файлов конфигурации применяемых при компиляции исходного кода eCos под конкретную целевую платформу.

Любопытному читателю будет удобно воспользоваться рекомендациями по анализу исходного кода, приведёнными в книге [Спинеллис2004, с. 469-490] и постараться начать самостоятельно вникать в логику работы элементов eCos. Ну а мы планируем более подробно рассмотреть приёмы работы с eCos в последующих статьях.

Литература для самообразования

  1. Спинеллис Д. Анализ программного кода на примере проектов Open Source.: Пер. с англ. М.: Издательский дом "Вильямс", 2004. 528 с.

  2. Massa A. J. Embedded Software Development with eCos. New Jersey: Pearson Education, 2003. 399 p. URL: http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/perens/0130354732.pdf (дата обращения: 13.01.2012).


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=28107