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:
- Design and implementation issues of contemporary operating systems.
- Detailed analysis of process, multithreading, symmetric multiprocessing, and microkernel.
- Memory management techniques, including virtual memory.
- File Systems.
- I/O Systems.
- 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
The other references for this course are
- William Stallings, Operating Systems: Internals and Design Principles, 5th Edition, Prentice Hall, 2005, ISBN 0-13-147954-7
- Harvey M. Deitel, Paul J. Deitel, and David R. Choffnes, Operating Systems, 3rd Edition, Prentice Hall, 2004, ISBN 0-13-182827-4
- Gary J. Nutt, Operating Systems, 3rd Edition, Addison-Wesley, 2004, ISBN 0-201-77344-9
- Lubomir F. Bic and Alan C. Shaw, Operating Systems Principles, Prentice Hall, 2003, ISBN 0-13-026611-6
- Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition, Prentice Hall, 2001, ISBN 0-13-092641-8
- Andrew S. Tanenbaum and Albert S. Woodhull, Operating System: Design and Implementation, 3nd Edition, Prentice Hall, 2006, ISBN 0-13-142938-8
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.