Sie sind auf Seite 1von 40

Operating Systems Operating Systems

Operating System handIes


W Memory Addressing & Management
W Interrupt & Exception HandIing
W Process & Task Management
W FiIe System
W Timing
W Process ScheduIing & Synchronization
ExampIes of Operating Systems
W RTOS - ReaI-Time Operating System
W SingIe-user, SingIe-task: exampIe PaImOS
W SingIe-user, MuIti-task: MS Windows and MacOS
W MuIti-user, MuIti-task: UNIX
OS manages resources OS manages resources
iles, directories iles, directories
Devices Devices
Processes Processes
Memory Memory
/O /O
What is an Operating System?
W OS = Operating System
W program that controls the execution of application
programs
W n interface between applications and hardware
W Makes the computer more convenient to use
W Manages the resources of a computer and
Wcontrols the way they are used
W llows resources to be used in an efficient manner
What is an operating system?
The operating system: A collection oI
programs that manages and controls
applications and other soItware, and
coordinates the various hardware components
to perIorm tasks requested by the user.
Controls both Hardware and SoItware
Where are OS's Used?
Desktop and Server Computers
2 DOS + Windows 95/98/ME
3 Windows NT/2000/XP
4 ree Unix variants: Linux, reeBSD, NetBSD, etc
5 Commercial Unix variants: Solaris, HP-UX, X, etc
Some Game Consoles
7 Xbox: Cut-down Windows 2000
8 Personal Digital ssistants (PDs)
9 PalmOS
0 Windows CE Windows Mobile
Mobile Phones
2 Symbian OS
3 Windows Mobile
4 Cars (fancy ones)
OPERATING SYSTEM
OJERJIEW
The Layers Of
A System
Program Interface
Humans
User Programs
O.S. Interface
O.S.
Hardware Interface/
PriviIeged Instructions
Disk/Tape/Memory
Error detection and response
nternal and external hardware errors
2 Memory errors
3 Device failures
4 Software errors
5 rithmetic overflow
Division by zero
7 ccess to forbidden memory locations
Services Provided by the OS
Program execution
2 ccess to nput/Output (/O) devices
3 Disks, screens, keyboards, mice
4 Printers, cameras, speakers, etc
5 Controlled access to files
System access
Tasks of the OS
WLoads programs
WDoes Job control (management)
WBIOS
WDevice Drivers:
Wspecial software that enables the computer to communicate
with peripheral
WYou can update the Operating System by adding a new device
driver (for a new printer)
WOS typically offers the following file operations:
creating, deleting, renaming, reading, writing
ernel
Portion of operating system that is always in main memory
Contains most-frequently used functions
lso called the nucleus
Good performance of the kernel is very important
1he englne wlLhln Lhe operaLlng sysLem whlch ls ln
charge of handllng Lasks and communlcaLlons
beLween Lhem ls called
Lhe kernel
A realLlme kernel for lnsLance manages
breaklng up an appllcaLlon lnLo a serles of
Lasks Lo be performed ln a mulLlLasklng
fashlon
8lCS
8lCS (8aslc lnpuL CuLpuL SysLem)
Small unchangeable parL of Lhe operaLlng sysLem ln Lhe
8CM
8CM 8ead Cnly Memory
W reLalns lnsLrucLlons even wlLhouL elecLrlclLy nonvolaLlle
8AM 8andom Access Memory
W erased when power ls off volaLlle
SLarL buLLon poslLlon 00000 of 8lCS memory begln
execuLlng
8lCS
W 8lCS loads Lhe resL of operaLlng sysLem lnLo 8AM and Lurns conLrol
of Lhe compuLer over Lo lL
W We say lL 8ooLs Lhe SysLem
8ooLlng Lhe CompuLer
Load Lhe CS
CperaLlng sysLem ln 8CM looks for and loads
Lhe remalnlng operaLlng sysLem lnLo 8AM
A centraI piece of an operating system is
the scheduIer
The scheduIer maintains an overview of aII tasks
which are running or pending and decides which one to
execute next
There are many aIgorithms to determine which task
to run next ranging from the simpIe first-in-first-out and
shortest-jobfirst, to more compIex priority-based
aIgorithms found on reaI-time operating systems
Parkinson's Law:
!rograms expand to fill the memory available to hold them.
The part of the operating system which handIes memory management is
referred to as the Memory Manager
The section of the processor which handIes memory management is
referred to as the Memory Management Unit (MMU)
The memory management system is designed to make memory
resources avaiIabIe to processes safeIy and efficientIy
The memory management system is designed to make memory
resources avaiIabIe safeIy and efficientIy among threads and
processes
W It provides a compIete address space for each process, protected from
aII other processes.
W It enabIes program size to be Iarger than physicaI memory.
W It aIIows efficient sharing of memory between processes.
Dser lnLerface
W Dser lnLerface 1he parL of Lhe operaLlng
sysLem LhaL Lhe user sees and
communlcaLes wlLh 1wo ways
CDl (Craphlcal Dser lnLerface) lcons (graphlcal
represenLaLlon of command cholces) are selecLed
uslng an lnpuL devlce usually a mouse
Command llne Commands are Lyped ln uslng Lhe
keyboard
W Lxample copy cpaperLxL a**
lles and lle ManagemenL
W lle Lhe name glven Lo any program or chunk
of daLa LhaL ls sLored on floppy hard dlsk Cu
8CM or oLher sLorage
LxLenslons A 3leLLer exLenslon ls added Lo Lhe
flle name separaLed by a perlod
W Pelps Lhe operaLlng sysLem ldenLlfy Lhe Lype of flle
W CS Lhen knows whaL program Lo load Lo open Lhe flle
when you double cllck on Lhe flle
W Lxample lndexhLm ldenLlfles a documenL called lndex
LhaL ls made up of P1ML code
lles and lle ManagemenL
W lle SysLem
Plerarchlcal lle sysLem organlzes flles ln a Lreellke
sLrucLure or hlerarchy Crganlzes flles lnLo
grouplngs folders
lnpuL CuLpuL of lnformaLlon
uevlce ConLrol
W lnsLalllng a new devlce
A physlcal connecLlon musL be made Lo Lhe
perlpheral
1he proper sofLware drlvers musL be added Lo Lhe
operaLlng sysLem
W uevlce urlver A program LhaL wlll allow communlcaLlon
beLween Lhe operaLlng sysLem and anoLher parL of Lhe
compuLer usually a perlpheral devlce llke a prlnLer or
scanner lL ls an addlLlon Lo Lhe operaLlng sysLem
Memory Concerns
Cache Memory
W Cache memory Dsed when Lhe speed of
memory access ls Loo slow can'L keep up wlLh
Lhe CD's needs
very fasL memory used by Lhe operaLlng sysLem Lo
house Lhe daLa and lnsLrucLlons LhaL are currenLly
belng used
MulLlLasklng
W Allows several appllcaLlon programs Lo
be ln 8AM memory aL one Llme
Allows Lhe operaLlng sysLem Lo conLrol more Lhan
one program slmulLaneously
Lach program sLeallng" CD Llme
W Lxample laylng a game whlle a large documenL ls
belng prlnLed
ln a mulLlprocessor sysLem Lhe CS also allocaLes [obs
Lo keep each of Lhe CD's busy
MuItiprogramming
When one job needs to wait for /O, the processor
can switch to the other job
MuItithreading
Each process is divided into threads that can run simultaneously
process is a collection of one or more threads
Symmetric muItiprocessing
There are multiple processors
These processors share same main memory and /O facilities
ll processors can perform the same functions
Distributed operating systems. Provides the illusion of a single main
memory and single secondary memory space
Distributed shared memory
Distributed fiIe systems
WMuItiprogramming ( dynamic switching ) While one job waits for a
resource, the CPU can find another job to run t means that several
jobs are ready to run and only need the CPU in order to continue
Other Characteristics incIude:
Time Sharing - multiprogramming environment that's also interactive
MuItiprocessing - Tightly coupled systems that communicate via shared
memory Used for scientific applications Used for speed improvement by
putting together a number of off-the-shelf processors
Distributed Systems - Loosely coupled systems that communicate via
message passing dvantages include resource sharing, speed up,
reliability, communication
ReaI Time Systems - Rapid response time is main characteristic Used in
control of applications where rapid response to a stimulus is essential
'ery fast storage is very expensive. So the Operating System manages a hierarchy of storage
devices in order to make the best use of resources. In fact, .438/07,-0 effort goes into this
support.
OPERATING SYSTEM
OJERJIEW
Storage
Hierarchy
Fast and Expensive
SIow an Cheap
Cloud computing is a style of computing in which dynamically scalable and
often virtualized resources are provided as a service over the nternet
Users need not have knowledge of, expertise in, or control over the
technology infrastructure in the "cloud" that supports them
The concept generally incorporates combinations of the following:
infrastructure as a service (aaS)
platform as a service (PaaS)
software as a service (SaaS)
Other recent technologies that rely on the nternet to satisfy the
computing needs of users Cloud computing services often provide
common business applications online that are accessed from a web
browser, while the software and data are stored on the servers
The term cloud is used as a metaphor for the nternet, based on how the
nternet is depicted in computer network diagrams and is an abstraction
for the complex infrastructure it conceals
The first academic use of this term appears to be by Prof Ramnath
Chellappa (currently at Goizueta Business School, Emory University)
who originally defined it as a computing paradigm where the boundaries
of computing will be determined by economic rationale rather than
technical limits
form of distributed computing whereby a 'super
and virtual computer' is composed of a cluster of
networked, loosely coupled computers, acting in
concert to perform very large tasks"
rid computing (or the use of computational grids) is the application of
several computers to a single problem at the same time usually to a scientific
or technical problem that requires a great number of computer processing cycles
or access to large amounts of data
One of the main strategies of grid computing is using software to divide and
apportion pieces of a program among several computers, sometimes up to many
thousands Grid computing is distributed, large-scale cluster computing, as well
as a form of network-distributed parallel processing The size of grid computing
may vary from being small confined to a network of computer workstations
within a corporation, for example to being large, public collaboration across
many companies and networks This inter-/intra-nodes cooperation "across
cyber-based collaborative organizations are also known as Virtual Organizations"
computer cIuster is a group of linked computers, working together
closely so that in many respects they form a single computer The components of
a cluster are commonly, but not always, connected to each other through fast
local area networks Clusters are usually deployed to improve performance
and/or availability over that provided by a single computer, while typically being
much more cost-effective than single computers of comparable speed or
availability(
Multiple computers are linked together to share computational workload or
function as a single virtual computer Logically, from the user side, they are
multiple machines, but function as a single virtual machine Requests
initiated from the user are managed by, and distributed among, all the
standalone computers to form a cluster This results in balanced
computational work among different machines, improving the performance
of the cIuster system.
t is a form of distributed computing whereby a super and virtual
computer is composed of a cluster of networked loosely coupled computers
acting in concert to perform very large tasks
What distinguishes grid computing from conventional cluster computing systems
is that grids tend to be more loosely coupled, heterogeneous, and
geographically dispersed lso, while a computing grid may be dedicated to a
specialized application, it is often constructed with the aid of general-purpose
grid software libraries and middleware
ParaIIeI computing, on the other hand, uses multiple
processing elements simultaneously to solve a problem This is
accomplished by breaking the problem into independent parts so that
each processing element can execute its part of the algorithm
simultaneously with the others The processing elements can be
diverse and include resources such as a single computer with multiple
processors, several networked computers, specialized hardware, or
any combination of the above
ParaIIeI computingis a form of computation in which many
calculations are carried out simultaneously,operating on the principle that
large problems can often be divided into smaller ones, which are then
solved concurrently ("in parallel")
Parallel computers can be roughly classified according to the level at which
the hardware supports parallelismwith multi-core and multi-processor
computers having multiple processing elements within a single machine,

Das könnte Ihnen auch gefallen