Andy Wang COP 5611 Advanced Operating Systems

Slides:



Advertisements
Similar presentations
Introduction CSCI 444/544 Operating Systems Fall 2008.
Advertisements

Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1: Operating Systems Overview
OS Spring’03 Introduction Operating Systems Spring 2003.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Course Introduction Andy Wang COP 5611 Advanced Operating Systems.
Chapter 7 Operating Systems. Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
Silberschatz, Galvin and Gagne  Operating System Concepts Operating Systems 1. Overview 2. Process Management 3. Storage Management 4. I/O Systems.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
Introduction and History Sarah Diesburg Operating Systems COP 4610.
Lecture on Central Process Unit (CPU)
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction and History Andy Wang Operating Systems COP 4610 / CGS 5765.
Introduction to Operating Systems Concepts
Advanced Operating Systems CIS 720
Andy Wang COP 5611 Advanced Operating Systems
Chapter 1: Introduction
Course Introduction Dr. Eggen COP 6611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
CSE451 I/O Systems and the Full I/O Path Autumn 2002
CS490 Windows Internals Quiz 2 09/27/2013.
Operating Systems and Systems Programming
Introduction and History
Introduction to Operating Systems
Introduction and History
CSCI206 - Computer Organization & Programming
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Introduction and History
Operating Systems.
Lecture Topics: 11/1 General Operating System Concepts Processes
Introduction to Operating Systems
Operating Systems : Overview
Threads and Concurrency
Threads Chapter 4.
Introduction to Operating Systems
Operating Systems : Overview
Operating Systems Lecture 1.
Major Topics in Operating Systems
Operating Systems : Overview
Introduction and History
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Andy Wang COP 5611 Advanced Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Introduction and History
Chapter 2 Operating System Overview
CSE 542: Operating Systems
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Operating System Overview
Andy Wang COP 5611 Advanced Operating Systems
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

Andy Wang COP 5611 Advanced Operating Systems Course Introduction Andy Wang COP 5611 Advanced Operating Systems

A Few Words on “Design”

A Few Words on “Design” Bugatti 1,000 horse power 254 MPH 4 turbos 10 radiators Ceramic brakes Fuel tank with only enough capacity to last for 12 minutes Or tires will melt

History of OS: Change! 1980 2009 Factor Speed CPU 1 MIPS 77,000 MIPS 7.7 x 105 Memory 500 ns 0.9 ns 1.8 x 103 Disk 18 ms 4 ms 2.2 x 101 Network 300 b/sec 10 Gb/sec 3.3 x 107 Capacity 64 KB 8 GB 1.3 x 105 1 MB 2 TB 2.0 x 106 Cost Per MIP $100K/MIP $.007899 1.0 x 107 Other Address bits 8 64 Users/machine 10s 0.1 1.0 x 10-2

Changing Roles of the OS What OS does depends on available hardware and software And on changing uses of machines And on changing expectations of users

Course Emphasis Advanced background Major concepts and design principles Well-known systems

Course Structure Prelude to advanced OS concepts File systems Interprocess communications Computer organizations Distributed operating systems Security Current topics

Prelude to Adv OS Concepts Single-processor operating system Process management Synchronization Memory management File systems and device support Network and communication support Security

Single-Processor OS Purposes Clean virtual machine Hardware independence Resource sharing and management Long term data storage Protection, security, accounting Real time support, parallelism, human interface

Some Deep Questions How do we organize the OS effectively for development, evolution, performance, and security? How do we design a distributed OS that can be used on multiple machines? How do we use multi-processor machines effectively?

Process Management Thread: Address space: Process:

Process Management Thread: A sequential execution stream Address space: Chunks of memory and everything needed to run a program Process: An address space + thread(s)

Some Deep Questions How do processes communicate and share states efficiently and securely on the same machine? Across multiple machines? How do we improve the computing process model?

Process Scheduling Provides the illusion of multiple processes running at the same time on a single processor Context switching: changing the attention of the processor Involves saving and restoring states Necessary to cross kernel boundary

Some Deep Questions How do we achieve fairness, high throughput, and responsiveness at the same time? How do we reduce or avoid the cost of context switching?

Synchronization Provides correct execution or coordinating threads in the face of arbitrary context switching

Synchronization Concepts Atomic actions: all or nothing Mutual exclusion: one thread in the critical section at a time Semaphores: atomic, counter-based locks Deadlock: circular waiting on resources

Some Deep Questions How do systems achieve agreement across multiple machines? How do you represent the notion of time and the ordering of events across multiple machines?

Memory Management Virtual memory: provides the illusion of infinite physical memory Swapping: moves processes to disk as necessary Paging: allows processes to run with only the active pages in memory Assumptions: scarcity of memory and locality of reference

Some Deep Questions How do we coordinate machines to share memory? How can we simplify memory management as memory becomes abundant?

File Systems File: data + attributes File system services: Organization Naming Access Synchronization Protection and security

Some Deep Questions How do we make different file systems work together, even across machines? How do we provide consistency, availability, and reliability to copies of a file across multiple machines? How do we handle very large data sets?

Device Caching I/O devices tend to be a lot slower than memory speed Caching: stores extra data in memory in hope of near-term reuse

Some Deep Questions How do we coordinate the memory resources across machines to enhance performance? How do we handle new devices with new characteristics?

Homework 1 Attach a recent photo Within 1/2 page, tell me something interesting about yourself Email me your project team information This counts as one paper critique