Chapter 1
What is UNIX?
Graham Glass and King Ables,
UNIX for Programmers and Users,
Third Edition, Pearson Prentice Hall, 2003.
Original Notes by Raj Sunderraman
Converted to presentation and updated by
Michael Weeks
Computer Systems
Computer System : Hardware + Software
Hardware: CPU, Memory (RAM/ROM), Disk drives,
CD-ROM drives, Monitor, Graphics card, Keyboard,
Mouse, Printer, Tape drive, Modem, Ethernet
interface, Other peripherals.
Software: Operating System, Application Programs
UNIX is the name of a popular operating system.
Unix
Hardware provides a framework for executing
programs and storing files
File: collection of data normally stored on
disk.
Program: collection of instructions/data that
is stored in a file.
Process
When a program is executed, it is loaded into memory.
It is called a process when it is executing.
Most processes read/write data from/to files
Processes and files have an owner
UNIX supports hierarchical directory structure
Files and processes have a location within the
directory structure
UNIX provides the capabilities to create, modify and
destroy files, programs, and processes.
Unix Attributes
Sharing of resources: CPU (time slices), memory
(pages), disk (blocks)
Communication: process-device controller, process-
process, etc. (pipes 1-way, sockets 2-way)
Utilities: Unix comes with a large collection of utilities;
we will study many of these.
Programmer support: All kinds of compilers available;
Access to parallel processing, file handling and
interprocess communication via System calls in C
Two Main Varieties of Unix
System V (AT&T) and
BSD (Berkeley Standard Distribution)
Both are merged now. SunOS, IRIX, AIX, HP-UX
have features from both varieties although most
are System V Unix.
Other Unix versions you may have heard of:
Linux (Fedora, Red Hat, Ubuntu, SUSE, etc.)
Sun Java Desktop OS, Solaris
Apple OS/X
Sub-Varieties of Unix
Linux (Runs on PC architecture)
Fedora
Red Hat
Ubuntu
Sun Java Desktop OS, etc.
Sun Solaris (Runs on SPARC architecture)
Apple OS/X (Runs on PowerPC and Intel platforms)
Philosophies of Unix
Pipe mechanism
Output of one process can be used as input for
another process. e.g.
$ who | sort
Using the pipe mechanism, complex tasks can be
broken down into simpler ones and combined using
pipes etc.
Super user
user who has complete control over the system
resources. Typically the System's Administrator.
Review
Computer Systems
Unix as an operating system
Processes
Unix Attributes
Unix Varieties
Unix Philosophies