Overview

Operating system is an essential part of any computer system.  Understanding the principles underlying the operating system design and implementation is crucial for the students of computer specialty.  So that they can take advantages of facilities provided by the operating systems and can handle the complex problems should they happen.  We will study process management, resource allocation, memory management, time management, file management, and security.  We will explore a number of different actual operating systems throughout the course to study the real implementations.

Objective

This is a pragmatic operating system course with emphasis on investigative experiments.  After the end this course, students should have a basic practical understanding of the following:

  1. Design and implementation issues of contemporary operating systems.
  2. Detailed analysis of process, multithreading, symmetric multiprocessing, and microkernel.
  3. Memory management techniques, including virtual memory.
  4. File Systems.
  5. I/O Systems.
  6. Security.

Instructional Approach

Students are required to read through the textbooks before attending each class.  Throughout the course, theoretical exercises and programming exercises will be systematically analyzed and discussed.  Additional assignments will be given to expand the knowledge beyond the textbooks.

References

The main book for this course is

Abraham Silberschatz, et al., Operating System Concepts with Java, 7th Edition, John Wiley, 2007, ISBN 978-0-471-76907-1

The other references for this course are

  1. William Stallings, Operating Systems: Internals and Design Principles, 5th Edition, Prentice Hall, 2005, ISBN 0-13-147954-7
  2. Harvey M. Deitel, Paul J. Deitel, and David R. Choffnes, Operating Systems, 3rd Edition, Prentice Hall, 2004, ISBN 0-13-182827-4
  3. Gary J. Nutt, Operating Systems, 3rd Edition, Addison-Wesley, 2004, ISBN 0-201-77344-9
  4. Lubomir F. Bic and Alan C. Shaw, Operating Systems Principles, Prentice Hall, 2003, ISBN 0-13-026611-6
  5. Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition, Prentice Hall, 2001, ISBN 0-13-092641-8
  6. Andrew S. Tanenbaum and Albert S. Woodhull, Operating System: Design and Implementation, 3nd Edition, Prentice Hall, 2006, ISBN 0-13-142938-8
Other books that may be useful are those about operating systems

Course outline

The following schedule is tentative only; it may change depending on the circumstances.

Week Topics
1 Introduction to Operating Systems
2 Operating System Structures
3 Process
4 Thread
5 Scheduling
6 Process Coordination
7 Deadlock
8 Midterm
9 Momory Management
10 Virtual Memory
11 File System-Interface
12 File System-Implementation
13 I/O System
14 Protection
15 Security
16 Conclusion
17 Final Exam

Note that the above schedule is tentative by nature; it may change at the instructor's discretion.

Evaluation

The course evaluation will be divided equally between examinations and assignments.  The distribution of each half is shown below.

Items Weight
Individual Assignments 20%
Group Assignments 20%
Articles 10%
Quizzes 10%
Midterm Exam 20%
Final Exam 20%

Please make sure that you have carefully read and understand the academic policy.

Note that the above description is only tentative; it may change at the instructor's discretion.

Summer Assignment

No Summer Assignment

Resources

» Home
  Go back to my home page.
» Announcement
  Announcement for this class.
» Academic Policy
  The academic policy enforced in this class.  Students are required to understand and followed this policy.
» Score
  The score for each student.
» Work submission
  Where to submit your assignments.
» Lecture Notes
Notes for this class.