DOC PREVIEW
Duke CPS 110 - Intro to (Operating) Systems

This preview shows page 1-2-3-4-24-25-26-50-51-52-53 out of 53 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 53 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CPS110: Intro to (Operating) SystemsSyllabus: prerequisitesSyllabus: lectures and textbookSyllabus: discussion sectionsSyllabus: homework problemsSyllabus: projectsSyllabus: project environmentSyllabus: project groupsSyllabus: project auto-gradingMore on the auto-graderSyllabus: project timelinesSyllabus: project collaborationSyllabus: grades, examsProjects and examsSyllabus: getting helpQuestions about the course?Goals for CPS 110Duke curriculum: one view“Systems”: A Bigger PictureSystems as ArtThinking about interfacesOS terminologyInterface and abstractionVirtualization?Standards, wrappers, adaptersWhat is an operating system?Slide 27Hardware-software stackOS vs user-level programsFunctions of the OSSlide 31Slide 32Why study operating systems?Hints for designing systemsSystems from 10,000 feetWhy is designing systems hard?Slide 37Slide 38Slide 39Slide 40History of operating systemsFirst phase: single operatorSecond phase: batch processingSlide 44Slide 45Third phase: multi-program batchSlide 47Fourth phase: time-sharing4a: computing as a social mediumFifth phase: personal computingOperating system complexityOS ComplexityDealing with complexityCPS110: Intro to (Operating) SystemsAuthor: Landon CoxInstructor: Jeff ChaseAugust 24, 2009Syllabus: prerequisitesCPS 100 Basic data structures and memory layoutAllocating memory on the stack versus from the heapCPS 104Basic computer architecture, ISAsRegisters: stack pointer, PC, general-purpose Virtual memory translationPage tablesTLB, cachingOther: C/C++Syllabus: lectures and textbookLecture notes on the web (125 pages)Exams based on content of lecturesTextbooksOnly suggested“Modern Operating Systems”Easy to find on-lineNew book: Saltzer and KaashoekSyllabus: discussion sectionsOne section, starting this weekF 2:50 – 4:05Teaching AssistantJie Xiao (“Jennifer”) ([email protected])Undergraduate Teaching AssistantsMatt JacobsonSyllabus: homework problemsPosted on web on Monday of each weekShould be done before discussion sectionNot graded, but count toward participationSyllabus: projectsWhere you will learn the most4 projects0: very simple intro to C++1: build a user-level concurrency package (thread library)2: build a virtual memory manager3: hack into a vulnerable systemProjects aren’t long, but are difficult (and “exacting”)Only 100-1,000 lines/code, but could be many hoursEverything is in C++Project 0 will be posted in a few daysSyllabus: project environmentLinux/GNU environmentYou need a CS accountDon’t have one? Send me e-mail.[email protected] by August 28Login to linux.cs.duke.edu to submitSyllabus: project groupsAll projects done in groups of 2 or 3Email groups to [email protected]By Friday (August 28){name, NetID, CS login} for each memberGroup members may be asked to rate each otherProcedure for firing, quitting in syllabusSyllabus: project auto-gradingAll projects are auto-gradedImmediate feedbackUse submit110 script on cs machinesOne submission/group/day gets feedbackCan’t use to debug your project+ three bonus submissions/group/projectAny group member’s submission countsMore on the auto-graderVery narrow feedback: correct or incorrectDoesn’t say what is wrongFollow specifications carefullyStill have to write a test suite (except P0)Don’t rely on auto-grader feedback aloneTo get more useful feedbackCome talk to us!We will provide many office hours every week(double office hours week before a deadline)Syllabus: project timelinesDue at 6pm, accepted until 11:59:59pmAuto-grader clock is the one that countsLast submission to auto-grader is final3 late days/group/semesterIntended for unexpected problemsNo extensionsStart early!Syllabus: project collaborationOk, among groupsC++ syntax, course concepts“What does this part of the handout mean?”Not ok, among groupsDesign/writing of another’s programIncludes prior class solutions“How do I do this part of the handout?”We use automated similarity-detection softwareJust changing the variable names won’t save youhttp://theory.stanford.edu/~aiken/moss/If in doubt, ask meSyllabus: grades, examsProjects: 35%Midterm: 30%Monday, February 23Final: 30%Wednesday, April 29, 7-10pmParticipation: 5%Projects and examsThe two are not independentFamiliarity with projects is critical to doing well on examsI like to ask questions about projects on exams“Extend Project X to include this functionality”Know your project!You can assign roles to different peopleBut each member must understand all aspectsSyllabus: getting helpNewsgrouphttp://courses.duke.eduOffice hoursWith me: Tu, 1:00 – 3:00, etc…With Jie: Tu, 1:30 – 2:30, Th 4:00-5:00UTAs…Post to the newsgroupAnd you may also cc: usQuestions about the course?Goals for CPS 110First part: demystify the operating systemHow does my computer start running?How does a program load into memory?Second part: demystify the InternetHow does my email know where to go?Why is Google so fast?Duke curriculum: one viewHardwareAssembly language program  gatesHardwareAssembly language program  gatesCPS 104CPS 104CPS 1,6,100,108CPS 1,6,100,108compiling, reading programs off disk, getting program into memory, reading keyboard, starting the computer, saving files, filenames, networkingcompiling, reading programs off disk, getting program into memory, reading keyboard, starting the computer, saving files, filenames, networkingApplicationsIdeas  high-level programming languagesApplicationsIdeas  high-level programming languagesWhat’s missing?What’s missing?CPS 110CPS 110“Systems”: A Bigger PictureProgrammable platforms to enable sharing of data and resources“Textbook” example: operating systems“Cloud” clustersEtc…?Systems as Arthttp://www.sammlung.daimler.com/sculpt/potsdamerplatz/potsd_tinguely500.jpgThinking about interfacesConsider the Java language and its key word “interface”What is a Java object?List of methods and collection of internal stateWhat is a Java interface?Set of methods associated with an object that a programmer can callWhat do those methods do?Invoke code (let the object do work on the caller’s behalf)Modify the


View Full Document

Duke CPS 110 - Intro to (Operating) Systems

Download Intro to (Operating) Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Intro to (Operating) Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Intro to (Operating) Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?