Transcript L03

Operating Systems and Using Linux
Topics
• What is an Operating System?
• Linux Overview
• Frequently Used Linux Commands
Reading
None.
CMSC 104, L03
1
What is an Operating System (OS)?
• A computer program
• Performs many operations:
• Allows you to communicate with the computer
(tell it what to do)
• Controls access (login) to the computer
• Keeps track of all “processes” currently running
• At this point, your main concern is how to
communicate with the computer using the OS
CMSC 104, L03
2
CMSC 104, L03
3
CMSC 104, L03
4
A Formal Definition of: OS
Operating System:
A program that integrates and Controls
the computer’s Internal Functions
and Provides a User Interface.
CMSC 104, L03
5
OS Introduction
• Computer applications today require a
single machine to perform many
operations and the applications may
compete for the resources of the machine.
• This demands a high degree of
coordination
• This coordination is handled by system
software known as the operating system
CMSC 104, L03
6
Definition of Router
Router - A “gateway” machine that examines
each packet of data it receives, and then
decides which way (if at all) to send it
towards its destination. The most efficient
path is chosen. The router can be set up as
a firewall, where it permits a companies
users to access the Internet but places
severe limits on the ability of outsiders to
access internal data.
CMSC 104, L03
7
Router Configuration
Company
A’s
Network
Router
Internet
Company
B’s
Network
CMSC 104, L03
Router
8
Evolution of Operating System
• OS for batch jobs
o
o
o
o
Program execution required significant
preparation of equipment
Program execution (job)
OS was a system to simplify program setup
and simplify transition between jobs
Physical separation of users and equipment led
to computer operators
CMSC 104, L03
9
OS Evolution (cont’d)
o
o
Users left jobs with the operator and came back
the next day (batch jobs)
Users had no interaction with computer during
program execution. Maybe okay for some
applications, but not for all.
CMSC 104, L03
10
OS Evolution
• OS for Interactive Processing
o
o
o
o
o
Allowed programs to carry on dialogue with
user via remote terminals (workstations)
Real-time processing
Users demand timely response
Machines too expensive to serve only one user
Common for several users to want interactive
services at the same time
CMSC 104, L03
11
CMSC 104, L03
12
OS Evolution (cont’d)
• OS for time-sharing
o
o
o
o
To accommodate multiple real-time users, the
OS rotates its various jobs in and out of
execution via time-sharing
Each job gets a predetermined “time slice”
At end of time slice current job is set aside and
a new one starts
By rapidly shuffling jobs, illusion of several jobs
executing simultaneously is created
CMSC 104, L03
13
Time Sharing between Process A & B
Interrupt
Interrupt
Process B
Process
Switch
Process A
50 nSec
Interrupt
Interrupt
Process B
Process
Switch
Process
Switch
Process A
Time
CMSC 104, L03
14
OS Evolution (cont’d)
o
o
without time slicing, a computer spends most of
its time waiting for peripheral devices or users
A collection of tasks can be completed in less
time with time-sharing than when completed
sequentially
CMSC 104, L03
15
Different OS’s on the Same Machine ?
• It is possible to have more than one
operating system available to be used on a
machine.
• Only one operating system is run at a time,
though.
• Examples:
o
o
VAX - VMS or Ultrix
IBM PCs - DOS, windows NT, or Linux
CMSC 104, L03
16
Types of software
• Applications software
Performs tasks specific to the machine’s
utilization.
 Generally transportable

• System Software
Performs tasks common to computer systems
in general
 Operating systems vary based on the hardware
they’re used on

CMSC 104, L03
17
Types of software (cont’d)
• Utility software
o
o
o
o
Provides fundamental activities, yet not
included with OS
“Extends” the OS
Distinction between applications and utilities is
often vague
Distinction between OS and utilities is also
vague
CMSC 104, L03
18
CMSC 104, L03
19
CMSC 104, L03
20
How Do I Communicate With the Computer
Using the OS?
• You communicate using the particular OS’s
user interface.
• Graphical User Interface (GUI) - Windows
• Command-driven interface - DOS, UNIX,
Linux
• We will be using the Linux operating system,
which is very similar to UNIX.
CMSC 104, L03
21
The OS Shell
• Defines interface between OS and users
o
o
o
Windows GUI
UNIX command line
UNIX users can choose among a variety of
shells
–
–
o
csh is the “C shell”
tcsh is an enhanced “C shell”
Shell programming
CMSC 104, L03
22
OS Shell interface
Users
Users
O/S
Users
shell
CMSC 104, L03
23
CMSC 104, L03
24
telnet linux1.gl.umbc.edu
CMSC 104, L03
25
CMSC 104, L03
26
Unix Graphical User Interface (GUI)
Terminal Icon
CMSC 104, L03
27
How Do I Communicate With the Computer
Using the OS? (con’t)
• When you log in to the Linux system here, a user
prompt will be displayed:
linux#[1]% _
where # is the number of the Linux server that you have
connected to. You may use any of the servers.
• The number in the brackets will change as you work. It is
the “number” of the command that you are about to type.
• If this prompt is not on the screen at any time, you are not
communicating with the OS.
CMSC 104, L03
28
Linux Overview
• Files and Filenames
• Directories and Subdirectories
• Frequently Used Commands
CMSC 104, L03
29
Files
• A file is a sequence of bytes.
• It can be created by
o
o
a text editor (xemacs, pico)
a computer program (such as a C program)
• It may contain a program, data, a
document, or other information .
• Files that contain other files are called
directories (sometimes called folders).
CMSC 104, L03
30
CMSC 104, L03
31
Linux Filenames
• Restrictions
o
o
o
May not contain blanks or metacharacters
Have a maximum length
Are case sensitive
• It is best to stick with filenames that contain
letters (uppercase or lowercase), numbers,
and the underscore ( _ ) for now.
• Wildcard characters: * ?
[ range ]
CMSC 104, L03
32
Directories
• Directories contain files or other directories
called subdirectories. They may also be
empty.
• Directories are organized in a hierarchical
fashion.
• They help us to keep our files organized.
CMSC 104, L03
33
Directories (con’t)
/afs/umbc.edu/users/j/d/jdoe28
junk
recipes
pie
apple
CMSC 104, L03
notes
cookie
peach
CMSC104
choc_chip
34
Directories (con’t)
• Your home directory is where you are located
when you log in.
• The current directory is where you are located
at any time while you are using the system.
• Files within the same directory must be given
unique names.
• Paths allow us to give the same name to
different files located in different directories.
• Each running program has a current directory
and all filenames are implicitly assumed to start
with the name of that directory unless they begin
with a slash.
CMSC 104, L03
35
Subdirectories
• Are used for organizing your files
• For example
o
o
make a subdirectory for CS104
make subdirectories for each project
CS104
project1
CMSC 104, L03
project2
...
project8
36
Moving in the Directory Tree
• . (dot) is the current directory.
• . . (dot-dot) is the parent directory.
• Use the Linux command cd to change
directories.
• Use dot-dot to move up the tree.
• Use the directory name to move down.
• Use the complete directory name (path
name) to move anywhere.
CMSC 104, L03
37
Frequently Used Linux Commands
• passwd, man, lpr
• pwd, ls, cat, more, cd, cp, mv, rm
• mkdir, rmdir
• ctl-c
References:
• Linux man page
• Links from the 104 homepage
• Books
CMSC 104, L03
38
Wildcard Characters
• You will find wildcard characters useful
when manipulating files (e.g., listing or
moving them).
• The wildcard characters are * and ?
• ? is used to represent any single character.
• * is used to represent 0 or more characters.
CMSC 104, L03
39