Prex Home / Browse Source - Prex Version: 0.9.0


/* [<][>][^][v][top][bottom][index][help] */

                       Prex Operating System

What is Prex?

The Prex project is an open source initiative to provide a portable
real-time operating system for embedded systems. Prex is designed
specifically for small footprint platforms. It is written in C language
from scratch based on a traditional micro kernel architecture.

The Prex kernel provides only fundamental features for task, thread, memory,
ipc, exception, and synchronization. The other basic OS functions such
like process, file system, application loading, and networking are provided
by user mode servers on top of the Prex kernel. This design allows systems
to execute both of native real-time task and generic UNIX process
simultaneously, without degrading the real-time performance. Futhermore, it
helps the platform designer to construct OS by choosing appropriate server
tasks for their target requirements.


Prex is royalty-free software released under BSD License.

Current Port

Available port (arch-platform):

  - x86-pc
  - arm-gba
  - arm-integrator
  - ppc-prep

How to Build?

Step 1: Prepare Toolchain

  The following packages are required for compiling Prex.
  - GCC 2.95.3 or later
  - GNU Binutils 2.15 or later
  - GNU Make 3.81 or later

  The toolchain should be built appropriately for your target
  architecture to cross-compile Prex.

Step 2: Prepare Sources

  Unpack the sources and move to the top level directory of the source tree.

  $ cd /usr/src
  $ tar zxvf prex-X.X.X.tar.gz
  $ cd prex-X.X.X

Step 3: Configure

  Setup target architecture and platform.
  The following sample shows for x86-pc target.

  $ ./configure --target=x86-pc

  If you cross compile Prex from a different architecture and/or OS,
  you have to set --cross-compile option. Please check other options
  with --help option for 'configure'.

Step 4: Build

  Run make (and pray :)

  $ make

Note) If you want to run 'make' at the subdirectory, you have to set the
      SRCDIR as follow.

  $ export SRCDIR=/usr/src/prex-X.X.X

Directory Structure

Prex source code is divided into the following directories:

 /conf                  System configuration files

 /mk                    Common Makefiles

 /include               Common include files

 /sys                   Prex microkernel
        /include        Kernel headers
        /lib            Common kernel library
        /ipc            Inter process communication support
        /kern           Kernel main code
        /mem            Memory management code
        /sync           Synchronize related code

 /bsp                   Board support package
        /boot           Boot loader
        /drv            Device driver module
        /hal            Hardware abstraction layer

 /usr                   User mode programs
        /arch           Architecture dependent code
        /bin            User command binaries
        /include        Header files
        /lib            User libraries
        /server         System servers
        /sbin           System utilities
        /test           Function test programs
        /sample         Sample programs

Project Website

More information about Prex can be found at:


  Kohsuke Ohtani <>

  Have fun! ;)

/* [<][>][^][v][top][bottom][index][help] */