HiLCoE Science & Technology Operating Systems Course Title: Course Code: Credit Hours: 4 Course Objective: At the end of the course, students will grasp operating system design concepts, define an operating system, and understand what an operating system does, understand processes, scheduling, memory and file management, know the difference between a process and a thread, understand how a file is managed by an operating system, understand how I/O devices work and are managed by an operating system, and be exposed to security issues related to operating systems. Course Description Introduction: what is an operating system, history, evolution, and philosophy of operating systems, operating system structure and services; process and process management: the process concept, threads, interprocess communication and synchronization (race conditions, critical sections, semaphores, monitors, classical IPC problems), CPU scheduling (basic concepts, scheduling criteria, and scheduling algorithms); deadlocks (avoidance, prevention, and detection); memory management: basic memory management (monoprogramming without swapping and paging, multiprogramming with fixed partitions, fragmentation, memory binding, relocation and protection), multiprogramming with variable partitions (physical and virtual memory, memory allocation algorithms, paging, page replacement algorithms, segmentation); file systems: access methods, directory structure, file sharing and protection; input/output: overview, direct memory access, disk I/O; security: authentication, intrusion detection, encryption.
HiLCoE Science & Technology Course Title: Operating Systems Course Code: Credit Hours: 4 Course Objective: At the end of the course, students will grasp operating system design concepts, define an operating system, and understand what an operating system does, understand processes, scheduling, memory and file management, know the difference between a process and a thread, understand how a file is managed by an operating system, understand how I/O devices work and are managed by an operating system, and be exposed to security issues related to operating systems. Course Description Introduction: what is an operating system, history, evolution, and philosophy of operating systems, operating system structure and services; process and process management: the process concept, threads, interprocess communication and synchronization (race conditions, critical sections, semaphores, monitors, classical IPC problems), CPU scheduling (basic concepts, scheduling criteria, and scheduling algorithms); deadlocks (avoidance, prevention, and detection); memory management: basic memory management (monoprogramming without swapping and paging, multiprogramming with fixed partitions, fragmentation, memory binding, relocation and protection), multiprogramming with variable partitions (physical and virtual memory, memory allocation algorithms, paging, page replacement algorithms, segmentation); file systems: access methods, directory structure, file sharing and protection; input/output: overview, direct memory access, disk I/O; security: authentication, intrusion detection, encryption.