CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.

Slides:



Advertisements
Similar presentations
CIS 528 Introduction to Big Data Computing and Analysis
Advertisements

CS1101: Programming Methodology
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale and infrastructure F ’08 class01b.ppt.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
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.
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 28, 2001 Topics: Staff, text, and policies Lecture topics and assignments.
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.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
CS 3204 Operating Systems Godmar Back Lecture 1. Why study operating systems?
Computer Networks Paper Coordinator: Dr. Napoleon H. Reyes, Ph.D. Computer Science Institute of Information and Mathematical Sciences Rm
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Computer Networks Lecture 1: Logistics Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn 2015 by S.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
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.
LINUX System : Lecture 1 Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
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.
Jongwook Woo CIS 528 Introduction to Big Data Science (Syllabus) Jongwook Woo, PhD California State University, LA Computer and Information.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
Syllabus. Instructor Dr. Hanan Lutfiyya Middlesex College 418 Ext Office Hours: Wednesday 5-6; Thursdays 4-6 or by appointment.
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F ’02 class01b.ppt “The Class.
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.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois at.
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)
COMP1927 Course Introduction 16x1
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 25, 1998 Topics: Staff, text, and policies Lecture topics and assignments.
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
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,
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
Robin Kravets and Vikram Adve Copyright ©: University of Illinois CS 241 Staff1 Welcome to CS 241 Systems Programming at Illinois.
Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois.
Jongwook Woo Computer Information Systems CIS 528 Introduction to Big Data Computing and Analysis (Syllabus) Jongwook Woo, PhD California.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Welcome to SSE3044 Operating Systems!
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Andy Wang Object Oriented Programming in C++ COP 3330
Course Information EECS 2031 – Section A Fall 2017.
CS 3214 Computer Systems Course Introduction Godmar Back.
ECE Application Programming
Computer Organization II
CS 213 Introduction to Computer Systems Course Organization Todd C
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
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
First Semester 1439/1440 Welcome 
Andy Wang Operating Systems COP 4610 / CGS 5765
CS 5565 Network Architecture and Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
CS201 – Course Expectations
Presentation transcript:

CS 3214 Computer Systems Godmar Back Lecture 1

CS 3214 Fall 2010 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University of Utah Postdoctoral Work at Stanford University 7 th Year at Virginia Tech –joined August 2004, –Tenured Associate Professor since June 2010 –3 rd time teaching this class Research Interests: –Systems

ADMINISTRIVIA CS 3214 Fall 2010

Course Facts Meet Tuesday & Thursday 11:00am-12:15pm (GBJ 102) Check website regularly – Use CS Forum Send to TAs: –Scott Schneider –Puranjoy Bhattacharjee (50%) –Xiaomo Liu (50%) –Patrick Boyd (UTA) All students enrolled in CS3214 have access to McB 124 (Systems Lab)

CS 3214 Fall Etiquette Please enter your name in webmail so it appears in From: line Be coherent when you

CS 3214 Fall 2010 Reading Material Required Textbook –Bryant and O’Hallaron (2 nd Edition), 2011 –Will post reading assignments

CS 3214 Fall 2010 Class Format Lectures Exams –1 Midterm –1 Final (Comprehensive) Exams are only offered at the announced time. Missed exams result in zero score. Programming Projects Exercises Please read the syllabus for late policy

CS 3214 Fall 2010 Grading Tentative breakdown (subject to change): –12.5% Midterm –22.5% Final –42.5% Projects –22.5% Exercises Not grading on standard scale; grade will be based on a curve of students attempting this course: –Median will divide B- and B –Grading on a curve means every assignment is important, doing “just enough” is a strategy bound to result in a low grade –Calibrated not just by students in this cohort, but also past offerings Additional stipulations to pass the class (aka “Auto-Fail Rules”) –Minimum Requirements must be met for each project –Necessary, not sufficient conditions

CS 3214 Fall 2010 Group Projects Projects are group projects Working in a group more closely resembles what you do outside of academia –Can design together, code together Group members must contribute equally 2 students per group Can change group, but only between projects Exercises are done individually

CS 3214 Fall 2010 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 or exercise 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 You are encouraged to post: –Backtraces, debugging output, debugger messages –Illustrating example for a technique –Questions & explanations relating to concept –Questions & answers relating to projects in general –Pointers to external resources you have found If in doubt, ask before posting!

CS 3214 Fall 2010 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! Cheating = Copying From Someone Else + Misrepresenting Work As Your Own

CS 3214 Fall 2010 Acknowledgements To avoid plagiarism, document (“acknowledge”) your sources Will draw in lectures from –Textbook –And other texts, in particular Silberschatz et al’s book (“Dinosaur book”); Stalling’s book and Tannenbaum’s Modern Operating Systems –Course material created for other courses –And other sources as appropriate

CS 3214 Fall 2010 Prerequisites Knowledge of computer organization (CS 2506) Knowledge of algorithms & data structures (CS 2114) Please submit prerequisite form Some knowledge of C

CS 3214 Fall 2010 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

CS 3214 Fall 2010 Role of this Course Dual role: –Core requirement What should every student know about systems? –Preparation for senior-level OS/networking course in Spring Capstone course for students choosing the Systems & Networking track: design an OS Perspective taken is that of a programmer using a system, not of a designer building one

Outcomes Be productive in using an OS – focus on Unix here Understand execution and optimization Understand overall architecture and concepts Understand interaction between apps and OS Understand concepts underlying threading, scheduling, virtual memory, networking, and virtualization CS 3214 Fall 2010

Topic 0: Unix Throughout: we will be using Linux You are expected to already bring, or quickly pick up, the necessary skills –Will not set class time aside for this, but am happy to discuss questions on the forum Exercise 1 may help CS 3214 Fall 2010

Topic 1: Programs and Data Understand how programs are built, how they execute –Role of the compiler, assembler, and linker Learn to read and understand x86 code Learn how to use a debugger Understand security implications Assume knowledge of bytes & bits as provided in CS250X Projects: –“Binary Bomb” –“Buffer Bomb” CS 3214 Fall 2010

Topic 2: Performance Learn –how to optimize code –how not to optimize code –how to measure performance –the impact of memory hierarchies CS 3214 Fall 2010

Topic 3: Processes and Threads Learn the underlying abstractions Learn how to use them Subtopics: –System calls and exceptions –Thread and process APIs –Interprocess Communication Project: –Write your own shell CS 3214 Fall 2010

Topic 4: Concurrency & Synchronization Learn about race conditions Learn commonly used synchronization techniques in C and Java Learn how to manage concurrency Understand deadlock and how to prevent it CS 3214 Fall 2010

Topic 5: Memory Understand user-level memory management –Explicit vs. automated –User-level APIs for shared memory Understand concepts underlying Virtual Memory Understand impact on programmer –Memory tools Project: –User-level malloc() CS 3214 Fall 2010

Topic 6: I/O and Networking Understand I/O facilities and layers Understand use of socket API and underlying abstractions, and basic protocol design with a focus on HTTP Understand how to write multi-threaded and event-based programs Project: –A multi-threaded HTTP server CS 3214 Fall 2010

Topic 7: Virtualization Understand underlying concepts Understand resource management Exercise: –Set up your own hosted VM in Amazon cloud (AWS) CS 3214 Fall 2010