- UNIX is a computer operating system.
- An operating system is the program that controls all the other parts
of a computer system, both the hardware and the software. It allocates
the computer's resources and schedules tasks. It allows you to make
use of the facilities provided by the system. Every computer requires an
operating system.
- UNIX is a multi-user, multi-tasking operating system. Multiple users may
have multiple tasks running simultaneously. This is very different than
PC operating systems.
- UNIX is a machine independent operating system. Not specific to just
one type of computer hardware. Designed from the beginning to be
independent of the computer hardware.
- UNIX is a software development environment. Was born in and designed
to function within this type of environment.
- The "UNIX" trademark, previously owned by AT&T and then deeded to
UNIX Systems Laboratories (USL), an AT&T subsidiary, passed to Novell
when it acquired USL. After a brief
period of negotiations with rival Unix vendors Sun Microsystems,
Santa Cruz Operation, International Business Machines, and
Hewlett-Packard, Novell granted exclusive licensing rights to the UNIX
trademark to X/Open Co. Ltd., an Open Systems industry standards
branding agent based in the United Kingdom.
- Make each program do one thing well. Reusable software tools:
1 tool = 1 function
- Expect the output of every program to become the input of another,
yet unknown, program to combine simple tools to perform complex tasks
- Prototyping: get something small working as soon as possible and modify
it incrementally until it is finished
- Use terse commands and messages: reduces typing and screen output
- Hardware independence
- operating system code is written in C language rather than a specific
assembly language
- operating system software can be easily moved from one hardware
system to another
- UNIX applications can be easily moved to other UNIX machines.
Porting is usually as simple as transfer of the source and a
recompile
- Productive environment for software development
- rich set of tools
- versatile command language
- UNIX is available at virtually all HPC centers, allowing researchers
relative ease in utilizing the facilities at each center.
- Distributed processing and multi-tasking
- Kernel
- The core of the UNIX system. Loaded at system start up (boot).
Memory-resident control program.
- Manages the entire resources of the system, presenting them to you
and every other user as a coherent system. Provides service to user
applications such as device management, process scheduling, etc.
- Example functions performed by the kernel are:
- managing the machine's memory and allocating it to each process.
- scheduling the work done by the CPU so that the work of each
user is carried out as efficiently as is possible.
- accomplishing the transfer of data from one part of the machine
to another
- interpreting and executing instructions from the shell
- enforcing file access permissions
- You do not need to know anything about the kernel in order to use a
UNIX system. These details are provided for your information only.
- Shell
- Whenever you login to a Unix system you are placed in a shell program.
The shell's prompt is usually visible at the cursor's position on your
screen. To get your work done, you enter commands at this prompt.
- The shell is a command interpreter; it takes each command and
passes it to the operating system kernel to be acted upon. It then
displays the results of this operation on your screen.
- Several shells are usually available on any UNIX system, each with
its own strengths and weaknesses.
- Different users may use different shells. Initially, your system
adminstrator will supply a default shell, which can be overridden or
changed. The most commonly available shells are:
- Bourne shell (sh)
- C shell (csh)
- Korn shell (ksh)
- TC Shell (tcsh)
- Bourne Again Shell (bash)
- Each shell also includes its own programming language. Command
files, called "shell scripts" are used to accomplish a series
of tasks.
- Utilities
- UNIX provides several hundred utility programs, often referred to as
commands.
- Accomplish universal functions
- editing
- file maintenance
- printing
- sorting
- programming support
- online info
- etc.
- Modular: single functions can be grouped to perform more complex tasks
-
AT&T distributes System V for their computers. System V is also the
basis for several commercial implementations including:
- Hewlett-Packard HP-UX
- Apple AUX
- Amdahl UTS
- Cray UNICOS
- IBM AIX.
- BSD, from the University of California Berkeley, has undergone extensive
modification and enhancement in the university environment.
- BSD is available directly from UCB and in a number of commercial versions
including: Sun, Apollo, DEC Ultrix, Gould UTX/32.
- System V and BSD contain a large set of commands in common. Some of
these commands, however, support different options and have different
default behaviors and output formats. ex: ls, stty, mail, grep
- Each version also has its own unique utilities. Some very common tasks,
such as browsing a file, are performed by totally different utilities:
System V uses "pg" whereas BSD uses "more".
This concludes the tutorial. Return to the
Table of Contents