CS 3204 Operating Systems Godmar Back Lecture 1. Why study operating systems?

Slides:



Advertisements
Similar presentations
What’s this course all about?
Advertisements

Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
(c) 2006 Stephen W. Foster The Edge in Knowledge New Jersey Institute of Technology (c) 2006 Stephen W. Foster 1 Introduction to Information Technology.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
MGS 351 Introduction to Management Information Systems
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
IPC144 An Introduction to Programming Using C. Instructor Murray Saul Office: Rm –Office hours are posted on my IPC144 web page or on bulletin board.
Course Information Sarah Diesburg Operating Systems COP 4610.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
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.
Jongwook Woo CIS 520 Software Engineering (Syllabus) Jongwook Woo, PhD California State University, LA Computer and Information System.
CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.
IST 210: Organization of Data
ACIS 3504 Accounting Systems and Controls. 2 Dr. Linda Wallace  Office: Pamplin 3092  
CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2011 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Dr. Jeff Cummings MIS323 Business Telecommunications.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
SYLLABUS 2 Course Title: Special English For Computer Science Students  Semester: Fall  Class hours and location: Sundays, 16  17:30 (CLASS 10)  Credit:
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Networking CS 3470, Section 1 Sarah Diesburg
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
Networking CS 3470, Section 1 Sarah Diesburg
CS101 Computer Programming I
CS 3214 Computer Systems Course Introduction Godmar Back.
MIS323 Business Telecommunications
Course Information Mark Stanovich Principles of Operating Systems
Welcome to CS 1010! Algorithmic Problem Solving.
CS 4284 Systems & Networking Capstone
CS 4284 Systems & Networking Capstone
CS 5565 Network Architecture and Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
Welcome to CS 1010! Algorithmic Problem Solving.
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
CS 5204 Operating Systems Fall 2005
Andy Wang Operating Systems COP 4610 / CGS 5765
MIS323 Business Telecommunications
First Semester 1439/1440 Welcome 
Andy Wang Operating Systems COP 4610 / CGS 5765
Computer Engineering Department Islamic University of Gaza
CS 5565 Network Architecture and Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
Computer Engineering Department Islamic University of Gaza
CS201 – Course Expectations
Presentation transcript:

CS 3204 Operating Systems Godmar Back Lecture 1

Why study operating systems?

9/5/2015CS 3204 Fall 20083

9/5/2015CS 3204 Fall 20084

9/5/2015CS 3204 Fall High-level Objectives Learn how an OS works –OS are essential to everything we do with computers Get an inside view (“internal perspective”) –Look at design & implementation Learn by doing (“concrete approach”) –You’ll code a substantial part of an actual OS

9/5/2015CS 3204 Fall About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University of Utah Postdoctoral Work at Stanford University 5 rd Year at Virginia Tech as Assistant Professor (joined August 2004) –5 th time teaching this class Research Interests: –Operating systems, runtime systems and compilers: focus on building reliable systems.

9/5/2015CS 3204 Fall Course Facts Meet Tuesday & Thursday 9:30am-10:45am (MCB 231) or 11:00am-12:15pm (MCB 230) –Will try to keep the two sections in sync Check website regularly – Use CS Forum for projects first Second - send project-related to TAs: –Peter Radics (100%) –Xiaomo Liu (50%)

9/5/2015CS 3204 Fall Etiquette Please enter your name in webmail so it appears in From: line Be coherent when you

9/5/2015CS 3204 Fall Reading Material Required Textbook –Silberschatz, Galvin, Gagne: Operating Systems Concepts (8 th Edition), 2008 –7 th may be ok –Will post reading assignments: Chapter 1 & 2 for this week

9/5/2015CS 3204 Fall Class Format Lectures Exams –1 Midterm: Tentative Date is Thursday, Oct 2 –1 Final (Comprehensive) Exams are only offered at the announced time. Missed exams result in zero score. Programming Projects

9/5/2015CS 3204 Fall Prerequisites Willingness to master an intellectually challenging subject Knowledge of computer organization (CS/ECE 2504) –Addressing, Registers, Basic Assembly Language, Memory Organization Knowledge of algorithms & data structures (CS 2604) –Solid knowledge of linked lists, hash tables, etc. Solid knowledge of C

9/5/2015CS 3204 Fall Talking about C… #define offsetof(TYPE, MEMBER) \ ((size_t) &((TYPE *) 0)->MEMBER) struct point { int x; int y; int z; char c; float o; }; Q.: What is offsetof(struct point, y)? offsetof(struct point, o)? #define offsetof(TYPE, MEMBER) \ ((size_t) &((TYPE *) 0)->MEMBER) struct point { int x; int y; int z; char c; float o; }; Q.: What is offsetof(struct point, y)? offsetof(struct point, o)? 0: x (4 byte int) 8: z (4 byte int) 12: c (1 byte char) 4: y (4 byte int) 16: o (4 byte float) 13: 3 byte padding

9/5/2015CS 3204 Fall Programming Projects 5 Projects: 0, 1, 2, 3, and 4. Project 0 is warm-up Projects 1-4 will use the Pintos operating system developed at Stanford. Project dependency graph Projects are different in five ways P0P1P2 P4 P3

