Course Teaching: [FUNDAMENTALS OF OPERATING SYSTEM] [2018/2019]
Course Overview
This course provides an introduction to operating system design and implementation. The course will start with a brief historical perspective of the evolution of operating systems, and will further discuss the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), file systems, and operating systems protection and security.
Course Snapshot
- Credits: [4]
- Audience: [Undergraduates]
- Delivery Mode: [In-person]
- No. of Students: [9]
- Students Evaluation: [N/A]
Teaching Objectives
Understand how application software accesses computer hardware and how the operating system shares hardware resources between processes, tasks, threads, and users.
Understand and develop multi-process and multi-threaded applications.
Evaluate the different algorithms for CPU Scheduling, synchronization, and deadlock.
Explain OS support for virtual memory, memory management, I/O, and file systems.
Demonstrate and apply basic security techniques to protect the OS from threats.
Assessment & Student Engagement
- Strategies for Engagement: (discussions, group work, etc.)
Assessment Methods Weighting Quizzes 10% Assignment 15% Project 10% Exam 65%
Reflections
- What worked well:
- What could be improved:
- Student feedback highlights:
Resources
Silberschatz, Galvin, and Gagne, Operating System Concepts, 9th Edition, 2012, John Wiley Publications, ISBN-13: 978-1118129388
Testimonials (optional)
If you’ve taken this course and you’re visiting this site, feel free to drop a comment and share your thoughts or experience!