+ All Categories
Home > Documents > CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at...

CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at...

Date post: 05-Jan-2016
Category:
Upload: jewel-lester
View: 221 times
Download: 3 times
Share this document with a friend
Popular Tags:
24
CS 3214 Computer Systems Godmar Back Lecture 1
Transcript
Page 1: CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.

CS 3214Computer Systems

Godmar Back

Lecture 1

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

CS 3214 Fall 2010

About Me

• Undergraduate Work at Humboldt and Technical University Berlin

• PhD University of Utah• Postdoctoral Work at Stanford University• 7th Year at Virginia Tech

– joined August 2004, – Tenured Associate Professor since June 2010– 3rd time teaching this class

• Research Interests:– Systems

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

ADMINISTRIVIA

CS 3214 Fall 2010

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

CS 3214 Fall 2010

Course Facts

• Meet Tuesday & Thursday 11:00am-12:15pm (GBJ 102) • Check website regularly

– http://courses.cs.vt.edu/~cs3214

• Use CS Forum http://forum.cs.vt.edu/• Send email to

[email protected]• TAs:

– Scott Schneider– Puranjoy Bhattacharjee (50%)– Xiaomo Liu (50%)– Patrick Boyd (UTA)

• All students enrolled in CS3214 have access to McB 124 (Systems Lab)

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

CS 3214 Fall 2010

Email Etiquette

• Please enter your name in webmail so it appears in From: line

• Be coherent when you email

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

CS 3214 Fall 2010

Reading Material

• Required Textbook– Bryant and O’Hallaron

(2nd Edition), 2011– Will post reading

assignments

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

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

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

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

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

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

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

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!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Topic 7: Virtualization

• Understand underlying concepts

• Understand resource management

• Exercise:– Set up your own hosted VM in Amazon cloud

(AWS)

CS 3214 Fall 2010


Recommended