Threads

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.

    CPU Scheduling Policies

    CPU Scheduling Policies

    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.

    Principles of Computer Systems Design

    Principles of Computer Systems Design

    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.

      Kernel Mode Execution

      Kernel Mode Execution

      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.