Prex 0.4.1 review

by on

The Prex project is an open source initiative to provide a portable real-time operating system for embedded systems. This project

License: BSD License
File size: 0K
Developer: Kohsuke Ohtani
0 stars award from

The Prex project is an open source initiative to provide a portable real-time operating system for embedded systems.

This project originally started to make a royalty-free OS for mobile phones and PDA in order to spread open source movement to such proprietary OS field. And now, the project target has been shifted to the wider area of real-time and embedded systems.

Prex is designed specifically for small memory footprint platforms. It is written in C language based on traditional micro-kernel architecture. The Prex kernel provides only fundamental features for task, thread, memory, ipc, exception, and synchronization.

The other basic OS functions, process, file system, application loading, and networking, are provided by the user mode servers. In addition, Prex provides a POSIX emulation layer in order to reuse the existing applications.

Prex is an open source royalty-free OS for mobile phones and PDA.

This design allows system to perform both of the native real-time task and the generic *NIX process simultaneously without degrading the real-time performance. Furthermore, it helps the platform designer to construct OS by choosing suitable server tasks for their target requisition.

Prex is royalty-free software released under BSD License

Here are some key features of "Prex":
Task and thread control: preemptive priority scheduling with 256 priority levels
Memory management: virtual address mapping, shared memory, memory protection, with MMU
IPC: synchronous message passing among threads, object name space in kernel
Exception: framework for POSIX signal emulation
Synchronization: semaphores, condition variables, and mutexes with priority inheritance
Timers: sleep timers, alarm timers
Interrupt: nested interrupt service routines, and prioritized interrupt service threads
Device I/O: minimum synchronous I/O interface
Real-time: low interrupt latency, high resolution timers, periodic timers, and scheduling quantum control
Cross platform portability: well defined architecture dependent layer and driver-kernel interface
Modular design: OS servers and BSP module separated from kernel
Small memory footprint: kernel size < 25k bytes
Low power consumption: control of processor idle state, support of DVS (Dynamic Voltage Scaling)
Disk-less: on-core kernel, no memory page swapping
Instantly available: minimal OS boot time, system suspend/resume, kernel warm restart
File systems: VFS framework, RAM/FAT/Flash file systems optimized for embedded systems
Networking: TCP/IP stack, BSD socket interface
POSIX emulation: signal, process, file I/O, real-time extensions, pthread, etc
Debug: event logging, GDB remote debug

What's New in This Release:
This release adds kernel support for ELF task relocation with NOMMU system.
Some kernel bugfixes are also included.

Prex 0.4.1 keywords