CST334
Unix & X Window System
Overview of UNIX
Purpose of an Operating System (OS)
History Unix OS
Characteristics of Unix OS
History of Linux OS
The Drive for compatability (POSIX
standards)
Attention
For additional reading, consult
Appendix B and Chapter 1 of
Forouzan and Gilberg, Unix and
Shell Programming
your textbook
Definition of an Operating
System (OS)
An operating system is a control
program for a computer that
performs the following operations:
allocates computer resources
schedules routine tasks
provides a platform to run application
software for users to accomplish tasks
provides an interface between the
user & the computer
History of Unix OS
Prior to Unix, many operating systems
ran collections or batches of
operations one at a time.
This single-user batch-processing
approach did not take advantage of the
potential processing power and speed
of computers
Enter data in
files to be later
processed
Process
Collection or
Batch of files
Receive
information of
processed data
Note: batch processing lacks the advantage of
immediate feedback as opposed to online processing
History of Unix OS
The Unix OS was developed (based on
Multics & CTSS operating systems) by Ken
Thompson at the AT&T Bell Laboratories in
1969. He wanted to create an multi-user
operating system to run space travel
game.
Kens philosophy was to create an operating
system with commands or utilities that
would do one thing well (i.e. UNIX). Pipes
could be used combine commands...
History of Unix OS
The first versions of UNIX were written
in machine-dependent program (such
as PDP-7).
Ken Thompson approach Dennis Ritchie
developer of C program), and in 1973
they compiled UNIX in C programming
language to make operating system
portable to other computers systems.
History of Unix
Ken Thompson
(recently
retired from
Bell Labs) is
on left, and
Dennis Ritchie
is in the
middle.
What`s his
name is on the
right
UNIX Features
The Unix OS is a multi-user OS allowing
more that more person to directly
communicate with the computer.
Although the OS can only work on one task
at a time, a small piece of time (time slice)
is dedicated to each task or user - this is
referred to as time-sharing.
Time sharing gives the illusion that the
CPU is giving all the users its full attention
Illustration of
Time-Sharing
User 8
User 1
User 7
User 2
User 6
User 3
User 5
User 4
TIME
Development of Unix OS
Unix became a popular OS among
institutions such as colleges & universities
through a 4-year try before you buy deal.
Efficient and inexpensive way of networking
promotes Internet use and file-sharing
Open system allows for source code to be
shared among many programmers - allows for
better coordination among programmers
Development of Unix OS
Students at University of California
(in Berkley) further developed the
UNIX operating system and
introduced the BDS version of Unix
Unix
Bell Labs
UNIX System V (5)
Proprietary
Berkley Software Distribution
(BSD)
Free
Development of Unix OS
There were versions of UNIX for
the Personal Computer (PC), such
as XENIX, etc., but they didnt
catch on in popularity until Linux
was developed in the early 90s.
History of Linux
Linux operating
system developed by
programming student
Linus Torvalds
Linus wanted to
develop Unix-like OS
just to experiment
with new 386
computer at the
time...
Why Has Linux Become so
Popular?
Linus decided to make Linux OS
source-code for Linux Kernal open to all:
Unlike traditional Operating Systems, anyone
can modify and distribute Linux OS (as long as
they distribute source code of Linux Kernel)
Competition among Hackers allow code to
be improved and distributed often
Many users can spot bugs in the operating
system or application if source code is open
Why Has Linux Become so
Popular?
Other Factors:
PCs have increased processing power and a
there has been a noted shift from
mainframes and minicomputers to PCs.
Since Linux is a Unix Work-alike, this OS
has a reputation to be a very stable platform
for networking (creating at-home servers)
and running / maintaining applications.
Agencies such as Free Software Foundation
created GNU project to provide free software.
Concerns
Some people claim that there are as many
version of Linux as there are users
POSIX (Portable Operating System Interface
for Computer Environments) is a
government standard to ensure consistency
among different UNIX and Linux versions.
Many versions of Linux are approaching
POSIX standard.
Concerns
Freedom of allowing Linux users to create
servers connected up to Internet can
lead to attacks from experienced hackers.
Linux commands may be considered
user-unfriendly although GUIs are now
used.
Prior reputation for difficult install process
including the loss of data on other hard
disk partitions.
Attention
The following material is taken
from chapter one of your
textbook ,
Unix and Shell Programming
Advantages of Unix
Portable
Multi user
Multitasking
Networking log into the any site
Organized file system
Device independence i/o vs files
Utilities
> 100 utilities, productivity
Services administrative tools built in
Figure 1-1
Computer System
A computer system
Hardware
Input , output, CPU,
auxiliary/secondary storage
Software
Systems software
Primary purpose to support computer
Applications software
Programs written to solve users problems
Figure 1-2
Components of Computer Hardware
Operating system
A special category of systems
software that manages all
operating facets of the computer
Heart and character of a computer:
DOS, Windows , Mac, UNIX
Performs resource allocation,
scheduling, data management (file
I/O), system security
Unix environments
Personal environment
Timesharing environment
Linux, Apples System X (Unix kernel)
Many users connected to one computer
Client/server environment
Computing split between a central computer
(server) and users computers (clients)
Figure 1-4
The Time-Sharing Environment
Figure 1-5
The Client/Server Environment
Figure 1-6
Components of UNIX
Components of the Unix OS,
cont
The kernel: contains most basic parts
including process control and resource
management
The shell: receives & interprets the
commands entered by the user
Interpreter and script programming language
Three standard shells: Bourne (sh/bash) , C
(csh/tcsh), Korn (used in text)
Components of the Unix OS,
cont
Utilities: hundreds ! Primarily
Text editors, search programs, sort programs
ls, cp, mv, vi, emacs, grep, chmod, sort, cal,
date, plus countless options
the real heart of the class
Applications: written by systems
administrators, professional
programmers, or users
Extended capability , sometimes made into
future utilities
Accessing Unix
User ID
Passwords
Interactive session
Figure 1-8
Interactive Session
Common commands
date
date -u
cal
cal 1 2005
cal 2005
who
passwd
man
Figure 1-9
Command Source and Destination
Figure 1-10
General Command Format
Figure 1-11
The date Command
Figure 1-12
The calendar Command
Figure 1-13
The who Command
Figure 1-14
The passwd Command
Passwords
a) must be >=6 characters long,
b) must contain 2 out of 3 of
upper-case letters,
lower-case letters,
non-letters (digits, punct)
c) may not be a dictionary word or
too similar to your name
Exitto Log Out
Type exit
if it says "there are stopped jobs"
type exit again
Figure 1-15
The echo Command
Figure 1-16
The man Command
Figure 1-17
The lpr Command
Figure 1-18
The tty Command
Figure 1-19
The clear Command
Figure 1-20
The stty Command
Figure 1-21
The script Command
Figure 1-22
The uname Command