CS162, Spring 2002 Section 1 notes for 29 Jan 2002 Sections 102 & 103 Barbara Hohlt, cs162-tb@cory.eecs.berkeley.edu Self intro - http://www.cs.berkeley.edu/~hohltb/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.Each project group must fill out one copy of this form. 4.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 - Thurs 11:00 and Fri 10:00 in 443 Soda Comments About Projects - 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 20 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 (443 Soda) 3. Turn in code using 'submit' by March 7 4. Turn in project journal by March 8- 'Group Evaluation Form' on course webpage, under Projects Exams - 1 midterm, 1 final Book & Reader - Silberschatz and Galvin, Operating Systems Concepts, 6th Edition (see web page) - Reader with the Nachos code available Wednesday at Copy Central at 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 Thursday February 7 6:30pm 306 Soda - Groups should 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 - allow several things to work together in an efficient and fair manner (parallelism) - resource allocatino and management - sharing and protection 2. "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