CS 153 Design of Operating Systems Spring 2015 Lecture 1: Course Introduction Instructor: Zhiyun Qian Slides modified from Harsha Madhyvasta and Nael Abu-Ghazaleh.

Slides:



Advertisements
Similar presentations
Operating Systems ECE344 Introduction Ding Yuan ECE Dept., University of Toronto slides courtesy: Ashvin Goel, Yuanyuan.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Operating Systems CS451 Brian Bershad
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
CS533 Concepts of Operating Systems Class 1 Course Overview and Entrance Exam.
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
CS444/CS544 Operating Systems Introduction 1/12/2007 Prof. Searleman
EET 4250: Microcomputer Architecture Fall 2009 William Acosta URL:
Introduction to Computing Lecture 1. Instructor: Nadeem Ahmad Khan TA: Haroon Waseem Haroon Waseem.
Operating Systems: Principles and Practice
Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
Computer Network Fundamentals CNT4007C
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
CS 162 Discussion Section Week 1 (9/9 – 9/13) 1. Who am I? Kevin Klues Office Hours:
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Operating Systems CS3013 / CS502.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
COP3502: Introduction to Computer Science Yashas Shankar.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
1 CSCI 3120: Operating Systems Summer 2003 Instructor: Kirstie Hawkey Office hours (outside Room 311): Mon: 2:30-3:30, Fri: 10:30-11:30.
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.
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
IST 210: Organization of Data
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
OSes: 0. Prelim 1 Operating Systems v Objectives –to give some background on this subject Certificate Program in Software Development CSE-TC and CSIM,
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
CSE 153 Design of Operating Systems Winter 2015 Lecture 1: Course Introduction Guest lecturer: Prof. Tom Payne Instructor: Nael Abu-Ghazaleh Slides modified.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Course Book Course Objective - The student will be able to describe various operating system concepts as they are applied to memory, process, file system.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 1: Introduction & OS Structures (Part One, Chapters 1&2)
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
W4118 Operating Systems Junfeng Yang. What this course is about  Fundamental OS concepts  OS: one of the most crucial, almost everything thru OS  What?
Introduction to Operating Systems Concepts
CSE 120 Principles of Operating
Introduction to Operating Systems
Welcome to SSE3044 Operating Systems!
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Course Information Mark Stanovich Principles of Operating Systems
CS533 Concepts of Operating Systems Class 1
Operating Systems and Systems Programming
Lecture Note 0: Course Introduction
Introduction to Operating Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
First Semester 1439/1440 Welcome 
CS 2530 Intermediate Computing Dr. Schafer
Lecture Note 0: Course Introduction
Computer Networks CNT5106C
Instructor: Xiuwen Liu Department of Computer Science
EECE.4810/EECE.5730 Operating Systems
CSE 451: Operating Systems Winter 2007 Module 1 Course Introduction
Sarah Diesburg Operating Systems CS 3430
CS533 Concepts of Operating Systems Class 1
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

CS 153 Design of Operating Systems Spring 2015 Lecture 1: Course Introduction Instructor: Zhiyun Qian Slides modified from Harsha Madhyvasta and Nael Abu-Ghazaleh

2 Class Overview l Monitor class webpage for information u u Will send out link to webpage l Lecture slides, homeworks, and projects will be posted on class webpage l Assignment turn-in through iLearn u Digital only, no paper copy (experiment) l Announcements through iLearn and posted on class webpage l Piazza for discussion forums; s to be sent out soon

3 Textbooks l Anderson and Dahlin, Operating Systems: Principles and Practice (required) l Andrew S. Tanenbaum, Modern Operating Systems (recommended) l Silberschatz, Galvin, and Gagne, Operating System Concepts, John Wiley and Sons, 8th Edition (recommended)

4 Class Overview l Grading breakdown u 3 projects (15% each) u 3 homeworks (5% each) u Mid-term (15%) u Final (25%) u Extra credit (4%) l Collaboration policy u Feel free to discuss with other students in class u But, every student should write solutions to homeworks independently and every project group should write code independently

5 Projects l Project framework this time: Pintos u Projects are in C u Very good debugging support u Test cases come with the default code base u Used in OS class at several other universities l You have first two weeks of the quarter to get familiar u Make sure to attend the first lab u Go over the Pintos documentation (on the course web page)

Projects are HARD! l Probably the hardest class you will take at UCR in terms of development effort l Working on the projects will take most of your time in this class l Biggest reason the projects are hard: legacy code u You have to understand existing code before you can add more code u Preparation for main challenge you will face at any real job 6

Project recommendations l Do not start working on projects at last minute! u You are graded for how well your code works, not for how many hours you have put in or how many lines of code you wrote u Debugging is integral process of development l Make good use of help available u Post questions on piazza u Take advantage of TA office hours u Labs 7

Project logistics l Three projects to be done in groups of two u When you have chosen groups, send your group info to the TA for your lab »Joshua Frear u Send if unable to find partner and we’ll form groups u Option to switch partners after project one l For every project, design document due a week before the project is due (5 points out of 15 points for project) u Walkthrough questions u Incentive to think through early what you need to do 8

