Course Objectives
The purpose of this course is to provide students basic knowledge of operating systems, difference between the kernel and user modes, concepts of application program interfaces, methods and implementations of interrupts. Students are introduced to the schedulers, policies, processes, threads, memory management, virtual memory, protection, access control, and authentication. Students learn system calls in different popular operating systems used in the industry.
Course Contents
1.Introduction to Operating Systems
2.Operating System Design and Implementations
3.Proccesses
4.Threads
5.Proccess Synchronizations
6.Deadlocks
7.CPU Scheduling
Lecture Slides
Course's main textbook
Operating System Concepts by Abraham Silberschatz, Greg Gagne
Assessment and Grading
Operating Systems Programming for advanced students
Textbooks
The Linux programming interface a Linux and UNIX system programming handbook by Michael Kerrisk
Understanding Unix-Linux Programming by Bruce Molay
Open Courses