Introduction to Computer SystemsTeaching staffTextbooksCourse ComponentsGetting HelpPolicies: AssignmentsCheatingPolicies: GradingFacilitiesPrograms and Data (8)Performance (2)The Memory Hierarchy (2)Linking and Exceptional Control Flow (3)Virtual Memory (4)I/O, Networking, and Concurrency (6)Lab RationaleAutolab Web ServiceGood Luck!Introduction to Computer SystemsIntroduction to Computer SystemsTopics:Topics:Staff, text, and policiesLecture topics and assignmentsLab rationale and infrastructureCS 213 F ’03class01b.ppt15-213“The Class That Gives CMU Its Zip!”David O’HallaronAugust 26, 2003– 2 –15-213, F’03Teaching staffTeaching staffInstructorsProf. David O’HallaronProf. Andreas Nowatzyk TA’sQuarup BarreirinhausStavros HarizopoulosMatt RosencrantzNitin SharmaJoseph TrdinichTimothy WongCourse AdminBarb Grandillo (WeH 4218) Come talk to us anytime!(Or phone or send email)– 3 –15-213, F’03TextbooksTextbooksRandal E. Bryant and David R. O’Hallaron, Randal E. Bryant and David R. O’Hallaron, “Computer Systems: A Programmer’s Perspective”, Prentice Hall 2003.csapp.cs.cmu.eduBrian Kernighan and Dennis Ritchie, Brian Kernighan and Dennis Ritchie, “The C Programming Language, Second Edition”, Prentice Hall, 1988– 4 –15-213, F’03Course ComponentsCourse ComponentsLecturesLecturesHigher level conceptsRecitationsRecitationsApplied concepts, important tools and skills for labs, clarification of lectures, exam coverageLabsLabsThe heart of the course1 or 2 weeksProvide in-depth understanding of an aspect of systemsProgramming and measurement– 5 –15-213, F’03Getting HelpGetting HelpWebWebwww.cs.cmu.edu/afs/cs/academic/class/15213-f02/wwwCopies of lectures, assignments, exams, solutionsClarifications to assignmentsNewsgroupNewsgroupcmu.cs.class.cs213Clarifications to assignments, general discussion Personal helpPersonal helpProfessors: door open means come on in (no appt necessary)TAs: please mail or zephyr first.– 6 –15-213, F’03Policies: AssignmentsPolicies: AssignmentsWork groupsWork groupsYou must work alone on all labs HandinsHandinsAssignments 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. O’Hallaron or Nowatzyk.Appealing gradesAppealing gradesWithin 7 days of due date or exam date.Assignments: Talk to the lead person on the assignment Exams: Talk to either Prof. O’Hallaron or Nowatzyk.– 7 –15-213, F’03CheatingCheatingWhat is cheating?What is cheating?Sharing code: either by copying, retyping, looking at, or supplying 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.– 8 –15-213, F’03Policies: GradingPolicies: 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 CharacteristicsLab scores tend to be highSerious handicap if you don’t hand a lab inWe offer generous redemption programsTests typically have a wider range of scores– 9 –15-213, F’03FacilitiesFacilitiesAssignments will use the Intel Computer Assignments will use the Intel Computer Systems Cluster (aka “the fish machines”)Systems Cluster (aka “the fish machines”)25 Pentium III Xeon servers donated by Intel for CS 213550 MHz with 256 MB memory.Rack mounted in the 3rd floor Wean Hall 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 infoPlease direct questions to your TAs– 10 –15-213, F’03Programs and Data (8)Programs and Data (8)TopicsTopicsBits operations, arithmetic, assembly language programs, representation of C control and data structuresIncludes aspects of architecture and compilers AssignmentsAssignmentsL1 (datalab): Manipulating bitsL2 (bomblab): Defusing a binary bombL3 (buflab): Hacking a buffer bomb– 11 –15-213, F’03Performance (2)Performance (2)TopicsTopicsHigh level processor models, code optimization (control and data), measuring time on a computerIncludes aspects of architecture, compilers, and OSAssignmentsAssignmentsL4 (perlab): Optimizing code performance– 12 –15-213, F’03The Memory Hierarchy (2)The Memory Hierarchy (2)TopicsTopicsMemory technology, memory hierarchy, caches, disks, localityIncludes aspects of architecture and OS.AssignmentsAssignmentsL4 (perflab): Optimizing code performance– 13 –15-213, F’03Linking and Exceptional Control Flow (3)Linking and Exceptional Control Flow (3)TopicsTopicsObject files, static and dynamic linking, libraries, loadingHardware exceptions, processes, process control, Unix signals, nonlocal jumpsIncludes aspects of compilers, OS, and architectureAssignmentsAssignmentsL5 (tshlab): Writing your own shell with job control– 14 –15-213, F’03 Virtual Memory (4) Virtual Memory (4)TopicsTopicsVirtual memory, address translation, dynamic storage allocationIncludes aspects of architecture and OSAssignmentsAssignmentsL6 (malloclab): Writing your own malloc package– 15 –15-213, F’03 I/O, Networking, and Concurrency (6) I/O, Networking, and Concurrency (6)TopicsTopicsHigh level and low-level I/O, network programming, Internet services, Web serversconcurrency, concurrent server design, threads, I/O multiplexing with select.Includes aspects of networking, OS, and architecture.AssignmentsAssignmentsL7 (proxylab): Writing your own Web proxy– 16 –15-213, F’03Lab Rationale Lab Rationale Each lab should have a well-defined goal such as Each lab should have a well-defined goal such as solving a puzzle or winning a contest. solving a puzzle or winning a contest. Doing a lab should result in new skills and conceptsDoing a lab should result in new skills and conceptsData Lab: number representations, logic, bit manipulation.Bomb Lab: assembly, using debugger, understanding stack Perf Lab: profiling, measurement,
View Full Document