Introduction to Computer SystemsTopics:Topics: Staff, text, and policies Lecture topics and assignments Lab rationale and infrastructure15-213 F ’06class01b.ppt15-213“The Class That Gives CMU Its Zip!”David R. O’HallaronAugust 30, 2006–2–15-213, F’06Teaching staff Instructorsz Prof. Randal E. Bryantz Prof. David R. O’Hallaron TA’sz Ashwin Bharambez Michael Brotzmanz Tudor Dumitrasz Donnie Kimz Amit Manjhi Course Adminsz Cindy Chemsak (NSH 4303)z Barb Grandillo (WeH 8018)Come talk to us anytime!(Or phone or send email)–3–15-213, F’06TextbooksRandal E. Bryant and David R. Randal E. Bryant and David R. OO’’HallaronHallaron, , “Computer Systems: A Programmer’s Perspective”, Prentice Hall 2003. http://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’06Course ComponentsLecturesLectures Higher level conceptsRecitationsRecitations Applied concepts, important tools and skills for labs, clarification of lectures, exam coverageLabsLabs The heart of the course 1 or 2 weeks Provide in-depth understanding of an aspect of systems Programming and measurement–5–15-213, F’06Getting HelpClass Web PageClass Web Page http://www.cs.cmu.edu/~213 Copies of lectures, assignments, exams, solutions Clarifications to assignmentsMessage BoardMessage Board http://autolab.cs.cmu.edu Clarifications to assignments, general discussion The only board your instructors will be monitoring (No blackboard or Andrew)Personal helpPersonal help Professors:z R. Bryant, office hour or appt.z D. O’Hallaron, office hour, appt, or when door is open. TAs: office hour, email, or appt.–6–15-213, F’06Policies: AssignmentsWork groupsWork groups You must work alone on all labs HandinsHandins Assignments due at 11:59pm on Wed or Fri evening Electronic handins using Autolab (no exceptions!).Makeup exams and assignmentsMakeup exams and assignments OK, but must make PRIOR arrangements with Prof. O’Hallaron.Appealing gradesAppealing grades Within 7 days of due date or exam date. Labs: Talk to the lead person on the assignment Exams: Talk to Prof O’Hallaron.–7–15-213, F’06CheatingWhat is cheating?What is cheating? Sharing code: either by copying, retyping, looking at, or supplying a copy of a file. Coaching: helping your friend to write a lab, line by line.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.Detection of cheating:Detection of cheating: We do check and our tools for doing this are much better than you think!–8–15-213, F’06Policies: 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 (6-12% each)Grading CharacteristicsGrading Characteristics Lab scores tend to be highz Serious handicap if you don’t hand a lab inz We offer generous redemption programs Tests typically have a wider range of scores–9–15-213, F’06FacilitiesLabs will use the Intel Computer Systems Labs will use the Intel Computer Systems Cluster (Cluster (akaaka““the fish machinesthe fish machines””)) 15 Pentium Xeon servers donated by Intel for CS 213 Dual 3.2 Ghz 64-bit (EM64T) Nocona Xeon processors 2 GB, 400 MHz DDR2 SDRAM memory Rack mounted in the 3rd floor Wean Hall machine room. Your accounts are ready.Getting help with the cluster machines:Getting help with the cluster machines: See course Web page for login directions Please direct questions to your TA’s first–10–15-213, F’06Logging into Fish MachinesRead description on the course webRead description on the course web--page carefullypage carefullyRun Run checkincheckinscript (once only) to setup Kerberos script (once only) to setup Kerberos credentialscredentials % /afs/cs/academic/class/15213-f06/bin/checkin Login using your Andrew ID and password:Login using your Andrew ID and password: % ssh –x –l [email protected] tuna.ics.cs.cmu.eduKeep your code in your Keep your code in your ““213hw213hw””directory on your directory on your AndrewAndrewaccountaccount–11–15-213, F’06Programs and Data (6)TopicsTopics Bits operations, arithmetic, assembly language programs, representation of C control and data structures Includes aspects of architecture and compilers AssignmentsAssignments L1 (datalab): Manipulating bits L2 (bomblab): Defusing a binary bomb L3 (buflab): Hacking a buffer bomb–12–15-213, F’06Performance (2)TopicsTopics High level processor models, code optimization (control and data), measuring time on a computer Includes aspects of architecture, compilers, and OSAssignmentsAssignments L4 (perflab): Optimizing code performance–13–15-213, F’06The Memory Hierarchy (2)TopicsTopics Memory technology, memory hierarchy, caches, disks, locality Includes aspects of architecture and OS.AssignmentsAssignments L4 (perflab): Optimizing code performance–14–15-213, F’06Linking and Exceptional Control 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 architectureAssignmentsAssignments L5 (tshlab): Writing your own shell with job control–15–15-213, F’06Virtual Memory (4)TopicsTopics Virtual memory, address translation, dynamic storage allocation Includes aspects of architecture and OSAssignmentsAssignments L6 (malloclab): Writing your own malloc package–16–15-213, F’06I/O, Networking, and Concurrency (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 (proxylab): Writing your own Web proxy–17–15-213, F’06Lab Rationale Each lab should have a wellEach lab should have a well--defined goal such as defined goal such as solving a puzzle or winning a contest. solving a puzzle or winning a contest. Doing a lab should
View Full Document