Find out how ICT can support biomedical and clinical researchFind out more. Managing complexity by developing new tools and processes. Managing Complexity

ERTOS Software

ERTOS (and its UNSW-based predecessor DiSy) has developed a number of software packages that are released as open source. This includes operating system (OS) kernels, OS personalities for microkernels, and OS ports and development tools.

These pages are a starting point for downloading the various packages and systems. General information about these packages and systems can be found in our Research pages. We recommend that first-time visitors check out our newcomers page to get an idea of what to expect from our software.

Iguana

embedded systems framework components

Iguana forms the core of our embedded operating systems. It provides basic services, such as protection, memory management and naming, that are required in almost every system.

Go ahead and download the latest version of Iguana.

L4

L4 forms the base of most of our work. It is a state-of-the-art, high-performance microkernel. Our version, called NICTA::Pistachio-embedded, implements the NICTA N1 API, which is specifically aimed at the requirements of embedded systems, in particular small size and high performance.

Download the latest version of NICTA::Pistachio-embedded, or see it in action in the Iguana Project.

Kenge

Kenge is our framework for building L4-based systems. It is structured as an extensible set of projects, consisting mostly of libraries and services (but also including some applications), supported by a build system. Iguana is a Kenge project.

The Kenge build system can be seen in action in the Iguana Project.

Wombat

Wombat is a complete para-virtualized Linux kernel running de-privileged (i.e., in user mode) on top of Iguana. It is based on the para-virtualisation of Linux, which means that we introduced L4 as a new architecture that Linux can run on. Contrary to most other para-virtualised Linux systems, Wombat is highly portable and presently runs on x86, ARM and MIPS. Performance benchmarks show Wombat performs very well compared to native Linux, and even out performs it in some benchmarks.

Wombat is available as part of the Iguana Project.

Magpie

Magpie is an IDL compiler, meaning a program which generates the message-passing stub code required to invoke component interfaces specified in an interface-definition language (IDL). Magpie differs from other IDL compilers by its design for extensibility, meaning that it is not tied to a particular IDL. At present it supports a modified CORBA syntax. It produces stub code either in C or optimised ARM assembler.

Magpie is used heavily in the Iguana Project, and we recommend that you use it in your own projects too, rather than using explicit L4 IPC system calls and parameter marshalling.

Download the latest version of Magpie.

Linux-on-Linux

An offshoot of the vNUMA project, Linux-On-Linux is a User-mode Linux workalike for IA64.

Find more details and download it from the Virtualisation pages.

Fast Address-Space Switching

ARM7 and ARM9 cores feature virtually-addressed caches and TLBs not tagged with an address-space identifier. As a consequence, most operating systems flush the caches and TLB on every context switch, which bears a very high cost.

Fast address-space switching is a technique which minimises cache flushes, and can result in reduction of context-switching costs by orders of magnitude. This technique is implemented in NICTA::Pistachio-embedded. For Linux, the patches have been integrated into Snapgear's 2.4.x Linux kernel.

Sulima

Sulima is an instruction-set-architecture simulator for the MIPS64 architecture. It was developed at UNSW by Patryk Zadarnowski and has since been maintained at ERTOS. It specifically supports the U4600 platform (based on an R4700 processor) which we use for most MIPS-based development. It is also used for teaching at UNSW.

The latest version of Sulima is available for download.

Benchmarks

Performance evaluation and tuning is an inherent part of our work, and often no suitable standard benchmarks are available. People then tend to develop ad-hoc benchmarks, some of which develop into generally useful tools.

We offer some of our better-developed benchmark suites for download.

Version Control Repository Access

For those with more experience, you may want to stay up to date with the latest NICTA/ERTOS - L4/Iguana source code. See the version control howto for more details.