Upload
cynthia-salinas
View
28
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Operating Systems. CIS 432. David Goldschmidt, Ph.D. Computer Science The College of Saint Rose. What is an Operating System?. An Operating System is the software interface between hardware and its users (via application software) Operating systems: Execute user and system programs - PowerPoint PPT Presentation
Citation preview
What is an Operating System?
An Operating System is the software interface between hardware and its users(via application software)
Operating systems: Execute user and system programs Manage & coordinate computer hardware Serve as resource allocators Are typically interrupt-driven
Operating Systems System Software
Computer programs that directlycontrol the operations of thecomputer and its devices
Operating System Coordinates and orchestrates all activities
of the hardware devices in a computer Provides a Graphical User Interface
(GUI) forusers to interact with the computer
Design Goals of an Operating System
From a user’s perspective, an operating system should be: easy to use easy to learn reliable safe fast
System goals ofan operating system typically include: reliability flexibility extensibility speed efficiency maintainability
Functional Components
Functional components of anoperating system include: Process manager Memory manager Virtual memory manager File manager Device manager
Batch Jobs
A job is a unit of work submitted by a user tothe operating system, typically consisting of: a program either in a source
language or in binary form a set of input data used by
the program when it executes
Multiprogramming
In multiprogramming, several jobs reside in memory simultaneously CPU use is shared
and managed by theoperating system
Multiprogramming
Multiprogramming provides efficient use of the computer (CPU) and its resources (e.g. I/O) One user cannot keep the
CPU and I/O devices busyat all times
Each running program iscalled a job
Multiprogramming organizesjobs such that the CPU alwayshas exactly one to execute
Multiprogramming
Computer is often idle – why? CPU and hardware much
faster than I/O When a user or process is
blocked waiting for I/O,the operating system switchesto another job
A subset of jobs is storedin memory, awaiting CPUor other resources
Timesharing (Multitasking)
To ensure fairness, consider a timesharing scheme in which the CPU cycles through all jobs Each job (process) is given
a fixed amount of CPU time Switching from one running
process to another is calleda context switch
A process may relinquish itstime if blocked on an I/O request
Timesharing (Multitasking)
Unless blocked on I/O, processes line up,awaiting their turn with the CPU CPU scheduling algorithm
is necessary to efficientlydecide the order in whichprocesses execute
If processes do not fit intomemory, the operating systemwill swap them in and out ofmemory from virtual memory
History of Operating Systems
Personal computer revolution……of the late 1970s and early 1980s
and the Apple IIe
Computer System Organization
Computer systems are increasingly complex Require an operating system to
coordinate and control hardware activities
system bus
…and networked
Computer Networks A Local Area Network (LAN) is a
networkof machines coveringa limited geographicalarea
A Metropolitan AreaNetwork (MAN)covers more denselypopulated area
Computer Networks A Wide Area Network
(WAN) covers multiplelocations Each location consists
of one or moreLANs or MANs
Central Processing Unit (CPU)
Software instructions are executed bya Central Processing Unit (CPU)
An external hardware event triggersan interrupt by signaling the CPU e.g. mouse movement, keyboard event
Software triggers an interrupt byexecuting a system call e.g. disk read, graphics output, printer output
Interrupt Mechanism
Interrupts are handled much like calling a function or method in a programming language I/O devices
typically use abuffering strategy
What is Caching?
Caching is a technique totemporarily store data ina smaller and fastermemory component
why implement cachingin an operating system?
Retrieving Data from a Cache
When the operating system attempts to read from memory, check to see if the requested data is already in the cache If it is, data is read from the cache
(fast!) If not, data is copied from memory to
the cache (maybe next time…)