RTEMS
RTEMS | |
---|---|
![]() Исполнитель реального времени для мультипроцессорных систем | |
Разработчик | OAR Corporation |
Семейство ОС | (не применимо) |
Последняя версия |
|
Поддерживаемые платформы | ARM |
Лицензия | Модифицированная GPL |
Состояние | Активная разработка |
Веб-сайт | rtems.org (англ.) |
RTEMS (англ. Real-Time Executive for Multiprocessor Systems, рус. Исполнитель реального времени для мультипроцессорных систем) — свободная операционная система реального времени с открытым исходным кодом, разработанная для встраиваемых систем.
Акроним RTEMS происходит от слов Исполнитель реального времени для ракетных систем (англ. Real-Time Executive for Missile Systems (позже словосочетание «ракетных систем» заменили на «военных систем», англ. Military Systems)
Разработка велась с конца 1980-х под управлением OAR Corporation, совместно с Управляющим Комитетом RTEMS, в который входили представители основных пользователей системы. Доступ к новым версиям по FTP организован с начала 1993 года.
Целевые платформы[править | править код]
- ARM
- Blackfin
- Freescale ColdFire
- цифровые сигнальные процессоры Texas Instruments серий C3x/C4x
- Hitachi H8/300
- i386, Pentium и старше
- Motorola 68000
- MIPS
- Nios II
- PowerPC
- SuperH
- SPARC
- OpenRisc
Поддержка стандартов[править | править код]
RTEMS разрабатывалась с учётом различных открытых стандартов, включая POSIX и uITRON.
Программный интерфейс приложений (API, он же Classic RTEMS API) изначально основывался на спецификациях определения исполнительного интерфейса реального времени (англ. Real-Time Interface Executive Definition, англ. RTEID). Также RTEMS включает в себя порт TCP/IP-стека ОС FreeBSD и поддержку файловых систем, включая NFS и FAT.
RTEMS не предусматривает каких-либо форм управления памятью процессов, что, в терминологии POSIX, говорит о том, что система поддерживает только единое, однонитевое, многопотоковое окружение. Это отражается в том факте, что RTEMS обеспечивает почти все сервисы POSIX, кроме относящихся к распределению памяти, разветвлению процессов и общего поля памяти. RTEMS на сегодняшний день полностью соответствует POSIX Profile 52, означающему «один процесс, много потоков, файловая система» (http://www.linuxdevices.com/news/NS3992179355.html (недоступная ссылка). Архивировано 3 января 2013 года.).
Применение[править | править код]
Внедрением RTEMS во многих областях ведает сообщество EPICS, включающее множество активных разработчиков RTEMS.
RTEMS стала популярна в аэрокосмической сфере с началом своей поддержки различных микропроцессоров, используемых в этой области, таких, как, например, SPARC ERC32 и LEON, а также микропроцессоров архитектуры MIPS (Mongoose-V), архитектур Coldfire и PowerPC в военно-космическом исполнении. Сегодня RTEMS используется на борту Mars Reconnaissance Orbiter, как управляющая радиомодулем «Electra».
Распространение (лицензия)[править | править код]
Код RTEMS распространяется по модифицированной лицензии GPL, позволяющей использование частей кода в других файлах, не обязательно также использующих GPL. Эта лицензия основана на GNAT Modified General Public License (исключена особенность этой лицензии, заключающаяся в её привязке к языку программирования Ада).