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.
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.