Unix at Bell Labs: The System Behind Linux, macOS and the Cloud
Unix began in 1969 at Bell Labs with Ken Thompson and Dennis Ritchie. Learn how its ideas and the C language shaped Linux, macOS and almost every server.
Almost every server that hosts a website today runs a system that descends from, or is modelled on, Unix. The operating system was created at AT&T's Bell Laboratories starting in 1969, by a small group of programmers who wanted a comfortable environment for their own work. Its design ideas have lasted more than half a century.
From Multics to Unix
In the 1960s, Bell Labs, MIT and General Electric were jointly working on a large time-sharing system called Multics. It was ambitious, and it was complicated and late. Bell Labs withdrew from the project in 1969. Ken Thompson, one of the researchers who had worked on it, missed the interactive environment and began writing a smaller system on an old and little-used DEC PDP-7 minicomputer. Dennis Ritchie joined him soon after, along with colleagues such as Brian Kernighan and Doug McIlroy.
The name Unix was a pun on Multics, suggesting a simpler system. It was first spelled Unics, and then changed to Unix. In 1970 the group moved to a more capable PDP-11 and in return for the machine pitched the system as a text-processing tool for the Labs' patent department, which gave it its first users.
The C language
Early Unix was written in assembly language, which tied it to one kind of computer. Ritchie developed the C programming language in the early 1970s, and in 1973 the Unix kernel was rewritten in C. That was an unusual step for an operating system at the time, and it meant Unix could be moved to different hardware with relatively modest effort. Kernighan and Ritchie's book The C Programming Language, published in 1978, became the standard introduction. C remains one of the most widely used languages, and many other languages, including PHP, are implemented in it.
The Unix philosophy
Unix's lasting influence comes from a set of design habits that McIlroy and others summarised:
- Write programs that do one thing and do it well.
- Write programs that work together, using plain text as the common format.
- Treat many things as files: devices, documents and pipes use the same operations.
- Combine small tools using pipes, so the output of one command becomes the input of the next.
If you have ever typed a command that chains tools with a vertical bar, you have used an idea that McIlroy proposed in the early 1970s and that Thompson implemented.
Spreading through universities
AT&T was at the time subject to an antitrust agreement that limited its entry into the computer business, so it licensed Unix to universities at low cost, with source code. Students learned it, improved it and shared changes. The University of California, Berkeley produced the Berkeley Software Distribution (BSD), which added features such as virtual memory and, in the early 1980s, a TCP/IP implementation that helped spread networking. After AT&T was allowed to sell software commercially in the 1980s, licensing tightened, and legal disputes involving the Unix code and BSD followed in the early 1990s. These disputes were one reason why Linux, which was written from scratch, found a receptive audience.
The family tree
| Descendant or relative | Connection |
|---|---|
| BSD systems (FreeBSD, OpenBSD, NetBSD) | Direct descendants of the Berkeley work |
| macOS and iOS | Built on Darwin, which includes BSD components |
| Commercial Unix (Solaris, AIX, HP-UX) | Vendor versions based on AT&T code |
| Linux | A Unix-like system written independently, following Unix conventions |
Thompson and Ritchie received the Turing Award in 1983 for their work on Unix. Ritchie died in 2011.
What it means on your server
The concepts you meet on a Linux hosting account come straight from Unix. Files have owners and permission bits, scheduled jobs run through cron, logs are plain text files, and processes are managed through signals. Understanding a few of these ideas makes problems easier to diagnose:
- Permissions decide who can read, write or run a file, and wrong permissions are a very common source of errors on websites.
- Cron schedules recurring tasks such as backups and WordPress maintenance.
- Logs show what the web server and PHP are doing when something fails.
Why the design lasted
Unix survived because it was small enough to understand and general enough to adapt. A single person could read the early kernel and grasp how it worked, which made it a favourite for teaching and for experiments. Its text-based tools meant that scripts could automate almost any task, and system administrators still rely on this today to manage fleets of servers. Newer systems have added containers, graphical tools and orchestration layers, but underneath, the model of files, processes and pipes remains recognisably the one that Thompson and Ritchie sketched in the early 1970s.
The lesson for site owners
You don't need to be a Unix expert to run a website, but a little knowledge helps. Plesk gives you a graphical interface for file permissions, scheduled tasks and logs on every Zebra Hosting plan. If you want full command-line access to a Unix-like system, a VPS provides it, and our knowledgebase explains many of the common tasks step by step.