UNIX as an Operating System


What is an Operating System (OS)?

The operating system (OS) is the program which starts up when you turn on your computer and runs underneath any other programs you run - without it nothing would happen at all.

In simple terms, an operating system is a manager. It manages all the available resources on a computer from the CPU to memory to hard disk accesses.

One could break down the overall tasks that an OS must perform into 3 main catagories...


UNIX History

The UNIX operating system was born in the late 1960's. It originally began as a one man project lead by Ken Thompson of Bell Labs and has since grown to become the most widely used operating system.

In the time since UNIX was first developed, it has gone through many different generations and even mutations. Some differ substantially from the original version, like Berkeley Software Distribution (BSD) or Linux. Others, still contain major portions that are based on the original source code.

An interesting and rather up to date time-line of these variations of UNIX can be found at http://www.levenez.com/unix/history.html.


UNIX as an Operating System (OS)

In general most UNIX operating systems have the following characteristics...


Parts of the UNIX Operating Systems

Most UNIX systems can be broken down into several parts...

Also, not part of the operating system (OS) directly, but common on almost all systems are...


Flavors of UNIX

As I have mentioned, over the 30 years that UNIX has been around there have been many different variants. There just as many ways to categorize these variations. For the purpose of this course, we will classify into 2 sets of catagories...

Proprietary

Open Source

Installable Linux Distributions

Bootable Linux Distributions


Focus on Linux

During the course of this class we will refer to UNIX to mean any UNIX like OS.

The course focus will be on Linux, as this is what is used in the vast majority of the CS courses. However most of the items covered are analogous to most every version of UNIX.


UNIX Interfaces

There are really 2 means of connecting to UNIX computers here at UMBC.

  1. You can be sitting in front of a dual boot-able PC that you have booted into Linux and logged onto. All of your commands are then being run locally on that computer. When you logon in this manner you have a full GUI environment.
  2. You can connect remotely to one of the UNIX servers (whether from home or at the labs). This is often how your projects are suggested to be developed as they are graded on those same servers. When you logon in this manner you have a command line (or text based) environment. You can also open up a command line on local lab machines as well.

GUI Interface

As mentioned when you logon locally, you are presented with graphical environment. When you reboot a windows you get a graphical login screen. You must enter in your username and password. You also the have the option to choose from a couple session types. Mainly you have the choice between Gnome and KDE. Once you enter in your username and password, you are then presented with a graphical environment that looks like one of the following...

Gnome

KDE


Command Line Interface

As I mentioned you also have access to some UNIX servers as well. You can logon from virtually any computer that has Internet access whether it be Windows, Mac or UNIX itself. In this case you are communicating through a local terminal to one of these remote servers, where all of the actions are actually being executed. Typically this is done solely via the command prompt (or line). It is also possible to open up graphical applications through this window, but that requires a good bit more setup and software (time permitting, we may cover how to do this).


Daniel J. Hood
Last modified: Tue Sep 28 16:39:42 EDT 2004