This lecture covers CPU scheduling concepts and policies including FIFO, SJF, STCF, Round Robin, trade-offs in response time vs turnaround time, handling IO, and scheduling metrics like response and turnaround time.
This document explains how OS virtualizes the CPU using limited direct execution, managing mode switches between user/kernel, system call trapping, timer interrupts, and context switching to achieve efficient and controlled process execution.
An introduction to operating systems focusing on their role as system software managing hardware, process management, memory management, IO, and system calls. It discusses OS architectures like monolithic kernels and microkernels and the need for OS in convenience, security, and resource usage efficiency.
This lecture covers semaphores as synchronization primitives with counters and their operations (up/post and down/wait). Topics include binary semaphores as mutexes, semaphore usage in producer-consumer problems, and handling deadlocks caused by semaphore misuse.
This lecture explains threads as lightweight processes sharing memory space. It discusses thread control blocks, POSIX threads in Linux, concurrency issues like race conditions, critical sections, locks, and synchronization primitives.