What is RGMP
RGMP stands for RTOS and GPOS on Multi-Processor. This is a project for running GPOS and RTOS simultaneously on multi-processor platforms. You can port your favorite RTOS to RGMP together with an unmodified Linux to form a hybrid operating system. This makes your application able to use both RTOS and GPOS feathures.
Now there are two projects, rgmp and yuqix.
rgmp is a framework for porting and running any RTOS together with Linux. It includes Linux side modules for loading, booting, communicating and controlling RTOS. It also has some libraries to be linked with RTOS generating a binary image which can be loaded and running on another CPU. Now rgmp supports x86 and OMAP4430 ARM SMP hardware platforms, many version of Linux kernels. Two RTOS have been ported to rgmp: NuttX and UCOS.
yuqix is a fully functional RTOS kernel designed for high performance processors like x86 and arm with MMU support. It is also integrated into the rgmp framework benifiting from the Linux service. Now it has features different from common RTOS:
- User/kernel space and virtual memory management.
- Seperated user application files which can be loaded dynamically.
- There kinds of tasks: kernel thread, user thread and user process.
- Linux side file server based file system.
- High resolution timer instead of tick-based timer.
- UNIX like API.
- [2012/11/3] RGMP 0.4.0 has been released. This release restructured the source tree merging YUQIX and RGMP so that RGMP benifits some YUQIX new features like restrict memory mapping and Linux file system access. And RGMP can now support C++ RTOS kernel and TLS.
- [2012/9/25] Some planed features have been added to YUQIX, including signal system and high resolution timer. Now I'll work on back port some YUQIX functions to RGMP and RGMP-NUTTX ROS client porting.
- [2012/7/7] Some YUQIX documents are available.
- [2011/12/22] UCOS RGMP port example is available here.
- [2011/12/22] RGMP version 0.3.1 has been released. This release optimized source file tree and add Linux kernel 3.0.0 support which is used in Ubuntu 11.10.
- [2011/11/26] I've put the basic kernel source code on the web, it has user/kernel space and file system. It is only tested to be functional but not stable. I'll work on it for a long time to improve it. Now I call it "YUQIX".
- [2011/10/14] I begin to develop a fully functional RTOS kernel designed for high performance processors like x86 and arm with MMU support. It will work well with the RGMP soft stack and provide good programming libs like libc and debug support.
- [2011/10/14] RGMP source code has been moved to git repository.
- [2011/8/4] RGMP version 0.3.0 has been released. This release mainly focus on multi-platform support. Now RGMP support OMAP4430 (arm) and x86 PC architecture.
- [2011/6/23] RTOS NuttX 6.5 compatible with RGMP 0.2 has been released.
- [2011/6/7] RGMP version 0.2.0 has been released. New features include:
- Linux kernel 2.6.38 support
- PCI-MSI support
- MP table PCI IRQ number fetching.
- [2011/6/7] RTOS NuttX 6.4 compatible with RGMP 0.1 has been released.
- [2011/5/16] RTOS NuttX 6.3 compatible with RGMP 0.1 has been released.
- [2011/5/15] RGMP version 0.1.0 has been released.
How to get the latest source code
git clone git://git.code.sf.net/p/rgmp/yuqix rgmp-yuqix
Our discussion mailing list:
The RGMP source code uses BSD license, but the source code under gpos/ directory use GPL for being compatiable with Linux kernel.
How to join
If you are interested in this project, connect yuq to join: