The RTEMS Project
What is RTEMS? RTEMS is an open source Real Time Operating System (RTOS) that supports open standard application programming interfaces (API) such as POSIX. RTEMS stands for Real-Time Executive for Multiprocessor Systems. It is used in space flight, medical, networking and many more embedded devices. RTEMS currently supports 18 processor architectures and approximately 200 Board support packages.
Supported by the community
Need help? Our strong community of users and developers are always around to answer questions
Find usOpen Development
We host our own GitLab, Mailing lists and you can find us on Discord
Engage with the ProjectYou are in control
The entire RTEMS development cycle is public with all source. Long term maintenance is made easy and reliable.
See how30 years
RTEMS has been an open source project for 30 years. Long term support. Long term availability.
Development siteBuild where you need
RTEMS actively maintains a working toolchain for Windows, Linux, OS X and FreeBSD
See our toolchainFeatures
RTEMS comes with a complete set of features to help you with your application.
Kernel
- Multitasking capabilities
- Homogeneous and heterogeneous multiprocessor systems
- Event-driven, priority-based pre-emptive scheduling
- Optional rate-monotonic scheduling
- Intertask communication and synchronization
- Priority inheritance
- Responsive interrupt management
- Dynamic memory allocation
- High level of user configurability
- Portable to many target environments
API
- POSIX 1003.1b API including threads
- RTEID/ORKID based Classic API (similar to pSOS+) from the VMEbus Industry Trade Association.
- TCP/IP including BSD Sockets
- uITRON 3.0 API
- GNU Toolset Supports Multiple Language Standards
- ISO/ANSI C
- ISO/ANSI C++ including Standard Template Library
- Ada with GNAT/RTEMS
Networking
- High performance port of FreeBSD TCP/IP stack
- UDP
- ICMP
- TCP
- DHCP
- RARP
- BOOTP
- PPP
Device Driver
- Block Device Cache
- Device Only File System
- ATA Block Driver
File System
- In-memory Filesystem (IMFS)
- Mini-IMFS (reduced services and footprint)
- Device File System (lowest memory Filesystem, devices only)
- MS-DOS FAT32
- MS-DOS FAT16
- MS-DOS FAT12
- RTEMS File System (RFS)
- TFTP client Filesystem
- NFS client
Block Devices
- ATA Disk Drives
- RAM Disk
- Volatile Disk
- Flash Disk
- SPI SD Card
Debugging
- GNU debugger (gdb)
- DDD GUI interface to gdb
- Thread aware
- Debug over Ethernet
- Debug over serial port
Clients
- Domain Name Service (DNS) client
- Trivial FTP (TFTP) client
- Network Filesystem System (NFS) client
Servers
- FTP server (FTPD)
- Web Server (HTTPD)
- Telnet Server (Telnetd)
- Sun Remote Procedure Call (RPC)
- Sun eXternal Data Representation (XDR)
- CORBA
- PPPD
Latest News
RTEMS Accepted in Google Summer of Code 2025
We are pleased to announce that the RTEMS Project has been accepted into the 2025 Edition of the Google Summer of Code. This is a great program and we look forward to students and other new contributors taking part.
With the evolution of the program, it is highly recommended that anyone interested read the GSoC Help, particularly the FAQ. Projects can be of varying sizes which is a noticeable change from years past.
Potential projects contains the list of projects we have identified so far. If you have a project idea, feel free to discuss it with potential mentors on the RTEMS Users Forum or in the #gsoc channel on the RTEMS Discord server.
Mentors are always needed and appreciated. You don’t have to be an RTEMS expert to be helpful to a student. Often just being a regular RTEMS user who has already done some work is enough to be able to help someone newer. Also you may have experience in some domain or with some hardware that does make you the right person to mentor. Please let myself or Gedare know if you want to mentor or just have questions.
But, of course, this would not work without students and new contributors. Please recruit those who might enjoy a GSoC project.
More news...