G22.3250-001 Robert Grimm New York University Honors Operating Systems.

Slides:



Advertisements
Similar presentations
But nobody told me this! Planning for success Mario Borunda and Girish Chowdhary (The advise I whish I had been told)
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
CS510 Concurrent Systems Course Overview. CS510 - Concurrent Systems 2 About the Instructor  Instructor – Jonathan Walpole o Professor at PSU o Research.
Operating Systems CS451 Brian Bershad
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
G Robert Grimm New York University Honors Operating Systems.
1: Operating Systems Overview
CS533 Concepts of Operating Systems Class 1 Course Overview and Entrance Exam.
1 CIS450/IMSE450/ECE478 Operating Systems Winter 2003 Professor Jinhua Guo.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
EECE 571R (Spring 2010) Autonomic Computing (Building Self* Systems) Matei Ripeanu matei at ece.ubc.ca.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Operating Systems: Principles and Practice
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
CS 162 Discussion Section Week 1 (9/9 – 9/13) 1. Who am I? Kevin Klues Office Hours:
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Chapter 1. Introduction What is an Operating System? Mainframe Systems
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
CS 858 – Hot Topics in Computer and Communications Security Winter 2009 Introduction.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Operating Systems and Systems Programming CS162 Teaching Staff.
Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.
Operating System Organization Chapter 3 Michelle Grieco.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Welcome to CPS 210 Graduate Level Operating Systems –readings, discussions, and programming projects Systems Quals course –midterm and final exams Gateway.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
CS603 Basics of underlying platforms January 9, 2002.
CS533 Concepts of Operating Systems Class 1 Course Overview.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois at.
CS614: Advanced Course in Computer Systems (Spring’04) Instructor: Ken Birman TA: non assigned (yet)
Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec Lecture 33 Instructor: Bhuvan Urgaonkar.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Certificate in Accounting NOS 116, 118, 213, 222 Lecture 1: Introduction.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 1: Introduction & OS Structures (Part One, Chapters 1&2)
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
CMPS Operating Systems Prof. Scott Brandt Computer Science Department University of California, Santa Cruz.
Introduction to Operating Systems Concepts
COMPSCI 110 Operating Systems
COMPSCI 110 Operating Systems
Course Information Mark Stanovich Principles of Operating Systems
Chapter 1: Introduction
Operating Systems and Systems Programming
Advanced Operating Systems
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Operating Systems: A Modern Perspective, Chapter 3
Instructor: Xiuwen Liu Department of Computer Science
Lecture Topics: 11/1 Hand back midterms
CSCI 1730: C++ and System Programming
Presentation transcript:

G Robert Grimm New York University Honors Operating Systems

Course Overview  Prerequisite  Undergraduate operating systems  Three goals  Gain an appreciation of existing systems research  Perform systems design and implementation yourself  Develop your communication skills  Two components  Reading, reviewing, and discussing papers  Performing a term-long research project

Readings

 Read papers  What is the problem and why is it important?  How is the solution new or different from other work?  What are the contributions and limitations?  Write one paragraph review  One sentence summary  Key strengths  Key weaknesses  Anything else important to you

Readings (cont.)  Submit the review by (by 10am on day of class)  And by paper if you want my feedback  Read other students’ reviews  We use the mailing list for reviews and announcements  Participate in class discussion  I provide slides to review material and guide discussion  Readings and reviews are essential!

Topics  Historical perspective  Early operating systems  RC 4000, Unix, Multics  Structure and organization  Where to draw the line between kernel and userland?  How to isolate applications from each other?  Managing concurrency  Who controls scheduling and how?

Topics (cont.)  Communication  Two paradigms: exchange of data vs. computations  An early attempt at security  A complete distributed system  Virtual memory  Structure, interface, measurement  Value-added service: Recoverable virtual memory  File systems  Local, client/server, peer-to-peer

Topics (cont.)  Internet-scale services  Clusters, clusters, clusters  Including how not to do it  Mobile and pervasive computing  Management of storage updates and conflicts in the presence of disconnection  Structuring and services  Pulling back  How to design systems?  Our No. 1 principle

Operating vs. Distributed Systems  Operating systems manage resources on a single machine  Distributed systems aim to make several machines look more like one  Ideal: Transparency  Reality  Failures  Concurrency  Communication latency  Security  This is where the action is…

Projects

 In groups of 2-3, you perform your own research  Group charter  Project proposal  Literature search  Mid-term report  Final report and talk  Topic: operating and distributed systems  You may build on your own research, but the class project must have its own problem and contribution

Some Ideas  It’s all about web services  How do SOAP, XML-RPC, HTTP POST differ in expressive power?  How do the different technologies/systems perform?  It’s all about P2P, DHTs, CDNs  What design choices are there and how do they affect performance?  Measure alternatives on PlanetLab  Can we reconcile server-driven with client-driven distribution?  What is the measured impact of locality?  Choice of close or not-so-close peer

Hints on Methodology  If you don’t quite understand the issues, build a simple test system and refine it  Shoot for a working system quickly instead of aiming for the perfect system  Drawback: You may have to refactor/rewrite some  Tools are your friend  CVS: You will make mistakes  make/ant: You don’t have time to do things by hand

Hints on Methodology (cont.)  Do not optimize your system without measuring and profiling first  Make sure you understand (and can explain) your measurement results  Document early and everything  At the code-level: If you can’t describe it, don’t code it  At the system-level: Check for (in)consistency

A Few More Things

Collaboration Policy  Discuss readings and topics with each other  But write reading summaries individually  Help each other with project questions  But clearly identify any ideas, code, etc. from outside sources

Administrivia  One web site   One mailing list   Subscribe to this list  Post only plain-text messages with hard line endings  No HTML!  x groups  Start forming groups today, notify me by next Tuesday before class

Administrivia (cont.)  Official office hours TBA  Likely Wednesday afternoon  715 Broadway, room 711  If you have questions/need to talk, contact me!

Meet and Greet

Let’s Get Started

What is an Operating System?

 Manages hardware resources  Hides the gory details and provides a convenient API  CPU, memory, storage, networking, display, keyboard, mouse, printer  Multiplexes shared resources  Time and space multiplexing  Provides isolation and protection  Applications cannot clobber each other or their resources

The Red Line  To do its job, operating system must be privileged  Only the kernel can execute privileged instructions  Applications request operations from kernel  Kernel provides system call interface  open, read, write, fork, pipe, execute, wait, …  Applications set up arguments and then trap to kernel  Kernel performs service and returns to application  Where to draw the line?  What abstractions should the kernel provide?

The Unix Timesharing System  What is the key innovation of Unix?  What other important feature offers considerable power?  How does protection work in Unix?  In hindsight, what are shortcomings?  What else is noteworthy in the paper?

Three Design Considerations  Make it interactive  “Keep it simple, stupid” (KISS)  Not just economy (efficiency) but also elegance of design  “Eat your own dog food”

The Nucleus of a Multiprogramming System  How does the RC 4000 multiprogramming system differ from Unix?  How does RC 4000 process hierarchy differ?  How is it the same?  What style of communications does the RC 4000 use?  Does this structure remind you of any other systems?