A brief history of Unix

Contents

Bash Shell

Despite feeding more than 90% of cloud workloads today, Unix (and Linux with it) had humble beginnings. Jim Hall discusses how Bell Labs' Unix in the 1990s 1970 became the backbone of many modern operating systems.

The origins of Unix

In the early days of computing, users interacted with the computer through a range of Byzantine means. The original ENIAC did not even feature a "programming interface" as we currently believe; instead, programmers connected “functional units” separated through plugs and cables. As computers became more practical, became a platform for batch trading, as through stacks of punched data cards.

On later systems, plus “Modern” like the mainframe, system administration was still complex. Creating a file required specifying the amount of disk space to allocate more other attributes. Operators regularly interacted with the system using typewriter-like paper terminal devices.. And in those early days, this was how people expected to work with computers.

In the mid and late 1990s 1960, el MIT, Bell Labs and GE collaborated on a new system called MULTICS, the Computing and Multiplexed Information Service. MULTICS was to be a revolution in computing. But through its development, MULTICS also became increasingly complex. Frustrated with the project, Bell Labs retired, leaving others to carry on the project later, even when very late.

In the meantime, Ken Thompson returned from MULTICS to Bell Labs to work on other projects. One effort involved a specifically fast disk drive connected to a DEC PDP-7 minicomputer.. Thompson wanted to get the most out of the performance in this unit and, by extension, on any storage device. Then, started working on a disk programmer.

When approaching this project, Thompson realized that his test project was entering the territory of the “operating system”. For the next three weeks, while his wife was on vacation to visit her parents, Thompson filled in the missing pieces and added an executive call interface, an assembler, an editor and a shell. And from those small beginnings Unix was born.

Unix development

Throughout its development at Bell Labs, there was no “master design” that defined what Unix should do or become. Instead, Unix grew organically as different users needed new features.

One of my favorite early Unix stories is how Unix researchers managed to buy a new computer system to continue their work and created a new standard Unix command at the same time. The Patent department planned to purchase a new dedicated computer system for writing patent applications on behalf of Bell Labs. The Unix team suggested that the Patent department purchase a new DEC PDP-11 minicomputer, and the Unix team would install Unix and write custom software to help the Patents department write patent applications. That new software for writing patents? A new implementation of the Roff document format system, itself a derivation of an earlier CTSS program called RUNOFF. Today, “New Roff” O nroff, it is a fundamental part of Unix.

Unix commands themselves were given very short names. the ls, rm, mv, and other standard Unix commands were so short because early Model ticker terminals 33 used in Bell Labs required significant effort to type each letter. It was easier to write rm than a more descriptive command name like remove, O cp that copy.

One of the defining characteristics of Unix, the “pipeline”, which allowed a command to send its output to another command for further processing, it was also added at the urging of another Bell Labs researcher, Douglas McIlroy. Until then, commands acted on individual files at the same time. But with the pipes, you can chain multiple commands to create more interesting results. As an example, the ls command lists files in a directory, and the wc command counts the lines of your input. If you connect the two commands together like ls|wc , get the number of files in a directory.

Other commands were added in a similar way due to someone requesting them. Thompson wrote the grep command based on a suggestion from McIlroy that Unix should have a utility to search for text in files. Thompson reused Unix code ed editor to create a utility to perform a “global regular expression printing” of any text that matches the user's regular phrase. This command “global regular expression printing” was simply called grep, now a standard Unix command.

Unix everywhere

Unix continued to grow, primarily as research and as a platform for projects within Bell Labs until the mid-1990s. 1980. Around that time, a group of different vendors began to market their own versions of Unix, incluidos HP-UX de Hewlett Packard, IBM AIX, Xenix de Microsoft, SunOS from Sun. (later renamed Solaris), among others. On 1983, Richard Stallman started a new project to create a free software version of Unix, called GNU (a recursive acronym, Are you bored to use “GNU is not Unix”).

Each Unix distribution was slightly different and incompatible with each other. Some were derived from the original AT Unix&T Bell Lab, such as HP-UX and AIX. Other versions of Unix were derived from a popular university variant of the University of California at Berkeley, BSD call for “Berkeley Software Distribution”. Many of the commands were the same or similar between the different versions of Unix, but the details about how he managed the system in general were very different. A key difference was how Unix was started: AT&T “System V” Unix uses run levels controlled by a central /etc/inittab file, while BSD Unix starts everything using run control hyphens beginning with /etc/rc text.

Other Unix systems came and went during the decades of 1980 and 1990. Steve Jobs, after being ousted as CEO of Apple in 1985, fundó NeXT, which produced its own variant of Unix, derived from BSD. NeXT brought several innovations to Unix, including a Mach-based microkernel. The NeXT graphical desktop, NeXTSTEP, added other new ideas, such as PostScript Display to create on-screen graphics, a “quay” of available and running applications, and an object-oriented application layer with toolkits.

On 1991, a Finnish student named Linus Torvalds started working on a project that later became the Linux kernel. The 25 August 1991, Torvalds posted a short announcement on a Usenet discussion group about his hobby project and invited others to contribute.. Torvalds released Linux under the GNU General Public License, which meant anyone could modify Linux to fix bugs or add new features. This model of “Open Source” O “free software” quickly boosted the development of new Linux systems.

Communities arose around Linux, carrying GNU tools and other Unix commands to run on Linux. On 1992, developers ported the X Window System, what gave Linux its first graphical user interface. The result is what most people think when we say “Linux”, although Linux it's actually just the kernel that runs everything.

Modern Unix

Although there are still proprietary Unix systems, most Unix systems are Linux. At least on web servers, Linux dominates. Linux is also common for many business workloads, including application servers and database servers. Hard to know exactly how many Linux servers are running things, But many estimates suggest that Linux runs more than two-thirds of the web servers and other Internet infrastructure.. Even Microsoft is compatible with Linux; your Azure platform runs Linux, in the same way as the Windows Subsystem for Linux on Windows desktops.

On the desk, Linux never gained a significant foothold. A common gag in the Linux community is “Next year will be the Linux desktop year. ” But Windows reigns supreme on the desktop. Despite this, if you are looking for Unix on the desktop, consider apple macOS. On 1996, as part of Steve Jobs' return to Apple as CEO, Apple bought NeXT and used NeXT as the basis for the next generation operating system in the new Macs. MacOS is truly Unix under the hood; open a terminal window and you can find a Unix shell with standard Unix utilities. Actually, macOS is a Official Unix, recognized by the Open Group.

Where is Unix heading now? I'm not sure if “Unix” is the correct label. In an age when Linux systems vastly outnumber Unix servers, it is feasible that we have passed the point at which “Unix” has a lot of meaning. It's no longer about “Unix as a platform”, but of “Linux as a platform”. And just as Unix grew beyond its original design, adding new features where they were needed, Linux continues to evolve to meet new needs. At least for the foreseeable future, it is about “Linux”, no of “Unix”.

Subscribe to our Newsletter

We will not send you SPAM mail. We hate it as much as you.