Introduction to Introduction to Computer Systems Computer Systems - - PowerPoint PPT Presentation

introduction to introduction to computer systems computer
SMART_READER_LITE
LIVE PREVIEW

Introduction to Introduction to Computer Systems Computer Systems - - PowerPoint PPT Presentation

15-213 The Class That Gives CMU Its Zip! Introduction to Introduction to Computer Systems Computer Systems David OHallaron August 27, 2002 Topics: Topics: n Staff, text, and policies n Lecture topics and assignments n Lab rationale


slide-1
SLIDE 1

Introduction to Computer Systems Introduction to Computer Systems

Topics: Topics:

n Staff, text, and policies n Lecture topics and assignments n Lab rationale

CS 213 F Õ02

class01b.ppt

15-213 ÒThe Class That Gives CMU Its Zip!Ó

David OÕHallaron August 27, 2002

slide-2
SLIDE 2

– 2 – 15-213, F’02

Teaching staff Teaching staff

n Instructors

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

n TA’s

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

n Course Admin

l Rosemary Battenfelder (WeH 4218)

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

slide-3
SLIDE 3

– 3 – 15-213, F’02

Textbooks Textbooks

Randal E. Bryant and David R. Randal E. Bryant and David R. O’Hallaron O’Hallaron, ,

n “Computer Systems: A Programmer’s Perspective”, Prentice

Hall 2003.

n csapp.cs.cmu.edu

Brian Brian Kernighan Kernighan and Dennis Ritchie, and Dennis Ritchie,

n “The C Programming Language, Second Edition”, Prentice

Hall, 1988

slide-4
SLIDE 4

– 4 – 15-213, F’02

Course Components Course Components

Lectures Lectures

n Higher level concepts

Recitations Recitations

n Applied concepts, important tools and skills for labs,

clarification of lectures, exam coverage

Labs Labs

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

slide-5
SLIDE 5

– 5 – 15-213, F’02

Getting Help Getting Help

Web Web

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

Newsgroup Newsgroup

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

Personal help Personal help

n Professors: door open means come on in (no appt

necessary)

n TAs: please mail or zephyr first.

slide-6
SLIDE 6

– 6 – 15-213, F’02

Policies: Assignments Policies: Assignments

Work groups Work groups

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

Handins Handins

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

Makeup exams and assignments Makeup exams and assignments

n OK, but must make PRIOR arrangements with either Prof. Bryant or

O’Hallaron.

Appealing grades Appealing grades

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

slide-7
SLIDE 7

– 7 – 15-213, F’02

Cheating Cheating

What is cheating? What is cheating?

n Sharing code: either by copying, retyping, looking at, or

supplying a copy of a file.

What is NOT cheating? What is NOT cheating?

n Helping others use systems or tools. n Helping others with high-level design issues. n Helping others debug their code.

Penalty for cheating: Penalty for cheating:

n Removal from course with failing grade.

slide-8
SLIDE 8

– 8 – 15-213, F’02

Policies: Grading Policies: Grading

Exams (40%) Exams (40%)

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

Labs (60%) Labs (60%)

n 7 labs (8-12% each)

Grading Characteristics Grading Characteristics

n Lab scores tend to be high

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

n Tests typically have a wider range of scores

slide-9
SLIDE 9

– 9 – 15-213, F’02

Facilities Facilities

Assignments will use Intel Computer Systems Assignments will use Intel Computer Systems Cluster ( Cluster (aka aka “the fish machines”) “the fish machines”)

n 25 Pentium III Xeon servers donated by Intel for CS 213 n 550 MHz with 256 MB memory. n Rack mounted in the 3rd floor Wean machine room. n We’ll be setting up your accounts this week.

Getting help with the cluster machines: Getting help with the cluster machines:

n See course Web page for info n Please direct questions to your TAs

slide-10
SLIDE 10

– 10 – 15-213, F’02

Programs and Data (8) Programs and Data (8)

Topics Topics

n Bits operations, arithmetic, assembly language programs,

representation of C control and data structures

n Includes aspects of of architecture and compilers

Assignments Assignments

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

slide-11
SLIDE 11

– 11 – 15-213, F’02

Performance (3) Performance (3)

Topics Topics

n High level processor models, code optimization (control and

data), measuring time on a computer

n Includes aspects of architecture, compilers, and OS

Assignments Assignments

n L4: Optimizing Code Performance

slide-12
SLIDE 12

– 12 – 15-213, F’02

The Memory Hierarchy (2) The Memory Hierarchy (2)

Topics Topics

n Memory technology, memory hierarchy, caches, disks,

locality

n Includes aspects of architecture and OS.

Assignments Assignments

n L4: Optimizing Code Performance

slide-13
SLIDE 13

– 13 – 15-213, F’02

Linking and Exceptional Control Flow (3) Linking and Exceptional Control Flow (3)

Topics Topics

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

signals, nonlocal jumps

n Includes aspects of compilers, OS, and architecture

Assignments Assignments

n L5: Writing your own shell with job control

slide-14
SLIDE 14

– 14 – 15-213, F’02

Virtual memory (4) Virtual memory (4)

Topics Topics

n Virtual memory, address translation, dynamic storage

allocation

n Includes aspects of architecture and OS

Assignments Assignments

n L6: Writing your own malloc package

slide-15
SLIDE 15

– 15 – 15-213, F’02

I/O, Networking, and Concurrency (6) I/O, Networking, and Concurrency (6)

Topics Topics

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

services, Web servers

n concurrency, concurrent server design, threads, I/O

multiplexing with select.

n Includes aspects of networking, OS, and architecture.

Assignments Assignments

n L7: Writing your own Web proxy

slide-16
SLIDE 16

– 16 – 15-213, F’02

Lab Rationale Lab Rationale

Each lab should have a well-defined goal such as solving a puzzle Each lab should have a well-defined goal such as solving a puzzle

  • r winning a contest.
  • r winning a contest.

n Defusing a binary bomb. n Winning a performance contest.

Doing a lab should result in new skills and concepts Doing a lab should result in new skills and concepts

n Data Lab: computer arithmetic, digital logic. n Bomb Labs: assembly language, using a debugger, understanding

the stack

n Perf Lab: profiling, measurement, performance debugging. n Shell Lab: understanding Unix process control and signals n Malloc Lab: understanding pointers and nasty memory bugs. n 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.

n Set a threshhold for full credit. n Post intermediate results (anonymized) on Web page for glory!

slide-17
SLIDE 17

– 17 – 15-213, F’02

Good Luck! Good Luck!