CSE 120 Principles of Operating Systems Fall 2004 Lecture 1 Course Introduction Geoffrey M Voelker Lecture 1 Overview z z z Class overview What is an operating system Operating system modules interfaces September 23 2004 CSE 120 Lecture 1 Course Intro 2 1 Personnel z Instructor Geoff Voelker z Discussion TA Nan Zang z Office hours Mon Wed afternoon Discussion Fri 11 11 50am in HSS 1330 Office hours TBD Homework grader Project TA Charles Lucas Lab hours TBD email Project grader September 23 2004 CSE 120 Lecture 1 Course Intro 3 CSE 120 Class Overview z z Course material taught through class lectures textbook readings and handouts Course assignments are z Homework questions mostly from the book Three large programming projects in groups Discussion sections are a forum for asking questions Lecture material and homework Additional OS topics e g how does an OS boot Mailing list cse120 cs ucsd edu Discussion board http discus ucsd edu September 23 2004 CSE 120 Lecture 1 Course Intro 4 2 Homeworks z There will be 4 5 homeworks throughout the quarter z Reinforce lecture material no better practice Collaboration vs cheating I encourage you to discuss homework problems with others You can learn a lot from each other But there is a distinction between collaboration and cheating Rule of thumb Discuss together in library walk home and write up answers independently Cheating is copying from other student s homeworks or solution sets searching for answers on the Web etc Suspicious homeworks will be flagged for review by me September 23 2004 CSE 120 Lecture 1 Course Intro 5 Textbook z Silberschatz Operating System Concepts Wiley 6th Edition Windows XP Update ISBN 0 471 25060 0 September 23 2004 CSE 120 Lecture 1 Course Intro 6 3 Nachos z Nachos is an instructional operating system It is a user level operating system and a machine simulator Not unlike the Java runtime environment Will become abundantly clear or not so clear very soon Programming environment will be C on Unix Linux Solaris The projects will require serious time commitments This is not an understatement z You will do three projects using Nachos more later z Concurrency and synchronization Multiprogramming Virtual memory You will work in groups of 1 4 on the projects Start identifying partners now September 23 2004 CSE 120 Lecture 1 Course Intro 7 Labs z We will use the uAPE lab in the AP M basement z Solaris running on Sun sparc machines You can also use your home machine The same project source will work on Linux but not Windows We will test on uAPE machines Be sure to test your projects there as well September 23 2004 CSE 120 Lecture 1 Course Intro 8 4 Exams z Midterm z Thursday October 28 Covers first half of class Final Thursday December 9 Covers second half of class selected material from first part I will be explicit about the material covered z No makeup exams z Unless dire circumstances Crib sheet You can bring one double sided 8 5x11 page of notes to each exam to assist you in answering the questions Not a substitute for thinking September 23 2004 CSE 120 Lecture 1 Course Intro 9 Grading z Homeworks 15 z z z Think of these collectively as a take home midterm Midterm 25 Final 30 Projects 30 September 23 2004 CSE 120 Lecture 1 Course Intro 10 5 How Not To Pass CSE 120 z Do not come to lecture z It s nice out the slides are online and the material is in the book anyway Lecture material is the basis for exams and directly relates to the projects Do not do the homework It s only 15 of the grade Excellent practice for the exams and some homework problems are exercises for helping with the project 15 is actually a significant fraction of your grade difference between an A and a C September 23 2004 CSE 120 Lecture 1 Course Intro 11 How Not To Pass 2 z Do not ask questions in lecture office hours or email z It s scary I don t want to embarrass myself Asking questions is the best way to clarify lecture material at the time it is being presented Office hours and email will help with homeworks projects Wait until the last couple of days to start a project We ll have to do the crunch anyways why do it early The projects cannot be done in the last couple of days Some groups last time learned that starting early meant finishing all of the projects on time and some didn t September 23 2004 CSE 120 Lecture 1 Course Intro 12 6 Class Web Page http www cse ucsd edu classes fa04 cse120 z Serves many roles Course syllabus and schedule updated as quarter progresses Lecture slides z Homework handouts Project handouts tons of info on Nachos start now Supplemental readings on Unix monitors and threads e g seminal research paper describing the early Unix system FYI only but you might find it interesting Concepts in paper might seem obvious and familiar but they were new at one time September 23 2004 CSE 120 Lecture 1 Course Intro 13 Questions z Before we start the material any questions about the class structure contents etc September 23 2004 CSE 120 Lecture 1 Course Intro 14 7 Why Operating Systems z Why are we making you sit here today having to suffer through a core course in operating systems z Understand what you use z Understanding how an OS works helps you develop apps System functionality performance efficiency etc Pervasive abstractions z It s not like everyone will become OS developers after all Concurrency Threads and synchronization are common modern programming abstractions Java NET etc Complex software systems Many of you will go on to work on large software projects OSes serve as examples of an evolution of complex systems September 23 2004 CSE 120 Lecture 1 Course Intro 15 CSE 120 Course Material z This course addresses classic OS concepts Services provided by the OS OS implementation on modern hardware Co evolution of hardware and software Techniques for implementing software systems that are z System software tends to be mysterious z Large and complex Long lived and evolving Concurrent Performance critical Virtual memory Wazzat Our goal is to reveal all mysteries September 23 2004 CSE 120 Lecture 1 Course Intro 16 8 Fundamental OS Issues z The fundamental issues questions in this course are Structure how is an operating system organized Sharing how are resources shared among users Naming how are resources named by users and programs Protection how are users programs protected from each other Security how can information access flow be restricted Communication how to exchange data Reliability and fault tolerance how to mask
View Full Document
Unlocking...