The Big Picture
The purpose of this lesson is to introduce you to what Unix is and a bit about Unix's history and technical structure.
Unix gives you access to computer resources
Unix is an operating system. An operating system is a set of programs that control and organize resources of a computer. A typical operating system gives users a way to create and manage files as well as run application programs. For example, Windows 95 is an operating system that you might have on a home computer. It gives you a visual interface to files, folders, and programs that run on Windows 95. You can create files using Microsoft Word, for example, and store these files in folders or move the files around or delete them.
Unix works well to support networks of computers. The computers running Unix on campus are networked--that is, they exchange data with each other through a campus computer network. This campus network is hooked into the Internet, so they can exchange data with millions of other computers around the world. Unix is an interface to all the resources and programs on the campus computers, network, and the world of the Internet.
A typical way to use Unix is by opening a Unix window on your computer's desktop. Another way is to sit down at a computer terminal that is dedicated to a Unix system.
Once you open a Unix window on the desktop or get to a Unix terminal, you'll have the ability to access your Unix account. The actual computer on which Unix is running might be someplace else; where it is exactly doesn't matter. All we need to access everything in our Unix account is available through a Unix window or terminal.
Your Unix account gives you access to your files
The Unix window will give you access to your Unix account. This account is where you'll store your files and work on your assignments. To use your Unix account, you'll need to login. To login, you'll need a username and password. As a member of this course, you have a Unix account. Alternately, you might have a Unix account as part of your personal Internet account or as part of your work. You may be able to accomplish all the work for this course using your own account as opposed to the one supplied by the University.
You should be able to access (and login to) your Unix account by opening a Unix window from nearly any Internet-connected PC which has a telnet program on it. A telnet program is software that runs on the PC that can allow you to open a Unix Window.
You can think of your Unix account almost like a bank account. For many of you, you can get money out of your bank account at any ATM by inserting your ATM card and entering your PIN. This is a good analogy to how your Unix account is set up. You can access your Unix account from any Internet-connected computer with telnet. I routinely access my Unix account from Net Cafes, public libraries, here on campus, as well as at my personal computer at home. You might be able to take advantage of this same flexiblity to get your Unix work done no matter where you are, on campus or off.
A Bit of Unix History
Unix was originally developed at AT&T Bell Laboratories (now Lucent Technologies) by Ken Thompson and Dennis Ritchie in 1969-1970 to store information on a computer. The name Unix was coined to give this system a name, not as an acronym or an abbreviation for anything. Bell Labs was the early developer of Unix as an operating system to serve the internal needs of its staff.
In 1973, Unix was rewritten in C, a computer programming language also developed at Bell Labs by Dennis Ritchie. This made it possible for Unix to be installed and run on many different types of computers which had a C compiler. AT&T did not actively market Unix in the 1970's. But Unix was given to universities for research. Researchers at the University of California at Berkeley developed a variant of AT&T's Unix. This variant (or "flavor") is called "Berkeley Unix" or BSD (Berkeley Standard Distribution) Unix, (or, humorously, "Bezerkly Unix"). Other companies, notably AT&T itself, later developed and released commercial versions of Unix. Over time, many flavors of Unix have come and gone. These "flavors" of Unix might not work precisely the same as each other, but they are like dialects or slang speech from the same common tongue. Other operating systems are very close to Unix in concept and syntax. Linux is one. Flavors of Unix run on many different kinds of hardware systems, from personal computers to supercomputers.
The other kind of variation in Unix systems is the type of command interpreters. We will see how Unix is command-driven. You issue a command, something happens, and you keep issuing commands until you get your work done. You issue these commands to a command interpreter. The command interpreter in Unix is called the shell. There are different kinds of shells.
A Bit of Unix Technical Structure
Unix is a multitasking, multiuser, programming environment
Unix is multitasking because it allows you to do two things at once. You issue a Unix command to send a file to the printer. While Unix does this, it can take your other commands for file management or text editing.
Unix is multiuser because it will serve many people at once. You're not the only one who will have a Unix account. Unix computers can keep track of your Unix account, do your commands, and also keep track of thousands of other people with accounts and doing things on the same computer.
Unix is a programming environment. True geeks everywhere use Unix to write computer software. True geeks don't need any other operating system of any kind, because Unix is a programmer's paradise. The power of Unix for software development is truly astonishing. People who know Unix well can accomplish amazing things.
Unix is structured with several main components: the shell, utilities, the file system, and the kernel
The component of Unix that you will interact with is the shell. The shell is the name for the command interpreter that does things for you. You know when you are "in the shell" when you see a Unix prompt. These lessons will show the Unix prompt like this. It is also called the shell prompt.
In Unix, you don't point and click a mouse to get things done. You type using the keyboard at the shell prompt. That may seem archaic, but it is actually a far more efficient way to get things done. Instead of creating a visual interface that reproduces the clutter of a "desktop," Unix instead gives you a way to build increasingly powerful tools to accomplish massive amounts of work efficiently and accurately.
The utilities are software tools included with the Unix operating system that let you do work such as text editing, programming, and communications.
The File System
The file system is the structure that organizes and stores data on the computer system. Unix organizes files in a way that can be understood as a tree analogy. Simple Unix commands help you navigate and use the file system.
The kernel is the heart of Unix. The kernel is reponsible for resource allocation, security, and low-level interfaces with hardware. As a beginning user, you're not going to touch the kernel.
"The Creation of the UNIX* Operating
- Lucent Technologies, "An Overview of the UNIX* Operating System," http://www.bell-labs.com/history/unix/tutorial.html
Exercise: Name some other operating systems
Think of personal computer(s) you may have, name their operating system and the general way it works. For example, Windows 95/98/ME/XP runs on PCs. Windows gives access to computer's resources through a graphical user interface consisting of windows and icons manipulated using a mouse. What are the benefits of these operating systems? The drawbacks?