MicroEmpix

Last updated
MicroEmpix
Empix.JPG
The Empix shell
Developer Computing Systems Laboratory, Electrical & Computer Engineering department, National Technical University of Athens
Written in C, assembly language
OS family Unix-like
Working stateDiscontinued
Final release 2.0
Marketing target Education
Available in English
Update methodCompile from source code
Platforms x86, IBM Personal Computer (PC) XT (8088), AT (80286)
Kernel type Microkernel
Default
user interface
Command-line interface
Preceded byEmpix

MicroEmpix is the microkernel (much nearer to an exokernel) version of Empix, an operating system (OS) developed at the Computing Systems Laboratory (CSLab) of the Electrical & Computer Engineering department at the National Technical University of Athens. [1]

Empix began in the late 1980's as the laboratory's effort to write a small Unix-like modern multitasking OS, intended for educational use. Borrowing most of its basic characteristics (file system, binary format, shell) from other popular OSes of the time (Xinu, Minix, DOS). Empix is quite small (about 10,000 lines of code) and supports Intel x86 processors, in the IBM Personal Computers (PC) XT (8088), and AT (80286) architectures, floppy disks and hard disk drives (with the File Allocation Table (FAT) 16 limits), and Enhanced Graphics Adapter (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. No system calls occur to require a system call dispatcher or a similar mechanism. Kernel functions are inherent to the processes created, and there is but one user. [2]

Related Research Articles

IBM AIX Series of Unix operating systems from IBM

AIX, is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms. Originally released for the IBM RT PC RISC workstation, AIX now supports or has supported a wide variety of hardware platforms, including the IBM RS/6000 series and later POWER and PowerPC-based systems, IBM System i, System/370 mainframes, PS/2 personal computers, and the Apple Network Server.

GNU Hurd Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

Microkernel Kernel that provides fewer services than a traditional kernel

In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC).

Mach is a kernel developed at Carnegie Mellon University by Richard Rashid and Avie Tevanian to support operating system research, primarily distributed and parallel computing. Mach is often mentioned as one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach's derivatives are the basis of the operating system kernel in GNU Hurd and of Apple's XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.

Operating system Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

OpenVMS Computer operating system

OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing virtual memory-based operating system designed to support time-sharing, batch processing, transaction processing and workstation applications. It was first announced by Digital Equipment Corporation as VAX/VMS alongside the VAX-11/780 minicomputer in 1977. OpenVMS has subsequently been ported to run on DEC Alpha systems, the Itanium-based HPE Integrity Servers, and select x86-64 hardware and hypervisors. Since 2014, OpenVMS is developed and supported by a company named VMS Software Inc. (VSI).

OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and was purchased again in 2013 by its current owner Microware LP.

QNX

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. As of 2020, it is used in a variety of devices including cars and mobile phones.

L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, Portable Operating System Interface (POSIX) compliant types.

XNU

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which is the basis for the Apple TV Software, iOS, iPadOS, watchOS, and tvOS OSes. XNU is an abbreviation of X is Not Unix.

Architecture of Windows NT Overview of the architecture of the Microsoft Windows NT line of operating systems

The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, which has been designed to work with uniprocessor and symmetrical multiprocessor (SMP)-based computers. To process input/output (I/O) requests, they use packet-driven I/O, which utilizes I/O request packets (IRPs) and asynchronous I/O. Starting with Windows XP, Microsoft began making 64-bit versions of Windows available; before this, there were only 32-bit versions of these operating systems.

HelenOS

HelenOS is an operating system based on a multiserver microkernel design. The source code of HelenOS is written in C and published under the BSD-3-Clause license.

A hybrid kernel is an operating system kernel architecture that attempts to combine aspects and benefits of microkernel and monolithic kernel architectures used in computer operating systems.

Minix 3

Minix 3 is a project to create a small, high availability, high functioning Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.

SymbOS

SYmbiosis Multitasking Based Operating System (SymbOS) is a multitasking operating system for Zilog Z80-based 8-bit computer systems.

The Mac OS nanokernel is an operating system kernel serving as the basis of most PowerPC based system software versions 7 through 9 of the classic Mac OS, predating Mac OS X.

BBC Micro Series of microcomputers by Acorn

The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputers and associated peripherals designed and built by Acorn Computers in the 1980s for the BBC Computer Literacy Project. Designed with an emphasis on education, it was notable for its ruggedness, expandability, and the quality of its operating system. An accompanying 1982 television series, The Computer Programme, featuring Chris Serle learning to use the machine, was broadcast on BBC2.

Kernel (operating system) Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and has complete control over everything in the system. It is the "portion of the operating system code that is always resident in memory", and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

Genode

Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.

References

  1. "CSLab Products". Computing Systems Laboratory (CSLab) (in English and Greek). National Technical University of Athens. 2005–2006. Retrieved 8 November 2021.
  2. "The MicroEmpix Fan Site". The MicroEmpix Fan Site. Software Engineering Laboratory, National Technical University of Athens . Retrieved 8 November 2021.