Introduction and History
  1. Development of Unix
    1. Early computing used a batch model.
      1. Submit a complete job to the computer.
      2. Get results later.
      3. No interaction.
    2. First interactive systems are called time-sharing.
      1. Multiple users connect to one computer.
      2. Users are nearby, connected by a simple cable. Not computer network.
      3. Compatible Timesharing System (CTSS) is usually given as the first important one.
        1. Part of project MAC at MIT
        2. First released 1961.
    3. Multics.
      1. Started in 1964.
      2. Joint project of ATT, MIT and GE (which then made computers).
      3. Intended to create a computer utility.
        1. Users would have terminals in their homes, much as they had phones.
          1. It's 1964. Phones are land-lines, and they come from ATT.
          2. Users would have a teletypewriter as well.
          3. Anticipated uses included online commerce and information searches.
        2. Fell behind schedule and ATT withdrew from the project in 1969.
    4. ATT Bell Labs
      1. Bell labs was the well-funded research lab of ATT. Multics was being pursued there.
      2. Some researchers at Bell Labs, no longer working on Multics, wanted to apply some of what they learned to build something small. (Multics was a huge and complex system.)
      3. Ken Thompson wrote an experimental file system on a discarded PDP 7
      4. The rest of the system sort of grew from there.
      5. From this, the group was able to purchase a PDP 11/20, and later an 11/45.
      6. The C language was invented after 1970, and Unix was re-written in C by 1973.
    5. Technological imperative.
      1. Shared system supporting multiple users.
      2. Communication by text command.
      3. Memory and disks were small, and magnetic tapes were important.
    6. Leaving Bell.
      1. Paper presented in 1973 in ACM Symposium on Operating Systems Principles. Revised the Communications of the ACM, July 1974.
      2. Well received.
      3. Until 1982, ATT had status as a legal monopoly for long-distance phone service in the US, but was forbidden to enter other businesses.
      4. So it gave Unix away rather than sell it.
      5. Very popular with major universities. One of particular importance was UC Berkeley.
    7. Fragmentation.
      1. When ATT was giving away Unix, it was largely non-commercial.
      2. Some companies offered support for a fee (ATT could not).
      3. The ATT monopoly was broken up in 1982. This freed ATT to sell Unix commercially.
        1. They started charging significant license fees; before it was just a handling fee.
        2. Many versions were developed and sold.
      4. While there were many versions, two primary streams.
        1. The ATT commercial stream, starting with System V Unix.
        2. The Berkeley stream, BSD for Berkeley Software Distribution.
        3. Use of either required paying fees to ATT for their code.
      5. Berkeley's Escape.
        1. Berkeley attempted to replace all ATT code and released versions free of ATT license fees. First release, BSD Net 1 in 1988.
        2. ATT sued them in 1992
        3. Settled in 1994.
      6. Linus Torvalds first started creating a clone on Unix in the summer of 1991. This becomes the Linux OS.
      7. If ATT hadn't sued BSD, Linus Torvalds would probably not be famous. The suit delayed the growth of the free BSDs and gave Linux a chance.
      8. Various versions of BSD (which is a Unix descendant), and Linux (which is a clone) are available for free.
  2. Linux
    1. What's there?
      1. The kernel is the part properly called Linux.
        1. The kernel is the primary component of the OS.
        2. It provides the primary abstractions, such as processes, file system, device drivers and network protocols.
        3. Linux is produced by a team of developers headed by Linus Torvalds.
      2. Basic utilities, including the command shell.
        1. Basic text-based programs for working with files, text and configuring the system.
        2. Some written by the kernel developers.
        3. Most written by the Free Software Foundation.
        4. We'll spend a lot of time with these.
      3. GUI support.
        1. The basic GUI support in most Linux systems is X-Windows, originally from MIT.
        2. Usual versions are from the X.Org foundation.
        3. A newer system call Wayland has replaced X in some distos.
      4. There are several suppliers of desktops. (X-Windows supports driving the screen and the interface devices; doesn't do much with them.)
      5. General applications from many sources.
    2. Distributions.
      1. A Linux distribution collects the various needed parts and combines them to make a usable system.
      2. Distinctives.
        1. Most distros are the same in the large things, but differ in the details.
        2. Package management.
          1. All distributions must keep track of what software is installed.
          2. Different systems are used, but there are a few main ones.
            1. The Debian distribution and derivatives, including Ubuntu and Mint, use Debian packages.
            2. The Red Had commercial products and related free distros use the Red-Hat Package Manger (RPM).
            3. The Gentoo distribution installs everything by building from source instead of pre-compiled binaries. It's emerge system supports this.
        3. Windowing systems.
          1. There is no single Linux desktop environment.
          2. Different distros may support different ones.
          3. Some distros (e.g., Red Hat) support several to choose from.
          4. Server-based distros are happy to install without one.
        4. Policies against certain types of software.
          1. Debian avoids software which is not open-source. This can be a problem getting wireless to work.
          2. Fedora avoids certain software for what it believes are legal risks. This particularly impacts multimedia software.
          3. Ubuntu is pretty catholic in this regard.
          4. In most cases, you an get those packages from third parties, but it can be more effort.
        5. There are specialized distros for unusual environments or hardware.

History reference: Salus, Peter, A Quarter Century of Unix, Addison-Wesley, 1994.