9 Homeworks and Exams l Three homeworks u Can expect similar questions in the exams l Midterm (early May.) u In class l Final u Covers second half of class + selected material from first part »I will be explicit about the material covered l No makeup exams u Unless dire circumstances

10

Submission Policies l Homeworks due on ilearn before class on day of submission l Code and design documents for projects due before class on day of submission l Late policy (also on course webpage): u 4 slack days across all three projects »Will use the ilearn submission timestamp to determine the days u 10% penalty for every late day beyond that 11

Recipe for success in CS153 l Start early on projects l Attend labs and office hours u Take advantage of available help l Make sure to attend lectures u Going over slides is not the same l Read textbook material before class l Ask questions when something is unclear u 4% participation and extra credit – may bump up your grade if on borderline. Face recognition 12

13 Objectives of this class l In this course, we will study problems and solutions that go into design of an OS to address these issues u Focus on concepts rather than particular OS u Specific OS for examples l Develop an understanding of how OS and hardware impacts application performance and reliability l Examples: u What causes your code to crash when you access NULL? u What happens behind a printf()? u Why can multi-threaded code be slower than single-threaded code?

Questions for today l Why do we need operating systems course? l Why do we need operating systems? l What does an operating system need to do? 14

15 Why an OS class? l Why are we making you sit here today, having to suffer through a course in operating systems? u After all, most of you will not become OS developers l Understand what you use u Understanding how an OS works helps you develop apps u System functionality, debugging, performance, security, etc. l Pervasive abstractions u Concurrency: Threads and synchronization are common modern programming abstractions (Java,.NET, etc.) l Complex software systems u Many of you will go on to work on large software projects u OSes serve as examples of an evolution of complex systems

Questions for today l Why do we need operating systems course? l Why do we need operating systems? l What does an operating system need to do? 16

l What if applications ran directly on hardware? l Problems: u Portability u Resource sharing Why have an OS? 17 Applications Hardware

l The operating system is the software layer between user applications and the hardware l The OS is “all the code that you didn’t have to write” to implement your application 18 What is an OS? Operating System Hardware Applications

Questions for today l Why do we need operating systems course? l Why do we need operating systems? l What does an operating system need to do? 19

Roles an OS plays 20

21 More technically : OS and Hardware l The OS virtualizes/controls/mediates access to hardware resources u Computation (CPUs) u Volatile storage (memory) and persistent storage (disk, etc.) u Communication (network, modem, etc.) u Input/output devices (keyboard, display, printer, camera, etc.) l The OS defines a set of logical resources (objects) and a set of well-defined operations on those objects (interfaces) u Physical resources (CPU and memory) u Logical resources (files, programs, names) u Sounds like OO…

22 The OS and Applications l The OS defines a logical, well-defined environment… u Virtual machine (each program thinks it owns the computer) l …for users and programs to safely coexist, cooperate, share resources l Benefits to applications u Simpler (no tweaking device registers) u Device independent (all network cards look the same) u Portable (across Windows95/98/ME/NT/2000/XP/Vista/…)

23 Fundamental OS Issues l The fundamental issues/questions in this course are: u Structure: how is an operating system organized? u Sharing: how are resources shared among users? u Naming: how are resources named (by users and programs)? u Protection: how are users/programs protected from each other? u Security: how can information access/flow be restricted? u Communication: how to exchange data? u Reliability and fault tolerance: how to mask failures? u Extensibility: how to add new features?

Other Questions to Ponder l What is part of an OS? What is not? u Is the windowing system part of an OS? Java? l Popular OSes today are Windows, Linux, and OS X u How different/similar do you think these OSes are? l Somewhat surprisingly, OSes change all of the time u Consider the series of releases of Windows, Linux, OS X… u What are the drivers of OS change? u What are the most compelling issues facing OSes today? 24

Pondering Cont’d l How many lines of code in an OS? u Vista (2006): 50M (XP + 10M) »What is largest kernel component? u OS X (2006): 86M u Debian 3.1 (2006): 213M l What does this mean (for you)? u OSes are useful for learning about software complexity u OS kernel is only one component, however »Linux 3.6: 15M »KDE (X11): 4M »Browser : 2M+ u OS is just one example of many complex software systems »If you become a developer, you will face complexity 25

26 How Not To Pass CS 153 l Do not come to lecture u It’s nice out, the slides are online, and the material is in the book anyway u Lecture material is the basis for exams and directly relates to the projects l Do not ask questions in lecture, office hours, or u It’s scary, I don’t want to embarrass myself u Asking questions is the best way to clarify lecture material at the time it is being presented u Office hours and will help with projects

27 How Not To Pass (2) l Wait until the last couple of days to start a project u We’ll have to do the crunch anyways, why do it early? u The projects cannot be done in the last few days u Repeat: The projects cannot be done in the last few days u Each quarter groups learn that starting early meant finishing all of the projects on time…and some do not

28 Wrap-up Preliminaries l Surefire steps to do poorly in CS 153 u DON’T come to lecture u DON’T ask questions in class when unclear u DON’T start projects well in advance u DON’T come to office hours l Any questions about the class structure, contents, etc.?

For next class… l Browse the course web (especially Pintos docs) l Read chapters 1 and 2 in textbook l Start … u … tinkering with Pintos u … finding a partner for project group 29

30 Blank