Lec1 Intro.ppt

advertisement
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.
Ken’s 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 4year “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 didn’t catch on in
popularity until Linux was developed in
the early 90’s.
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:



PC’s 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 “userunfriendly” 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, Apple’s 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
Exit—to 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
Download