DOC PREVIEW
CORNELL CS 414 - Course Introduction

This preview shows page 1-2-15-16-17-32-33 out of 33 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 414/415 Systems Programming and Operating SystemsWho am I?Goals for TodayWhy take this course?Slide 5Functionality comes with complexity?The purpose of an OS:But OS designs are ComplexWhat is an Operating System?What is an OS?What is in an OS?What are the issues in OS Design?Slide 13Why is this material critical?Where’s the OS? MelbourneWhere’s the OS? Mesquite, TXHistory of Operating SystemsMultiprogramming SystemsTime Sharing SystemsPersonal Operating SystemsDistributed Operating SystemsParallel Operating SystemsReal Time Operating SystemsUbiquitous SystemsOver the yearsWhy Study Operating Systems?AdministrativeCourse HelpCS 414: OverviewCS 415: OverviewGradingAcademic IntegrityCourse MaterialCS 414/415Systems Programming and Operating SystemsSpring 2007Instructor: Hakim WeatherspoonWho am I?•Dr. Hakim Weatherspoon –(Hakim means Doctor in Arabic)–Background in Education•Undergraduate University of Washington–Played Varsity Football»Some teammates collectively make $100’s of millions»I teach!!!•Graduate University of California, Berkeley–Some class mates collectively make $100’s of millions–I teach!!!–Background in Operating Systems•Peer-to-Peer Storage–Antiquity project - Secure wide-area distributed system–OceanStore project – Store your data for 1000 years•Network overlays–Bamboo and Tapestry – Find your data around globe•Tiny OS–Early adopter in 1999, but ultimately chose P2P directionGoals for Today•Why take this course on Operating Systems?•What is an Operating System?•History of Operating System design•Oh, and “How does this class operate?”Interactive is important!Ask Questions!Why take this course?Why take this course?•Operating systems are the core of a computer system–OS is magic, unknown, frustrating, and/or scary to most people.–Course will demystify OS!Functionality comes with complexity?•Every piece of computer hardware different–Different CPU•Pentium, PowerPC, ColdFire, ARM, MIPS–Different amounts of memory, disk, …–Different types of devices•Mice, Keyboards, Sensors, Cameras, Fingerprint readers–Different networking environment•Cable, DSL, Wireless, Firewalls,…•Questions:–Does the programmer need to write a single program that performs many independent activities?–Does every program have to be altered for every piece of hardware?–Does a faulty program crash everything?–Does every program have access to all hardware?The purpose of an OS:•Two main functions:•Manage physical resources:–It drives various devices•Eg: CPU, memory, disks, networks, displays, cameras, etc–Efficiently, reliably, tolerating and masking failures, etc•Provide an execution environment to the applications running on the computer (programs like Word, Emacs)–Provide virtual resources and interfaces•Eg: files, directories, users, threads, processes, etc–Simplify programming through high-level abstractions–Provide users with a stable environment, mask failuresBut OS designs are Complex•Operating systems are a class of exceptionally complex systems–They are large, parallel, very expensive, not understood•Windows NT/XP: 10 years, 1000s of people, …–Complex systems are the most interesting:•Internet, air traffic control, governments, weather, relationships, etc•How to deal with this complexity?–Our goal: systems that can be trusted with sensitive data and critical rolesWhat is an Operating System?•Magic! •A number of definitions:–Just google for define: Operating System•A few of them:–“Everything a vendor ships when you order an operating system”–“The one program running at all times on the computer”–“A program that manages all other programs in a computer”What is an OS?•A Virtual Machine Abstraction–An operating system implements a virtual machine that is (hopefully) easier and safer to program and use than the raw hardware•What is the hardware interface?–Physical reality•What is the application interface?–Nicer abstractionApplicationOperating SystemHardwarePhysical Machine InterfaceVirtual Machine InterfaceWhat is in an OS?Operating System ServicesInterrupts, Cache, Physical Memory, TLB, Hardware DevicesGeneric I/O File SystemMemory ManagementProcess ManagementVirtual MemoryNetworkingNamingAccess ControlWindowing & graphicsWindowing & GfxApplicationsOS InterfacePhysical m/c IntfDevice DriversShellsSystem UtilsQuake Sql ServerLogical OS StructureWhat are the issues in OS Design?•Structure: how is an operating system organized ?•Sharing: how are resources shared among users ?•Naming: how are resources named by users or programs ?•Protection: how is one user/program protected from another ?•Security: how to authenticate, control access, secure privacy ?•Performance: why is it so slow ?•Reliability and fault tolerance: how do we deal with failures ?•Extensibility: how do we add new features ?What are the issues in OS Design?•Communication: how can we exchange information ?•Concurrency: how are parallel activities created and controlled ?•Scale, growth: what happens as demands or resources increase ?•Persistence: how can data outlast processes that created them•Compatibility: can we ever do anything new ?•Distribution: accessing the world of information•Accounting: who pays bills, and how to control resource usageWhy is this material critical?•Concurrency–Therac-25, Ariane 5 rocket (June 96)•Communication–Air Traffic Control System•Virtual Memory–Blue Screens of Death•Security –Credit card dataWhere’s the OS? MelbourneWhere’s the OS? Mesquite, TXHistory of Operating Systems•Initially, the OS was just a run-time library–You linked your application with the OS, –loaded the whole program into memory, and ran it–How do you get it into the computer? Through the control panel!•Simple batch systems (mid1950s – mid 1960s)–Permanently resident OS in primary memory–Loaded a single job from card reader, ran it, loaded next job...–Control cards in the input file told the OS what to do–Spooling allowed jobs to be read in advance onto tape/diskComputeI/OMultiprogramming Systems •Multiprogramming systems increased utilization–Developed in the 1960s–Keeps multiple runnable jobs loaded in memory–Overlaps I/O processing of a job with computation of another–Benefits from I/O devices that can operate asynchronously–Requires the use of interrupts and DMA–Optimizes for


View Full Document

CORNELL CS 414 - Course Introduction

Documents in this Course
Security

Security

49 pages

Processes

Processes

24 pages

Deadlocks

Deadlocks

57 pages

Threads

Threads

5 pages

Threads

Threads

29 pages

Deadlocks

Deadlocks

36 pages

Load more
Download Course Introduction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Course Introduction and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Course Introduction 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?