Библиотека сайта rus-linux.net
Перспективы самостоятельного изучения архитектуры операционной системы реального времени
Автор: Владимир Царьков
Дата публикации: 13.01.2012
В статье рассматриваются сильные и слабые стороны свободно распространяемой операционной системы реального времени 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 в последующих статьях.
Литература для самообразования
- Спинеллис Д. Анализ программного кода на примере проектов Open Source.: Пер. с англ. М.: Издательский дом "Вильямс", 2004. 528 с.
- 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).