What is ROME?
ROME is a lightweight, modular, multitasking, embedded operating system which has been
developed and used for multiple research projects within the Computer &
Communications Research Laboratory (CCRL) of NEC USA, Inc. in Princeton, NJ.
Why is ROME useful?
ROME was designed to manage high speed
data streams within a multimedia environment. The system is highly modular, with functionality split between multiple
processes. To ensure a high throughput with minimal overhead ROME provides a zero copy architecture
where pointer references to data are passed around instead of data being copied.
The goal of this approach is to maximize the utilization of a given hardware configuration.
Also, the memory footprint of a ROME system can be extremely
small. For example, the image file of a MIPS based minimal demo system with 3
running processes was smaller than 16KB. This makes ROME suitable for really
deeply embedded applications.
Where does ROME run?
ROME is as platform independent as possible -
only a few lines of ROME code are written in assembler, for example parts of the CPU
dependent plug-ins. Currently the following
processor types are supported:
Intel x86 series
Intel i960 series
MIPS r4000 series
ROME is designed to be highly portable. Porting ROME to another processor type (such as Alpha,
StrongARM) should be fairly easy. See the
ROME
Porting Guide for more information.
Other chipset support has been put into separate modules. It is
usually quite easy to create a new module for a certain chipset (e.g. a PCI
controller) and
integrate it into a ROME system.
What can I expect?
As mentioned before, ROME has been developed in a research
environment. Most of the ROME components have been added to the system on a
"need to have" basis, usually for a particular hardware configuration
or system setup.
Since it was designed for embedded systems, it is not a
"general" all-purpose OS. ROME is not going to download, compile
and run like a Linux kernel. However, the Programmer's
Guide will help you build a ROME system for your application.
Also, the ROME distribution features the ROME Target Builder, a configuration GUI that make it very easy to create and configure ROME projects.
By using the documentation,
and with a little patience, you should be able to make ROME work for your project.
Where can I get ROME? What does it cost?
ROME OS has been released under the GNU
General Public License (GPL). Therefore, ROME is FREE.
You can download ROME from this web site. Make sure
to get the documentation as well.