CMPT 332 Operating Systems ConceptsDescriptionThe purpose of CMPT 332 is to provide a basic 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. Although examples will be drawn from several operating systems throughout the course, it is not the purpose of this course to provide training in any particular operating system. The class will follow the textbook in content, but not necessarily organization. Students will be responsible for reading the text and learning the material in it. Lecture time will be used primarily for:
PrerequisitesCMPT 280, and CMPT 215 or EE 331. InstructorDwight Makaroff makaroff@cs.usask.ca 966-8656 Office Location: Thorvaldson 281.3
ScheduleMWF 9:30-10:20 Thorvaldson 205A Course MaterialTextbooks:Title: Modern Operating Systems
Title: Operating Systems: Internals and Design Principles
Author: William Stallings
Publisher: Pearson/Prentice Hall Edition/Year: 7th Edition/2012 ISBN: 0-13-230998-1 Additional information: optional, but not necessary for anyone. This provides a different point of view. Title: Operating System Concepts
Title: The C Programming Language
Author: Brian Kernighan and Dennis Ritchie Publisher: Prentice Hall Edition/Year: 2nd/1988 ISBN: 0-13-110362-8 Additional Information: You will need a C reference book. This is the best. Type: Recommended resource Grade AllocationRequirements: There will be 4 equally-weighted assignments (due approximately every 3-4 weeks), a mid-term exam (held in-class), and a final examination during the regular examination period. Exact dates will be announced as the course progresses. The approximate weightings for the assignments and examinations are as follows:
TutorialsThere are 2 tutorial slots. Tutorials will be held every week. Location and Time: Monday 3:30, Wednesday, 2:30: Thorvaldson S320 (seating limit 33). You may attend either tutorial, depending on space only. Teaching Assistants: Mahsa Naseri (man034) and Shaiful Chowdhury (sbc882) Learning ObjectivesAfter completing this course, students should be able to do the following tasks:
Lessons
Introduction and Overview
Introduction Objectives: Review and set up the scope of the course. Topics: Overview, history of Operating Systems. Introduction to the computing environment for this course. Possible review of C and UNIX/ Linux. Readings: Chapter 1.1-1.4 (pp. 1-37) - Tanenbaum
Lesson 2
Process Description, Concurrency Control and Inter-Process Communication Topics: Subtopics:processes, threads, and address spaces; I/O devices; synchronization; mutual exclusion; semaphores; monitors; Inter-process communication; deadlock; examples. Duration: 4.5 weeks. Readings: Chapter 2.1, 2.2, 2.3, 5.1, 5.2, 6 Lesson 3 Process Scheduling Topics: types of scheduling; uniprocessor scheduling; multiprocessor scheduling; examples. Duration: 2 weeks Readings: Chapter 2.4 Lesson 4
Memory Management
Topics: address binding; virtual memory; address translation; management policies for demand paged virtual memory; examples. Duration: 3 weeks Readings: Chapter 3 Lesson 5
I/O and File Systems
Topics: organizing the I/O function; disk architectures, RAID; disk caching; file organization; secondary storage management; protection and security; examples. Duration: 2 weeks Readings: Parts of Chapter 4 and Sections 5.3 and 5.4 Lesson 6
Distributed Systems and Virtualization Topics: client-server paradigm; Remote Procedure Call; clusters; process migration; distributed file systems, virtual machines. Duration: 2 weeks (If time permits) Readings: Course Notes and Sections 8.3 and 8.4 PoliciesFacilities: Students will be using the Linux/Windows computers in the Spinks Lab to do most of their work, and are expected to be familiar with the use of these facilities. Other: A few miscellaneous points:
Additional information:
Assignments are to be done in groups of at most two students. Plagiarism is strongly forbidden (as in all courses). We will be checking assignments/projects for plagiarism using nifty cheating detection software and penalties will be enforced. Refer to the University policy on academic honesty.
|
||||||||||
| |