Course Objectives:-

An operating system is an essential part of any computer system. The purpose of this course is to provide a clear understanding of the concepts that underlie operating systems. The course aims are

  1. To understand the services provided by and the design of an operating system.
  2. To understand the structure and organization of the file system.
  3. To understand what a process is and how processes are synchronized and scheduled.
  4. To understand different approaches to memory management.
  5. Students should be able to use system calls for managing processes, memory and the file system.
  6. Students should understand the data structures and algorithms used to implement an OS.
  1. Students are expected to gain in depth knowledge about the components of the operating system, knowledge of different types of operating systems and functions performed by the modern operating systems.

Course Outcomes:-

Upon completion of this course, the students will gain extensive knowledge on principles and modules of operating systems, understand key mechanisms used in designing the operating systems modules, process management, concurrent processes and threads, memory management, virtual memory concepts, deadlocks, also compare performance of processor scheduling algorithms, provide  algorithmic solutions to process synchronization problems and  use modern operating system calls such as Linux process and synchronization libraries. To practice with operating system concepts such as process management, synchronization, networked processes and files systems.