CS350/CS311 Operating Systems Department of Computer Science Syllabus Instructor: Dr. Dennis Foreman, room Q19, Watson School (3rd floor), x74162, foreman@binghamton.edu. Office hours: see my website for more information Teaching Assistant: See my website for TA/CA information Required text (Fall 2014): Operating Systems, Internals & Principles, Stallings, 8th Edition, ISBN: 0-978-13-380591-8. CAUTION: Do NOT buy the “International” edition. It is NOT the same and the homework problems do not match. Recommended texts (helpful, but NOT required): o o Linux Kernel Programming, Beck, et al, Addison-Wesley, ISBN: 0-201-71975-4 Either of the following (or both, depending on your wallet) can be helpful: Butenhof, Programming with POSIX Threads; Addison-Wesley Lewis, Berg, Multithreaded Programming with Pthreads; Prentice Hall Required software: Microsoft Visual Studio 2013 (available on all Windows machines in the PODS). This software is available FREE for any student registered in a Watson school course AFTER the course drop deadline. See my website for the link. General Goals: To provide the necessary general knowledge of the fundamental concepts underlying the design and implementation of operating systems. The concepts of mutual exclusion, processes and threads, deadlock, processor and memory management, context switching, file systems, input/output subsystems, protection and security issues. Specific goals: Ability to describe an O/S as an abstract machine Ability to describe privileged & user states and how they are accessed and controlled Ability to use and explain the semantics and operation of semaphores, condition variables, monitors and critical sections Ability to explain the consequences of various page replacement algorithms Ability to implement programs using processes and threads Ability to explain the hardware architecture requirements supporting any O/S Both Microsoft Windows and Linux will be used for assignments. This course is a 4-credit course, which means that in addition to the scheduled meeting times, students are expected to do at least 9.5 hours of course-related work outside of class each week during the semester. This includes time spent completing assigned readings, participating in lab sessions (not for CS311), studying for tests and examinations, preparing written assignments, and other course-related tasks.