Operating Systems I An Introduction to Operating System

advertisement
Operating Systems I
An Introduction
to
Operating System
Concepts
CMSC 104
1
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
2
Evolution of Operating System

OS for batch jobs
o Program execution required significant
preparation of equipment
o Program execution (job)
o OS was a system to simplify program setup
and simplify transition between jobs
o Physical separation of users and
equipment led to computer operators
CMSC 104
3
OS Evolution (cont’d)
o User’s left jobs with the operator and came
back the next day (batch jobs)
o Users had no interaction with computer
during program execution. Maybe okay for
some applications, but not for all.
CMSC 104
4
OS Evolution

OS for Interactive Processing
o Allowed programs to carry on dialogue with
user via remote terminals (workstations)
o Real-time processing
o Users demand timely response
o Machines too expensive to serve only one
user
o Common for several users to want
interactive services at the same time
CMSC 104
5
OS Evolution (cont’d)

OS for time-sharing
o To accommodate multiple real-time users,
the OS rotates its various jobs in and out of
execution via time-sharing
o Each job gets a predetermined “time slice”
o At end of time slice current job is set aside
and a new one starts
o By rapidly shuffling jobs, illusion of several
jobs executing simultaneously is created
CMSC 104
6
OS Evolution (cont’d)
o without time slicing, a computer spends
most of its time waiting for peripheral
devices or users
o A collection of tasks can be completed in
less time with time-sharing than when
completed sequentially
CMSC 104
7
Different Operating Systems 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 VAX - VMS or Ultrix
o IBM PCs - DOS or Linux
CMSC 104
8
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
9
Types of software (cont’d)

Utility software
o providing fundamental activities, yet not
included with OS
o “extend” the OS
o Distinction between applications and
utilities is often vague
o Distinction between OS and utilities is also
vague
CMSC 104
10
The OS Shell

Defines interface between OS and
users
o Windows GUI
o UNIX command line
o UNIX users can choose among a variety of
shells
•csh is the “C shell”
•tcsh is an enhanced “C shell”
o Shell programming
CMSC 104
11
OS Shell interface
Users
Users
O/S
Users
shell
CMSC 104
12
The OS Kernel
The internal part of the OS is often
called the Kernel
 Kernel Components

o File Manager
o Device Drivers
o Memory Manager
o Scheduler
o Dispatcher
CMSC 104
13
OS File Manager
Maintains information about the files
that are available on the system
 Where files are located in mass storage,
their size and type and their protections,
what part of mass storage is available
 Files usually allowed to be grouped in
directories or folders. Allows
hierarchical organization.

CMSC 104
14
OS Device Drivers
Software to communicate with
peripheral devices or controllers
 Each driver is unique
 Translates general requests into specific
steps for that device

CMSC 104
15
OS Memory Manager
This unit is responsible for coordinating
the use of the machine’s main memory.
 It decides what area of memory is to be
allocated for a program and it’s data
 It allocates and deallocates memory for
different programs and always knows
what areas are free.

CMSC 104
16
OS Scheduler

Maintains a record of processes that are
present, adds new processes, removes
completed processes
o memory area(s) assigned
o priority
o state of readiness to execute (ready/wait)
CMSC 104
17
OS Dispatcher
Ensures that processes that are ready
to run are actually executed
 Time is divided into small (50 ms)
segments called a time slice.
 When the time slice is over, the
dispatcher allows scheduler to update
process state for each process, then
selects the next process to run

CMSC 104
18
OS Summary
Shell -- interface to user
 File Manager -- manages mass memory
 Device Drivers -- communicate with
peripherals
 Memory Manager -- manages main
memory
 Scheduler & Dispatcher -- manage
processes

CMSC 104
19
Utilities
Operating Systems usually come with
some associated utility programs
 UNIX usually has the text editors emacs
and vi (and sometimes pico)
 UNIX has it’s own sort utility
 UNIX has it’s own mail utility

CMSC 104
20
Download