RTEMS

RTEMS
Изображение логотипа
Исполнитель реального времени для мультипроцессорных систем
Исполнитель реального времени для мультипроцессорных систем
Разработчик OAR Corporation
Семейство ОС (не применимо)
Последняя версия
Поддерживаемые платформы ARM[2], Nios II[2], Blackfin[вд][2], x86[2], MIPS[2], Motorola 680x0[2], Freescale ColdFire[2], PowerPC[2], H8[вд][2], SuperH[2], RISC-V[2], SPARC[2] и x86-64[3]
Лицензия Модифицированная 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 года.

Целевые платформы

[править | править код]

Поддержка стандартов

[править | править код]

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 (исключена особенность этой лицензии, заключающаяся в её привязке к языку программирования Ада).

Примечания

[править | править код]