Course Objectives:
This course presents the concepts of the software that work as intermediary programs between the user and the hardware, known as operating systems. It covers the basic concepts of modern operating systems, how they are designed and the way they work regarding to the efficiency and reliability. Also, it compares between the techniques used inside the operating systems regarding to its time and space complexity.
Course Content:
1. Basic components of the various operating systems;
2. Organization and management processes.
3. Treatment of concurrent computing and synchronization issues.
4. Scheduling of various types of processor and storage devices.
5. Memory management of all kinds, both the master and the default.
6. The file system.
7. Input / output system.
Skills expected from this course:
Upon finishing this course, the student should:
-
Know the Basic components of operating systems and its different tasks.
-
Evaluate the performance of different algorithms of operating systems.
-
Understand operating systems tuning techniques for efficient performance.
-
Know computing synchronization.
-
Understand memory management methods.
-
Understand Input/output systems.
-
Evaluate different operating systems.
Textbook:
Abraham Silberschatz, et al, "Operating System Concepts," Seventh Edition 2004, John Wiley & Sons Inc, ISBN 0471694665
Reference:
A. Tanenbaum and A. Woodhull, "Operating Systems Design and Implementation," Third Edition 2006, Prentice Hall Software Series, ISBN 0131429388
|