[description] [textbook] [timeline] [xinu lab at Purdue] [experimenting with xinu] [code for download] [xinu in industry] [xinu in universities] [what others are saying] [contact us]


Description

XINU stands for Xinu Is Not Unix -- although it shares concepts and even names with Unix, the internal design differs completely. Xinu is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The small size makes Xinu suitable for embedded environments.

Textbook

A completely revised and reorganized version of textbook is now available. D. Comer, Operating System Design - The Xinu Approach, Linksys Version, CRC Press, 2011, ISBN 978-1-4398-8109-5.

Xinu Timeline

1979-80
1980-81 1981-82 1982-83 1983-85 1985-86 1985- 1986 1987 1989 1988-90 1990-91 1992 1990s 2008 2010-11 2011
Digital Equipment Corporation donates LSI-11 computers and project starts to explore how to integrate network protocol software into an operating system

The Xinu Lab at Purdue

The Xinu lab located in the Computer Science Department at Purdue University is used for both teaching and research. The lab is divided into a set of front-end machines (standard workstations running Linux) and a set of back-end machines (machines that are only used to download and test code). Each of the back-end machines has three connections: a connection to an Ethernet switch that provides access to the Internet, a connection to a rebooter device that can reboot the machine when needed, and a connection from the console serial port to a multiplexer. Software in the lab automates back-end allocation, download, and console interaction, making it easy for a student to compile an operating system image, allocate an unused back-end, establish a window that connects to the back-end console port, download the compiled image into the memory of the back-end, and run the image. The lab makes it easy for students to experiment with operating systems and protocol software.

Experimenting With Xinu

There are several versions of Xinu available for platforms such as an x86, MIPS, and ARM.

In our lab, we use two computers for Xinu: a conventional computer used to compile a Xinu image, and second,, otherwise idle, back-end computer, into which we download and run the image. The current version of the Xinu textbook uses a Linksys E2100L router as a backend. The E2100L is relatively inexpensive, and commercially available. The E2100L contains firmware that can download an image from a TFTP server and place the image in memory. Thus, one can purchase an E2100L and plugsh it into an Ethernet switch along with a PC running Linux. THe Linux computer must run a TFTP server, which allows the E2100L to download an image and run it.

If you do not wish to purchase an E2100L (or are relunctant to hook up hardware), we have a version of Xinu that runs in a Virtual Machine (VM) environment, which means it can run on a conventional computer with no extra hardware. In fact, there are two VM versions: one fro VMWare and one for Virtual Box. The Virtual Box platform is especially attractive because it is available for free download.

Code Available For Download:

Xinu in Industry

If your company has used Xinu in the past or is using Xinu at present, send a note to xinu-info@cs.purdue.edu and we will include your company in the list below.

Xinu in Universities

If your university has used Xinu in the past or is using Xinu at present, send a note to xinu-info@cs.purdue.edu and we will include your university in the list below.

What Others Are Saying

        "The Xinu book is the best operating systems book on the market becuase it removes the black magic and explains how to build an OS from the ground up. It's not like other books I tried to read -- they gave me a headache. I have already started telling friends how great it is."

-- David Bafumba-Lokilo, Ecole Polytechnique
de Montreal