Introduction
In this essay, I try to figure out the differences between Unix, Linux, and GNU.
Unix
- Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
- Ken Thompson and Dennis Ritchie shared Turing Award (1983) for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.
- Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties from the late 1970s, leading to a variety of both academic and commercial variants of Unix from vendors such as the University of California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) and Sun Microsystems (Solaris).
BSD
- Berkeley Software Distribution (BSD) was a Unix operating system derivative developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995.
- BSD releases provided a basis for several open source development projects that are ongoing, including FreeBSD, OpenBSD, NetBSD, DragonFlyBSD, Darwin, and TrueOS, among others.
Linux kernel
- The program in a Unix-like system that allocates machine resources and talks to the hardware is called the “kernel”.
- The Linux kernel was conceived and created in 1991 by Linus Torvalds for his personal computer.
GNU
- The GNU operating system is a complete free software system, upward-compatible with Unix.
- The project to develop the GNU system is called the “GNU Project”. The GNU Project was initially conceived in 1983 by Richard Stallman.
- The name “GNU” is a recursive acronym for “GNU's Not Unix.”
- GNU has its own kernel called The Hurd, combined with GNU software to make another complete free system different with GNU/Linux.
- GNU is sponsored by Free Software Foundation (FSF) which is a nonprofit with a worldwide mission to promote computer user freedom.
GNU/Linux
- Linux is just a kernel, but GNU/Linux is a complete operating system.
- GNU added free software such as text editors and C compilers to Linux kernel to make a whole operating system GNU/Linux.
- Usually, GNU/Linux operating system is also just called Linux operating system.
- With regard to contribution to the source code, GNU software is the largest single contingent, while Linux itself contributes less.
Mach
- Mach is an operating system kernel developed at Carnegie Mellon University 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 modern operating system kernels in GNU Hurd and Apple's operating systems macOS, iOS, tvOS, and watchOS.