CSCI P436 Introduction to Operating Systems
Fall 2007
Credit Hours: 4
Lecture: M,W 2:30-3:45
Location: Ballantine Hall 242 (BH242)
Lab: Friday 11:15-12:05, Student Building 221
Instructor: Beth Plale
Associate Professor
LH301D, 812-855-4373
plal e @ cs.indiana.edu (spaces omitted)
Office Hours: TBA
Associate Instructor (AI): Jeff Cox
LH330A
jefcox @ indiana.edu (spaces omitted)
Office Hours: M,W 4:00pm - 5:00pm
Brief Course Description: Welcome to the preliminary course web page for Fall 2007 CSCI P436. The field of Operating Systems is changing quickly, so while it is important for this course for students to gain a working knowledge of the fundamental concepts of Operating Systems, students will also gain an understanding of the important and exciting direction in this field, such as multicore architectures and hypervisors.
The course will consist of lectures and outside speakers. Outside speakers are valuable in providing a glimpse the issues and skills that are important in industry. Students will write several programs in this course that will exercise aspects of operating systems theory and practice. Students will have pencil-and-paper homework, and will have a midterm and final test.
Students are strongly advised to gain outside experience with C or C++. New Fall 2007, the Computer Science Department is offering 8 week short courses to teach programming language skills. Specifically, the department is offering a course in C the first 8 weeks of Fall 2007. CSCI-A-290, class number 29143, is a course on the C programming language that runs 8/27 through 10/10/07 (8 weeks). It meets 5:00-5:50 p.m. MW in LH115. It is highly recommended that you take this course this Fall. C++ will be taught the second 8 weeks of the Fall 2007 semester. Please feel free to contact Prof Plale with questions.
Textbooks: Silberschatz, Galvin, Gagne: Operating System Concepts, 7th Edition
Topics (not in order):
I. Operating system organization.
II. Data Locality. Manifested in such components as memory management.
III. Resource Sharing. How does the machine fairly allocate resources? Do operating systems need to stop scheduling processors and instead allocate them? <comment made by Burton Smith of Microsoft>
IV. File Systems. Including Unix file system, virtual file systems, immutable file systems.
V. Protection of resources and users.
VI. Performance analysis. Experimental and simple theoretical analysis.
VII. Concurrency. When a machine has multiple processors, activities can go on simultaneously. When a shared resource is involved, arbitrating access to the resource become very important.
VIII. Case studies. Outside speakers will be brought in for students to hear what issues and skills are important in industry.
IX. Hypervisor and other future-looking topics
Class Schedule
| Date |
Topic |
Presenter |
| 24-Sep |
Linux and Windows Case Studies |
Felix |
| 26-Sep |
Linux and Windows Case Studies |
Felix |
| 1-Oct |
Threads and Synchronization |
Dr. Plale |
| 3-Oct |
Threads and Synchronization |
Jeff |
| 8-Oct |
Threads and Synchronization |
Dr. Plale |
| 10-Oct |
Scheduling |
Jeff |
| 15-Oct |
Deadlock |
Dr. Plale |
| 17-Oct |
Midterm |
Jeff |
| 22-Oct |
Main Memory |
Dr. Plale |
| 24-Oct |
Main Memory |
Dr. Plale |
| 29-Oct |
Virtual Memory |
Jeff |
| 31-Oct |
Virtual Memory |
Jeff |
| 5-Nov |
File Systems |
Dr. Plale |
| 7-Nov |
File Systems |
Dr. Plale |
| 12-Nov |
File Systems |
Jeff |
| 14-Nov |
Mass Storage |
Jeff |
| 19-Nov |
Security |
Dr. Plale |
| 21-Nov |
No Class |
No Class |
| 26-Nov |
Security |
Dr. Plale |
| 28-Nov |
Class Presentations |
Student |
| 3-Dec |
Class Presentations |
Student |
| 5-Nov |
Class Presentations |
Student |
| 10-Dec |
Exam Week |
------ |
Lab Topics and Out of Class Assignments
Students will write several programs during the course of this course. Students are strongly advised to gain experience with C or C++ before starting class. Lab time early in the semester will be devoted to covering language-related topics.
Homework Exercises
Homework assignments are pencil and paper tasks to exercise the theoretical material.