Threads
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.
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.
This lecture discusses scheduling policies used by OS to allocate CPU time among processes. Topics include preemptive vs non-preemptive scheduling, algorithms like FIFO, SJF, Round Robin, Multi-level Feedback Queues, and considerations for multicore processors.
This lecture introduces foundational design principles of computer systems such as modularity, abstraction, layering, virtualization, hierarchy, concurrency, caching, indexing, replication, and logging to build robust systems.
This lecture explains the distinction between user mode and kernel mode execution in OS. It details how system calls and interrupts trap the CPU to kernel mode, context saving on kernel stack, interrupt descriptor table (IDT), and context switching in kernel mode.