CS162, Spring 2003 Section 1 notes for 28 Jan 2003 Sections 105 & 106 Hakim Weatherspoon, cs162-td@imail.cs.berkeley.edu Self intro - http://www.cs.berkeley.edu/~hweather/ta/cs162 Class logistics - SECTION IS TEMPORARY: Will be assigned to new section based on project group - Project groups: 4-5 people in each group, ALL MEMBERS MUST BE ABLE TO ATTEND SAME SECTION - Sign up for project groups immediately on the web page 1.Form a project group of 4-5 students, who can all attend the same section. 2.You cannot use this form until every member of your group has received an account form, logged in to the account, and registered by running 'register' (this should be run automatically the first time you log in). 3.Run 're-register' if you did not put your name in properly when you originally logged into cs162-* acct. 4.Each project group must fill out one copy of this form. 5.We will then assign project groups to sections. - Should have all of the account forms in class on Wednesday Newsgroup - ucb.class.cs162 - Please use the newsgroup Office hours - Monday 1:30-2:30pm, 651 Soda Hall (Alcove lounge on east end of 6th floor). - Tuesday 4:30-5:30pm, 651 Soda Hall Projects Comments - Plan realistic TIME in your project for: 1. analysis 2. design 3. implementation 4. testing 5. documentation - START EARLY! May have problems with getting Nachos, CVS, etc. working, especially first time - Deadline will be 11:59pm on the day the assignment is due - use 'submit' program - You get a total of 5 slip days during the semester Rounded up to next full day (so 12:00 midnight counts as 1 day) No excuses for late work after you use your slip days! - 'glookup' program to look up your grades Project Phases 1. Design Document due Feb 19 2. Design Meetings - 15-20 minute design meeting with group, everyone in group MUST attend. Sign up sheet for meetings will be on my door (447 Soda) 3. Turn in code using 'submit' by March 6 4. Turn in project journal by March 7- 'Group Evaluation Form' on course webpage, under Projects Exams - 2 midterm (no final) Book & Reader - Silberschatz and Galvin, Operating Systems Concepts, 6th Edition (see web page) - Reader with the Nachos code available at Copy Central (Northside) Nachos - Used for our projects, by ex-Berkeley prof - Great system, easy to use, makes OS development experimentation much easier than hacking a real OS - Implemented in Java - Runs on UNIX, Windows, etc - very portable - Nachos roadmap online - Please, do not print the Nachos code, use your Reader! CVS - CVS Help Session will be planned with CSUA for this week or next week - Groups need use CVS for sharing code during projects - Great way to manage the project (and also serves to back up everything you do!) - Short tutorial on CVS on my TA and course webpage Lecture review General Functions of an OS 1. Coordinator and traffic cop - allow several things to work together in an efficient and fair manner (parallelism) - resource allocation and management - sharing and protection 2. Facilitator ("Extended Machine") - provides a nice interface to standard services - shared libraries Brief OS History 1. Late 1950's The job queue is a stack of cards. The OS would load the job print the job, and make a dump of errors. Only one job at a time could run (no spooling). Languages were COBOL, FORTRAN, and ALGOL. HW expensive. 2. Early 1960's Mostly batch processing. Multiprogramming. Many jobs can run at the same time. Overlapping of I/O and computation. Use of 'spooling' so the system is not tied down to I/O devices. Protection provided because of sharing. MULTICS OS 1963-1969! HW expensive. 3. 1970's HW cheap. People more expensive. Interactive time sharing systems developed. Fancy filing systems. Minicomputer (PDP, PDP 11) UNIX OS !! 4. Early 1980's Personal Computing Networking, distributed computing 5. Mid 1990's Mobile Systems