9/5/2015CS 3204 Fall Project Difference #1 The Pintos projects are hard (*) Expect a stimulating challenge About 2,500 lines of code (over the entire semester) to write We will help: –Provide tools, answer questions –Although Pintos is a true OS, we run it in a simulator or emulator (Bochs or Qemu)  reproducibility! –New this semester: Run Pintos on actual hardware! Ask lots of questions! * but - in my opinion - not unreasonably hard and they compare well to what our peer institutions do – recall that CoE was just ranked #14 among undergraduate Eng colleges!)

9/5/2015CS 3204 Fall Industry Feedback on CS3204 We've hired a few students and interns recently from Tech. During the interview process, and during conversations with faculty and students, it became apparent that CS3204 Operating systems, and specially the project oriented version had a great impact in our interest in a candidate. We consistently could distinguish between systems oriented students/graduates applying for internships or full time positions based on how they described their experiences in that class. We also believe that they learnt a lot through this course, giving them a distinct edge over candidates from some of the other schools we recruit from, ranging from scheduling primitives and memory management to file system basics and IPC. We've hired a few students and interns recently from Tech. During the interview process, and during conversations with faculty and students, it became apparent that CS3204 Operating systems, and specially the project oriented version had a great impact in our interest in a candidate. We consistently could distinguish between systems oriented students/graduates applying for internships or full time positions based on how they described their experiences in that class. We also believe that they learnt a lot through this course, giving them a distinct edge over candidates from some of the other schools we recruit from, ranging from scheduling primitives and memory management to file system basics and IPC.

9/5/2015CS 3204 Fall Project Difference #2 The projects are group projects Working in a group more closely resembles what you do outside of academia –Can design together, code together –Learn group collaboration tools (CVS version control system) Group members must contribute equally 3 People per group, this semester groups can be formed across sections. –All project-related policies are identical.

9/5/2015CS 3204 Fall Project Difference #3 Read before you code We can’t build an OS from scratch in a semester –Start with very primitive baseline code You must read a substantial amount of (well- written, well-documented) code before starting the projects –All of Pintos is about 7,000 lines –Must intimately understand probably lines, will be introduced gradually –Welcome to read all nitty-gritty details

9/5/2015CS 3204 Fall Project Difference #4 Only 50% of your grade comes from test cases –All test cases are public 50% is given for design & documentation –Will grade both design and code quality –Requires design documents For P1 & P2, create these individually For P3 & P4, one document per group suffices. –Explain your design rationale Better designs will yield generally more credit Flawed design will incur deductions Bugs that become apparent from your description will lead to deduction –Create maintainable code, of “peer review” quality –Don’t be fooled: this doesn’t mean your implementation counts for only 50% - we don’t give credit for descriptions of unimplemented designs, or designs where tests show you didn’t implement them correctly

9/5/2015CS 3204 Fall Project Difference #5 We use C, not C++ Note: C is by and large a subset of C++ Don’t have virtual methods, don’t have templates, don’t have rtti Still use object-orientation, still use encapsulation Most OS are written in C, not C++. C is the predominant language in embedded systems

9/5/2015CS 3204 Fall Late Policy No late submissions will be accepted. Instead, you have 4 late days: –Self-granted extensions, no need to ask for permission Contact instructor in extraordinary circumstances only –Job interviews do not count

9/5/2015CS 3204 Fall Grading Tentative breakdown (subject to change): –15% Midterm –30% Final –55% Projects Not grading on a standard scale; grade will be based on a curve: –Median will divide B- and B –Grading on a curve means every assignment is important Additional stipulations to pass the class (aka “Auto-Fail Rules”) –Must pass 90% of tests included in Project 2 by end of semester –Must show “reasonable effort” in both Project 3 & 4 –Necessary, not sufficient conditions

9/5/2015CS 3204 Fall Forum Rules (aka Lex skottie) Not allowed: –Posting of any code that is part of your solution to the forum (*) –Posting the answers to design document questions –Posting detailed descriptions of your group’s design –Uncivil behavior (*) Exception: “1-line-rule” –Can post 1 line iff it causes a compile-time error Ok to post: –Backtraces, debugging output, debugger messages –Illustrating example for a technique –Questions & explanations relating to concept –Questions & answers relating to Pintos in general If in doubt, ask before posting!

9/5/2015CS 3204 Fall Honor Code Will be strictly enforced in this class –Will not give warning or engage in discussions before filing honor code cases where I believe they are warranted Do not cheat –Observe collaboration policy outlined in syllabus Will use MOSS for software cheating detection –Do not borrow code from other offerings –Follow collaboration policy Read all policies posted on the website –“I was not aware…” is no excuse If in doubt, ask!

Why cheating successfully is hard 9/5/2015CS 3204 Fall Source: Justin Kruger; David Dunning (1999). "Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments". Journal of Personality and Social Psychology 77 (6): 1121–34

9/5/2015CS 3204 Fall Acknowledgements Will draw in lectures from –Silberschatz et al’s book (“Dinosaur book”) –And other texts, in particular Stalling’s book and Tannenbaum’s Modern Operating Systems –Course material created in other courses using Pintos E.g., Stanford, CS U San Francisco –Course material created by McQuain & other VT instructors –And other sources