MicroEmpix
MicroEmpix is the microkernel (much nearer to an exokernel) version of Empix, an operating system developed at the Computing Systems Laboratory of the Electrical & Computer Engineering department at the National Technical University of Athens.
![](../I/Empix.JPG.webp)
Empix started out in the late 80's as the laboratory's effort to write a small Unix-like modern multi-tasking operating system, intended for educational use. Borrowing most of its basic characteristics (file system, binary format, shell) from other popular operating systems of the time (Xinu, Minix, DOS). Empix is quite small (about 10,000 lines of code) and supports PC XT and AT architectures, floppy disks and hard drives (with the FAT16 limitations), as well as EGA graphics (80x25 color terminal) and the serial ports. It has a shell with some basic commands, and the ability to execute multiple processes.
MicroEmpix is far different. It's about 1,600 lines of code (over which about 1,000 devoted to serial port control), and it's a microkernel, meaning that it creates and runs processes in kernel-space, with no distinction between process-space and kernel space. What the kernel sees, the process sees and vice versa. There are no system calls to require a system call dispatcher or a similar mechanism. Kernel functions are inherent to the processes created, and there is but one user.