Operating System Concepts
Lecture Slides
Lectures
Operating System Fundamentals, Kernel, and System Software
Introduction to operating systems, OS roles and resource management, processes, kernel and user space, system calls, system and application software, development tools, middleware, embedded and network software, utility programs, and device drivers
Operating System Types and Architecture
Types of operating systems including batch processing, multiprogramming, time-sharing, GUI-based, networked, mobile, and AI-powered systems, along with OS architectures such as simple, monolithic, and microkernel designs
Operating System Types and Structures
OS structures including simple, monolithic, microkernel, layered, and modular architectures
Spooling, Processes, Threads, and Process Management
Spooling and buffering, process management foundations, processes and programs, threads, process states and transitions, and Process Control Block (PCB)
Process Control Block (PCB), CPU Registers, Process Scheduling, and Queues
Process Control Block (PCB) components, program counter, process priority and aging, PCB pointers, open files, CPU registers, memory and I/O information, scheduling information, and process queues
Process Scheduling and Types of Schedulers
Understanding process scheduling in operating systems, the roles of long-term, short-term, and medium-term schedulers, process movement between queues, and common CPU scheduling algorithms
Threads and Multithreaded Programming
Understanding threads, thread components, process and thread differences, advantages of multithreading, user-level threads, kernel-level threads, and their advantages and disadvantages
Multithreading Models and Process Synchronization
Understanding many-to-one, one-to-one, and many-to-many threading models, multicore programming, concurrency, implicit threading, inter-process communication, critical sections, and synchronization tools