Computer Science 432 (Detailed Information)General DescriptionThe purpose of CMPT 432 is to provide an in-depth understanding of operating systems principles: the parts of an operating system, how they are structured, the important policies governing their operation, and the implementation issues. There will be low-level system programming in implementing components of an operating system. Students will have the opportunity to develop systems software for virtual machine environments in which to make these low-level changes. The lectures will explore some depth of both low-level and high-level issues in Operating Systems, from the details of context switching to security and protection issues. I intend to follow a fairly hands-on approach as much of the course material will not be delivered in lecture format. The notes are there for you to read and we will discuss particular points where clarity is needed, but substantial class time will be devoted to actual programming and design meetings. InstructorDwight Makaroff Time and PlaceTime: TTh, 16:00 - 17:15 TopicsA tentative topic outline is as follows:
EvaluationThere will be 1 assignment, a mid-term exam (held in-class), a research project and an implementation project, and finally, a final examination during the regular examination period. 832 students will also present a research paper, exploring some innovative techniques in operating system implementation and design. Exact dates will be announced as the course progresses. The approximate weightings for the assignments and examinations are as follows:
MaterialsThe textbook for this course is
Recommended Reference Reading: Linux Kernel Programming, by Michael Beck et al., Addison Wesley, 2002. Recommended Reference Reading: Advanced Programming in the UNIX Environment, by W. Richard Stevens and Stephen A. Rago, Addison Wesley, 2005. Recommended Reference Reading: Operating Systems Design and Implementation (3rd Edition) , by Andrew S. Tanenbaum and Albert S. Woodhull, Pearson/Prentice Hall, 2006. This course will be administered with BlackBoard/WebCT. There is an abundance of material, index, references, and a glossary. There is also a set of pages with links to websites with excellent tutorials. FacilitiesStudents will be using the Linux machines in the Spinks laboratory to do most of their work, and are expected to be familiar with the use of these facilities. There will be access to virtual machine environments on some of the Stealth machines for programming in the Linux kernel. Details of access to these machines for kernel programming will be given early in the term. OtherA few miscellaneous points:
|
|||||||||||||||||||||
| |