Essential to the history of computing
Three of the most popular operating systems the world over are Windows, Mac, and Linux. These three operating systems receive all of the press, the two former more than the latter, and are likely the only ones you’ve heard of yourself.
What if I told you that two out of three of the most popular operating systems have actually incorporated the core philosophies of something called UNIX? These philosophies being basic concepts of a time-sharing system allowing multiple users to access a single mainframe computer at the same time.
Developed back in 1970 and designed to be a small, flexible system used exclusively by programmers, UNIX had quickly become a leading operating system for workstations. But how much do you really know about UNIX?
HDG Explains : What Is UNIX?
UNIX and UNIX-like operating systems are the most powerful and popular multi-user and multi-tasking operating systems on the market. Multiple generations of UNIX have been developed for various machines over the years including modern POSIX systems like Linux, its many variants, and Mac OS. Hard to believe something so powerful could have such humble beginnings.
Developed at Bell Telephone Laboratories, or Bell Labs, by a handful of programmers, UNIX was written in the C programming language. This allowed it to be installed on practically any computer that possessed a C compiler. This alone afforded UNIX natural portability, flexibility, and lent itself as a rather powerful option as an operating system.
On top of being inexpensive, Bell Labs distributed the operating system in its source language form, allowing anyone who got their hands on it to modify and customize it for their own purposes. This birthed dozens of different versions of UNIX in the span of a decade, running on various sites.
Bell Labs would eventually come to break up in 1984. Nevertheless, they began marketing UNIX in an attempt to define a standard version of the system. They developed something that many saw as too restrictive, one of them being Richard Stallman, responsible for the GNU project. The GNU project is the basis for the Linux we know today as it’s made up of the Linux kernel and not the UNIX kernel.
However, Linux was inspired by MINIX, which was a UNIX-like operating system created for educational purposes. This has led to a domino effect of sorts for most of the operating systems available today. GNU/Linux is descended from UNIX’s design and in turn, many operating systems today, including Android, Chrome OS, Steam OS, and a huge amount of embedded operating systems for devices, are based on Linux.
The UNIX standard
A standard did come to be, but not based on anything by AT&T. Today, the trademarked “UNIX” is owned by The Open Group. The same can be said for the Single UNIX Specification. Any operating system that uses UNIX has had to have been certified by The Open Group and conform to the Single UNIX Specification.
As illustrated by The Open Group:
For anyone interested in visiting the link in the image, here it is.
POSIX, as mentioned earlier, is a family of standards, specified by the Institute of Electrical and Electronic Engineers (IEEE). They serve to clarify and make uniform the application programming interfaces provided by UNIX-like operating systems.
This makes it so when you write a program reliant on POSIX standards, portability and functionality is made easy among UNIX’s large family of derivatives such as Linux and Mac OS. Using API or code not standardized as part of POSIX for UNIX-like operating systems will make portability to other UNIX-like systems increasingly more difficult.
What Are UNIX Programs, Systems, and Subsystems?
UNIX commands are executed on a command line interface provided by a shell. This shell is a program that will read the entered commands and either execute them itself, or pass it along to the kernel.
A “core kernel” is what the UNIX systems are built around that manages the system and the other processes. This is the core of the UNIX operating system and directly interacts with the underlying hardware to provide a set of standard services. Kernel subsystems may include process management, file management, memory management, network management and others.
A few core philosophies, including requirements like single purpose, interoperable, and working with a standardized text interface, are what UNIX programs are designed around.
When it comes to UNIX features, here is a list of a few prominent ones:
- Allows for the use of the same resources to be shared by different users on a single system.
- Provides multi-tasking, wherein each user can execute many processes at the same time.
- The first operating system written in a high-level language, making it easy to port to other machines with minimum adaptations.
- Hierarchical file structure allowing easier access and maintenance of data.
- Built-in networking functions to easily exchange information between users.
Why UNIX Matters
Aside from Windows and Windows-based systems, the bulk majority of operating systems you’ll see have philosophies based in UNIX. If you Take a look at the Mac OS X terminal or file system, you’ll notice a striking similarity to Linux. Both of which are completely different from Windows. This is because Linux and Mac OS are UNIX-like systems.
Understanding this will help you also understand how important UNIX is and has been. One of the main UNIX philosophies used today is of creating small, modular utilities to do a singular thing at an exceptional level of efficiency. Being familiar with the Mac OS Terminal will also make you familiar with the Linux Terminal and vice versa. This is UNIX in a nutshell.
UNIX-like systems rely on a single file system for programs to communicate with one another. Windows-like systems rely on DOS. This is the reason that only Windows-like systems have drive letters. All other operating systems have it so that every file on the system is part of a single directory hierarchy. Again, all thanks to UNIX philosophies.
UNIX can be seen in the architecture of operating systems such as BSD, Linux, and Mac OS, completely by design. One could say that without UNIX, there’d be no Mac OS, and quite possibly the same could be said about its competitors, Windows included.
We’re obviously being hyperbolic here. Though, you’ll have to admit that UNIX has played an important role in the development of every operating system used today. If that doesn’t illustrate the importance of UNIX and its philosophies, I’m not sure what will.