The Rise Of Linux

Linux is one of the most successful projects in the history of software. This chapter will describe some of the historical events that led to Linux and its popularity.

Learning Objectives

You should be able to:

  • Describe the components of Linux
  • Describe the *nix design philosophy

Before Linux, There Was Unix

In the early days of computing, people were trying to figure out the best way to make computers useful. Designers quickly learned that they needed operating systems that would interface easily with the hardware. They also needed tools to be productive. AT&T's Bell Laboratories invested heavily in innovation in the 1960's and 1970's. An operating system named Unix was developed in Bell Labs in 1969. AT&T would go on to license Unix for use by other companies.

Unix was (and is) a proprietary operating system. That meant that hobbyists and professionals had to pay licensing fees to AT&T to use Unix. Over time, the rights to Unix would be sold to different companies, but it remained a proprietary operating system.

In 1991, a computer science student named Linus Torvalds had an idea. He wanted to create a small operating system that would be similar to Unix but would be created from the ground up. several people liked the idea. Over the subsequent years, volunteers created the Linux operating system (named after Linus). They made Linux look and feel much like Unix, but they wrote it using their own code. The Gnus Not Unix (GNU) project developed many of the applications that made Linux useful. Essentially, Linux was composed of the Linux kernel (that interfaces with the computer hardware) and the GNU applications that users would run.

There are many flavors of Linux and Unix today. They look and run very similarly which leads some to refer to them a *nix distributions. Mac OS X is a Unix operating system. Many of the commands that work on OS X also work in Linux because they share many of the same programs.

As of 2024, Linux achieved major victories (per https://en.wikipedia.org/wiki/Usage_share_of_operating_systems):

  • 43% of all devices run Linux.
  • 100% of the fastest 500 supercomputers in the world run Linux.
  • The majority of smartphones run Linux.

Linux has fared well because it is stable, free, and productive. There is a question about whether proprietary software can survive in the long term because Linux is a viable alternative. Time will tell.

*nix Design Philosophy

Linux was designed by a lot of people. One of the design philosophies was to have people write small programs that do one thing and do that one thing well. This resulted in hundreds of small programs that Linux users needed to learn. For example, the program wc counts words--that's it. The ls program lists files--that's it. Competent Linux administrators can string these commands together very efficiently.

Linux also relies heavily on the command-line interface (CLI). In a CLI, commands are typed in a terminal. This is in contrast to Microsoft Windows, which typically relies on a graphical user interface (GUI) to run programs and administer the application. A CLI typically has a steeper learning curve than a GUI. With a GUI, different options can be explored visually. With a CLI, programs and options must be sought out.

The following is a simple example of a command-line interface. Using this interface, the only way to interact with the computer is to type commands.

Terminal

The following shows a Linux operating system with a graphical user interface.

Linux GUI

In the Linux world, the computer gets in your way less. Want to delete every file on your hard drive with a single command? Linux will let you do it! You are expected to be competent enough to know what you're doing, which can be tough when you are learning.

Exercise: Linux Devices

Use the internet to determine which of the following devices run Linux operating systems.

  • Newest XBOX
  • Laptop for sale at Best Buy
  • Amazon Echo
  • PS5
  • iPhone 13
  • Google's web servers

Reflection

  • Does it matter to you which operating system your systems run on?
  • When would it make sense to adopt a CLI instead of a GUI?
  • When would it make sense to adopt a GUI instead of a CLI?
  • Does the *nix philosophy of "do one thing and do it well" apply to other parts of society?
  • How might the "do one thing and do it well" philosophy create problems?

Key Terms

  • Unix: A powerful, multiuser, multitasking operating system originally developed in the 1960s and 1970s at AT&T's Bell Labs. Unix has influenced many other operating systems, including Linux, and is known for its stability, portability, and security features.
  • Linux: An open-source, Unix-like operating system kernel created by Linus Torvalds in 1991. Linux is widely used in various distributions (distros) that include the kernel along with system software and libraries. It is known for its flexibility, security, and strong community support.
  • Graphical User Interface (GUI): A type of user interface that allows users to interact with electronic devices using graphical elements such as windows, icons, and buttons. GUIs are designed to be intuitive and user-friendly, making it easier for people to use computers and software applications.
  • Command Line Interface (CLI): A text-based user interface that allows users to interact with a computer by typing commands into a console or terminal. CLIs are powerful and efficient for performing tasks, especially for advanced users and system administrators.
  • Terminal: A software application or hardware device that provides a command line interface for interacting with the operating system. Terminals allow users to execute commands, run scripts, and manage system processes. Examples include GNOME Terminal, Windows Command Prompt, and macOS Terminal.