SFU Computing Science 98-2 ________________________________________________________________________ CMPT 300-3 Day Operating Systems 1 Instructor: M. Evans SFU MWF 0830`-920 Final Exam: Aug 7 - 8:30 ________________________________________________________________________ OBJECTIVE/DESCRIPTION: This course aims to give the student an understanding of what a modern operating system is and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems. The course concentrates on generic / logical design issues, rather than considering any one particular operating system in detail. Students are expected to peruse the appropriate literature in order to appreciate the design issues of specific operating systems. TOPICS: o Introduction: History of operating systems, batch, interactive and real time processing, multiprogramming and multiprocessing, review of hardware architectures o Operating System Services: Command language user's view, System call user's view, relocation, loading, linking, input/output processing o Process Synchronization: Processes, critical section, deadlock and starvation, semaphores, monitors, producer-consumer problem, interprocess communication, classical problems. o Multiprogramming: Process control block, process status, state transitions, OS nucleus, process management, resource descriptor, resource management, job and process scheduling, priorities. o Memory Management: Allocation algorithms, paging, FIFO and LRU replacement, segmentation, virtual memory concepts and algorithms. o File Systems: Disk systems, file operations, access methods, allocation methods, directory system. o Case Studies: Unix, Windows NT, Mach. o NOTE: The lectures will NOT necessarily follow the sequence of the above, nor that of the prescribed textbook. GRADING: The grade awarded will be the greater of the following two: Method 1: 2 Programming projects ( 5+20) 25% 1 Midterm test 20% Final exam (3 hours) 55% Method 2: As in Method 1, except the Midterm = 0% and the final exam = 75%. Note: The 2nd project must be done in teams of two. Late assignments will be accepted for marking for correctness, but will be awarded a grade of 0. They are considered late if they are passed in more than 5 minutes after the START of the class on the due date given on the assignment. Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C or better). TEXTBOOKS: o Operating Systems - Internals & Design principles - 3rd ed., William Stallings, Prentice Hall, 1998: other texts may be just as suitable REFERENCES: o Modern Operating Systems, Andrew S. Tanenbaum, Prentice Hall, o C Programming in the Berkeley UNIX Environment, 2nd Edition, N. Horspool, Prentice-Hall, o Operating System Concepts - 5th edition, Silberschatz & Galvin, Addison Wesley, 1998: may replace required text o Advanced Topics in UNIX, Leach, , 1994 PREREQUISITES/COREQUISITES: CMPT 201, MACM 101 (or CMPT 205 ) A minimum grade of C is required in all prerequisite courses. Distributed: February 17, 1998 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Academic Honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty are subject to disciplinary action by the School; serious infractions are dealt with in accordance with the Code of Academic Honesty (T10.02) (http://www.sfu.ca/policies/teaching/t10-02.htm). Students are encouraged to read the School's Statement on Intellectual Honesty (http://www.cs.sfu.ca/undergrad/Policies/honesty.html).