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).
Evolution of Unix and Unix-like systems.png
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.