Open Source
Linux.SYS-CON.com Exclusive: A Whirlwind Tour Of Open-Source Operating Systems
Some Are Famous, Some Lesser Known
Jul. 17, 2005 03:00 PM
The enormous success of GNU/Linux as an operating system and as an open source project has captured the imagination of developers, IT staffers, business people, journalists, educators, and even politicians. Linux is so visible, its brand and allure so strong, that most people forget or never notice the existence of an array of other open source OSes. Some of these platforms "compete" with Linux for market share and popular attention (like BSD and OpenSolaris), some complement Linux with additional capabilities or virtualize aspects of its operation (like RTLinuxFree and T-Kernel), while others target embedded or vertical applications (like eCOS and RTEMS) with a minimum of overlap with our TuxOS.
This article offers readers a survey of open source operating systems, some famous, some lesser known. Please pardon me if I have omitted your favorite free kernel or cherished RTOS. In fact, I'm always eager to be educated, so e-mail me with additions or corrections so I can build my list of legacy or lesser-known OSes, kernels, and executives.
BSD
The venerable Berkeley Software Distribution side of the Unix family is split into four branches - OpenBSD, NetBSD, FreeBSD, and BSD/OS. The three open branches continue in active development and broad deployment: NetBSD, OpenBSD, and FreeBSD, and today power many Web servers and even embedded applications (primarily networking). The fourth, BSD/OS, a commercial, semi-proprietary offshoot, met its demise when Wind River Systems (of VxWorks fame) acquired BSDi and subsequently brought its Unix product line to end-of-life.
BSD-family Unix OSes enjoy good reputations for performance and security, but for various reasons don't enjoy the large ubiquitous developer communities that Linux does. BSD OSes have been ported to a vast array of 16, 32, and 64-bit platforms, with the number of NetBSD ports rivaling Linux and also TRON for the title of "most ported." BSD Unixes also form the basis for a series of further-derived OSes, like Juniper Networks JUNOS and the Mac OS X. The Berkeley networking stack, most commonly BSDlite 4.4, also forms the basis for a large portion of TCP/IP networking functionality in other OSes, and strongly influences the Linux IP stack.
BSD is licensed under the BSD Copyright (license), which has recently gained the OS family new adherents among GPL-averse commercial interests. To learn more about BSD operating systems, visit www.bsd.org, a site that will also direct you to the homes of each BSD variant.
Darwin
Most users of Apple OS X probably don't know that their beloved Macintosh operating system is based on BSD 4.4 and Mach 3.0. Those who do recognize BSD at the heart of OS X and who venture to open shells and use the rich Unix command set and capabilities may not realize that Darwin is an open project of its own, and that they can contribute to its development and debugging. Learn about the Darwin project at http://developer.apple.com/darwin/.
eCOS
This open source real-time OS originated at Cygnus Software and today is part of the corpus of software under the Red Hat banner. eCOS offers a variety of scheduling options and IPC services and boasts POSIX APIs. eCOS supports a wide range of CPUs of both the embedded (PowerPC, ARM, MIPS, etc.) and enterprise variety (IA-32, x86). eCOS sits at the heart of the RedBoot monitor, so you may very well have used eCOS to boot Linux or another OS on an Intel XScale or other embedded system board without knowing it. Red Hat no longer supports eCOS as a product, which is maintained as a community project and licensed under a "GPL-compatible Free Software License," derived from the GPL with an explicit exception for static linking of user programs to the eCOS kernel. The eCOS copyright is in the process of being transferred to the Free Software Foundation. Visit http://sources.redhat.com/ecos/ for more information.
GNU Hurd
Richard Stallman's original GNU project had as its goal the creation of a 100% free Unix operating system replacement. In the early 1990s, the GNU system was almost complete, lacking only a kernel. The GNU Hurd was going to be a collection of server processes running on top of the Mach microkernel, which at the time was not a piece of free software. Before a free Mach kernel actually appeared, the Linux kernel came onto the scene, and began its ascent from a small open source project to its current strong and ubiquitous market position. Today, the GNU/Linux operating system incorporates most of the GNU system intended to work with Hurd, and gives the Linux kernel its familiar shells, utilities, and development tools. Find out more about the GNU system, Hurd (a.k.a. Alix), at www.gnu.org/gnu/thegnuproject.html.
ITRON and µITRON
TRON (The Real-time Os Nucleus) embedded RTOSes form a corpus of software that stems from the work of Dr. Ken Sakamura of Tokyo University in Japan. Since its inception almost two decades ago, the ITRON specification has been adopted by many leading Japanese semiconductor suppliers and device OEMs, and has been implemented for a range of processors and found a diverse application set. The µITRON kernel, in particular, continues to power single-chip low-end MCUs that otherwise could not use an OS due to the memory and execution speed constraints.
ITRON is not an open source OS per se - it's a shared operating system specification with a very large number of implementations (including open source versions) for a range of microprocessors, including familiar embedded CPUs like Motorola 68000 and PowerPC, ARM, and MIPS, as well as Japanese market-focused silicon like Fujitsu SPARClite, Hitachi H8300, H8/500 and SuperH, Mitsubishi M32 and 7700, NEC 78K, and legacy TRON processors. Even with strong competition from embedded Linux and RTOSes like VxWorks, ITRON platforms have held a dominant position in the Japanese market for over a decade. To learn more about ITRON, visit www.sakamura-lab.org/TRON/ITRON/home-e.html and www.tron.org/index-e.html.
As successors to TRON, T-Kernel and T-Engine together form an open RTOS definition and development environment. T-Engine Project standardizes and abstracts hardware interfaces and T-Kernel provides the definition of a TRON-compatible RTOS. T-Kernel architecture is designed to be virtual, with a goal of running other middleware (e.g., T-Java) and OSes (T-Linux and even Microsoft Windows) above it. To learn more, visit www.t-engine.org.
Mach
The Mach kernel and operating system got its start in the mid 1980s as a prototypical microkernel - that is, a collection of "pico-servers" that provide services to each other and to user applications. Mach grew to include interprocess communication among kernel-level services and for the rest of the system. It also accrued virtual memory support in the kernel and for user-level servers. Later, Mach saw the addition of lightweight kernel threads, multiprocessing, and support for Unix-style APIs.
The Mach kernel also formed the basis for a number of other OSes, including GNU Hurd, Mk-Linux, Macintosh MachTen, NeXT OS, Omron Luna, DEC OSF/1 for DEC Alpha, and IBM's OS/2 for RS6000 machines. While variously proprietary in its earlier instantiations, Mach is now an open source OS under the auspices of the Open Software Foundation. To learn more about Mach, visit the CMU Mach home page at www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html and the Mach4 page at the University of Utah at www.cs.utah.edu/flux/mach4/html/Mach4-proj.html. Linux on Macintosh enthusiasts should check out www.mach-linux.org.
About Bill WeinbergBill Weinberg brings over 18 years embedded and open systems experience
to his role as Open Source Architecture Specialist and Linux Evangelist
at the Open Source Development Labs, where he supports initiatives for
meeting developer and end-user requirements for Carrier-Grade, Data
Center and Desktop Linux.
Prior to the OSDL, Bill was a founding team-member at MontaVista
Software, and helped establish Linux as a favored platform for next-
generation intelligent embedded device development. In the course of
his career, Bill also worked at Lynx Real-Time Systems, Acer Computer,
and Microtec Research.
Today Bill is known for his writing and speaking on topics that include
Linux business issues, Open Source licensing, embedded application
porting/migration, and handheld applications. He pens columns in
LinuxUser and Developer, and Embedded Computing Design, and is a
contributor to periodicals like E.E.Times, Linux Journal and Elektronik.
Bill is also a featured speaker at conferences like Linux World, Real-
time Computing, and Embedded Systems.
More info at http://www.linuxpundit.com