introduction to computer systems - umd … to computer systems topics: staff, text, and policies...

17
Introduction to Computer Systems Topics: Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F ’02 class01b.ppt 15-213 “The Class That Gives CMU Its Zip!” David O’Hallaron August 27, 2002

Upload: vudat

Post on 30-May-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

Introduction toComputer Systems

Topics:Topics: Staff, text, and policies Lecture topics and assignments Lab rationale

CS 213 F ’02class01b.ppt

15-213“The Class That Gives CMU Its Zip!”

David O’HallaronAugust 27, 2002

Page 2: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 2 – 15-213, F’02

Teaching staff Instructors

Prof. Randy Bryant (Wed 10:00-11:00, WeH 4220) Prof. David O’Hallaron (Tue 10:30-11:30, WeH 8125)

TA’s Rajesh Balan (TBD, WeH 8205) Shimin Chen (TBD, WeH 8019) Andrew Faulring (TBD, NSH 2504) Anubhav Gupta (TBD, WeH 8218) Annie Luo (TBD, WeH 8402)

Course Admin Rosemary Battenfelder (WeH 4218)

These are the nominal office hours. Come talk to us anytime!(Or phone or send email)

Page 3: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 3 – 15-213, F’02

TextbooksRandal E. Bryant and David R. Randal E. Bryant and David R. OO’’HallaronHallaron,,

“Computer Systems: A Programmer’s Perspective”, PrenticeHall 2003.

csapp.cs.cmu.edu

Brian Brian KernighanKernighan and Dennis Ritchie, and Dennis Ritchie, “The C Programming Language, Second Edition”, Prentice

Hall, 1988

Page 4: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 4 – 15-213, F’02

Course ComponentsLecturesLectures

Higher level concepts

RecitationsRecitations Applied concepts, important tools and skills for labs,

clarification of lectures, exam coverage

LabsLabs The heart of the course 1 or 2 weeks Provide in-depth understanding of an aspect of systems Programming and measurement

Page 5: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 5 – 15-213, F’02

Getting HelpWebWeb

www.cs.cmu.edu/afs/cs/academic/class/15213-f02/www Copies of lectures, assignments, exams, solutions Clarifications to assignments

NewsgroupNewsgroup cmu.cs.class.cs213 Clarifications to assignments, general discussion

Personal helpPersonal help Professors: door open means come on in (no appt

necessary) TAs: please mail or zephyr first.

Page 6: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 6 – 15-213, F’02

Policies: AssignmentsWork groupsWork groups

You must work alone on all labs (except for Lab 7: Web Proxy, with work groups of two)

HandinsHandins Assignments due at 11:59pm on specified due date. Typically 11:59pm Thursday evening (to avoid 212 conflicts) Electronic handins only.

Makeup exams and assignmentsMakeup exams and assignments OK, but must make PRIOR arrangements with either Prof. Bryant or

O’Hallaron.

Appealing gradesAppealing grades Within 7 days of due date or exam date. Assignments: Talk to the lead person on the assignment Exams: Talk to either Prof. Bryant or O’Hallaron.

Page 7: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 7 – 15-213, F’02

CheatingWhat is cheating?What is cheating?

Sharing code: either by copying, retyping, looking at, orsupplying a copy of a file.

What is NOT cheating?What is NOT cheating? Helping others use systems or tools. Helping others with high-level design issues. Helping others debug their code.

Penalty for cheating:Penalty for cheating: Removal from course with failing grade.

Page 8: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 8 – 15-213, F’02

Policies: GradingExams (40%)Exams (40%)

Two in class exams (10% each) Final (20%) All exams are open book/open notes.

Labs (60%)Labs (60%) 7 labs (8-12% each)

Grading CharacteristicsGrading Characteristics Lab scores tend to be high

Serious handicap if you don’t hand a lab in We offer generous redemption programs

Tests typically have a wider range of scores

Page 9: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 9 – 15-213, F’02

FacilitiesAssignments will use Intel Computer SystemsAssignments will use Intel Computer Systems

Cluster (Cluster (aka aka ““the fish machinesthe fish machines””)) 25 Pentium III Xeon servers donated by Intel for CS 213 550 MHz with 256 MB memory. Rack mounted in the 3rd floor Wean machine room. We’ll be setting up your accounts this week.

Getting help with the cluster machines:Getting help with the cluster machines: See course Web page for info Please direct questions to your TAs

Page 10: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 10 – 15-213, F’02

Programs and Data (8)

TopicsTopics Bits operations, arithmetic, assembly language programs,

representation of C control and data structures Includes aspects of of architecture and compilers

AssignmentsAssignments L1: Manipulating bits L2: Defusing a binary bomb L3: Hacking a buffer bomb

Page 11: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 11 – 15-213, F’02

Performance (3)

TopicsTopics High level processor models, code optimization (control and

data), measuring time on a computer Includes aspects of architecture, compilers, and OS

AssignmentsAssignments L4: Optimizing Code Performance

Page 12: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 12 – 15-213, F’02

The Memory Hierarchy (2)

TopicsTopics Memory technology, memory hierarchy, caches, disks,

locality Includes aspects of architecture and OS.

AssignmentsAssignments L4: Optimizing Code Performance

Page 13: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 13 – 15-213, F’02

Linking and ExceptionalControl Flow (3)TopicsTopics

Object files, static and dynamic linking, libraries, loading Hardware exceptions, processes, process control, Unix

signals, nonlocal jumps Includes aspects of compilers, OS, and architecture

AssignmentsAssignments L5: Writing your own shell with job control

Page 14: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 14 – 15-213, F’02

Virtual memory (4)

TopicsTopics Virtual memory, address translation, dynamic storage

allocation Includes aspects of architecture and OS

AssignmentsAssignments L6: Writing your own malloc package

Page 15: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 15 – 15-213, F’02

I/O, Networking, andConcurrency (6)

TopicsTopics High level and low-level I/O, network programming, Internet

services, Web servers concurrency, concurrent server design, threads, I/O

multiplexing with select. Includes aspects of networking, OS, and architecture.

AssignmentsAssignments L7: Writing your own Web proxy

Page 16: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 16 – 15-213, F’02

Lab RationaleEach lab should have a well-defined goal such as solving a puzzleEach lab should have a well-defined goal such as solving a puzzle

or winning a contest.or winning a contest. Defusing a binary bomb. Winning a performance contest.

Doing a lab should result in new skills and conceptsDoing a lab should result in new skills and concepts Data Lab: computer arithmetic, digital logic. Bomb Labs: assembly language, using a debugger, understanding

the stack Perf Lab: profiling, measurement, performance debugging. Shell Lab: understanding Unix process control and signals Malloc Lab: understanding pointers and nasty memory bugs. Proxy Lab: network programming, server design

We try to use competition in a fun and healthy way.We try to use competition in a fun and healthy way. Set a threshhold for full credit. Post intermediate results (anonymized) on Web page for glory!

Page 17: Introduction to Computer Systems - UMD … to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale class01b.ppt CS 213 F ’02 15-213

– 17 – 15-213, F’02

Good Luck!