31
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432

Operating Systems

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

OperatingSystems

David Goldschmidt, Ph.D.Computer Science

The College of Saint Rose

CIS 432

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

History of Operating Systems

In the beginning……the 1940s ENIAC

History of Operating Systems

Automation in the 1950s using punch cards

computerprogram

inside

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

History of Operating Systems

IBM 360 introduced……in 1964

Multiprogramming

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

History of Operating Systems

History of Operating Systems

World Wide Web and Internet revolution…

…of the 1990s and 2000s

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

Computer Networks LANs connect to other networks via a

router

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

Typical Interrupt Timeline

…as do I/O transfer times

interrupt processingtimes vary…

Synchronous & Asynchronous I/O

Synchronous Asynchronous

Hierarchical Storage Architecture

very fast

very slow

very small

very large

non-volatile

volatile

What is Caching?

Caching is a technique totemporarily store data ina smaller and fastermemory component

why implement cachingin an operating system?

Performance

A key goal in operating system design isachieving fast and efficient performance

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…)

Principle of Locality

When a running program reads from memory location X, the principle of locality predicts that the next memory location requested will be near X

Store pages of data in a cache, where each page is typically the same size (e.g. 16KB)

memory location X