What Does “Unix-Like” Mean?
There is so much tech terminology and so little time – so it helps quite a bit when we can think of things within categories. In the case of operating systems, there are essentially two. There are the ones from Microsoft, descendants of Windows NT (for “new technology”). On the other side are basically the remainder of options. These other systems – such as Chrome OS, Orbis OS, iOS, Mac OS X, Android, and Linux – all have a code structure that is loosely described as “Unix-like.”
UNIX & its many offspring
We can start to understand the term Unix-like by looking at Unix construction and the operating systems created with it as their basis. Coders at Bell Labs, an AT&T facility, created Unix in 1969; Ken Thompson is the specific person credited with its development by the Linux Information Project.
Many technologists and organizations have developed operating systems from Unix over the years. However, there are generally two branches of Unix’s “next of kin.”
One branch was within education. The chief example is the Unix-like, open source OS Berkeley Software Distribution (BSD). This system is built into such further offshoots as FreeBSD, NetBSD, and OpenBSD. In fact, BSD was used to create NeXTStep, which was in turn used to design Mac OS X (from which iOS was developed). In fact, the operating system of the PlayStation 4, Orbis OS, was coded with BSD as its foundation.
The GNU project, an effort launched by Richard Stallman to aid in making licensing terms loose enough to facilitate free use of programs, was inspired by the tightening of language within AT&T’s Unix agreement. MINIX was a Unix-like system that was intended for use within academia, and Linux is a descendant of MINIX. When we use a Linux OX now, we are actually using GNU/Linux, notes Chris Hoffman in How-To Geek – because these systems combine a Linux kernel with numerous GNU utilities.
GNU/Linux (otherwise, and commonly known simple as Linux) is not a straight offshoot of BSD. However, it is similar because it uses Unix as its initial structure and also grew out of scholarly circles. Many different operating systems – notably Android, Steam OS, and Chrome OS but also ones used on many devices – are rooted in Linux.
The above systems were all a single side of development from the original code, the educational offshoots. The other side was commercial systems that were created, with many different companies wanting to promote their own version. These systems are now much less prevalent, but they have included AT&T UNIX, HP-UX, IBM-AIX, SCO UnixWare, SGI IRIX, and Solaris.
What do we mean by “Unix-like”?
What does the term Unix-like mean specifically, though? It is a blanket way to refer to many different operating systems that all share the same common structure – as opposed to the one used by Microsoft. Unix-like also grew from confusion and debate over what should be considered a Unix system.
When we call an OS “Unix-like,” that generally will mean that the source code of the OS (the version of the software as it was originally coded) is directly traceable to, has similar properties to, and is explicitly based on Unix. Examples are Compaq’s True64, Solaris, IRIX, HP-UX, and IBM’s AIX.
The umbrella-term Unix-like also refers to clones of Unix. A clone is software that performs in a similar way to other software but does not have the same source code.
The way that the prominent Unix clones act is so, well, er, Unix-like that often computer scientists and expert technicians simply refer to them as Unix. These systems should be understood as clones, though, and not Unix-based but certainly Unix-like. These clones include the BSDs (Darwin, FreeBSD, NetBSD, OpenBSD) Linux (in all its distros), MINIX, Cygwin, and QNX.
For the most part, a Unlike-like OS will have most of the additions and elaborations that were appended to the original at the University of California – Berkeley. These features, often called the Berkeley extensions, contains the vi text editor, virtual memory (enabling simulations of extra memory by the hard disk drive), transmission control protocol / internet protocol (TCP/IP, the primary protocol for the internet and local networking), and C shell (csh). Since these capabilities from the Berkeley extensions are so core to the functioning of Unix-like systems, people have sometimes posited that modern systems of this type should be called “Unix/Berkeley” (or “Unix-Berkeley-like”?).
Now let’s look at BSD directly: this OS, short for Berkeley Software Distribution, is a Unix clone that was written at the University of California in the 70s and early 80s. Generally BSD and its offshoots are called Unix; actually, one version was even called BSD UNIX 4.0 (October 1980).
Controversy related to the UNIX name
UNIX is the initial name of the operating system that was created at Bell Labs – that part we know and is indisputable. The way that the term has been understood since that point has become much fuzzier. UNIX became a trademark, and an association created in 1996, called the Open Group, eventually acquired ownership of it. The Open Group states that operating systems should only be called UNIX if they agree with the body’s Single UNIX Specification and pay them a sizable fee. In this sense, it is possible that a system could be called UNIX legally even if were dissimilar to the original and did not contain any of its source code.
Apple has questioned the legitimacy of the UNIX trademark – claiming that the term is generic and should not be protected by the government. Apple actually has stated on its website, “Beneath the surface of Mac OS X lies an industrial-strength UNIX foundation.”
The Open Group and Apple have been sparring over usage in this manner.
A couple key UNIX or Unix-like characteristics
Key design characteristics of the original version of Unix are shared by today’s modern operating systems.
One of the basic centerpieces of the way Unix is constructed is that you have small utilities that are fine-tuned to perform single tasks. When you interact with the OS, you are able to leverage these tools in part by blending them, via pipes or otherwise, to carry out more sophisticated activities. By elaborating on modules in this manner and combining utilities, shell scripts also become simpler.
Another aspect of Unix that makes it special is that there is just one file system through which software is able to exchange data and interact. All components of the computing ecosystem become represented by files within this model – including special files with system details and even hardware. The contrast to this architecture is the drive letters of Windows (C, D, etc.), a format that Microsoft brought over from DOS. In contrast to breaking everything up into drives, there is one unified directory hierarchy on Unix.
What does it mean to have full root access?
You will sometimes hear coders and others discussing infrastructure talk about full root access. Full root access means that you have complete superuser privileges over your system – administrative-level control. The root user is unique to Linux and other Unix-like operating systems.