Operating Systems
Everything on SkillVeris tagged Operating Systems — collected across the glossary, study notes, blog, and cheat sheets.
264 resources across 2 libraries
Study Notes(40)
Classical Synchronization Problems
Study the Producer-Consumer, Readers-Writers, and Dining Philosophers problems and their semaphore-based solutions.
Common OS Pitfalls
The most frequent conceptual mistakes students make about operating systems, with corrections.
Context Switching
Understand what happens when the CPU switches between processes and why it is pure overhead.
Contiguous Memory Allocation
Allocating each process a single unbroken block of physical memory, and the fragmentation problems that follow.
Deadlock Conditions
The four necessary conditions (Coffman conditions) that must hold simultaneously for a deadlock to occur.
Deadlock Detection and Recovery
Letting deadlocks occur, detecting them via cycle/graph algorithms, and recovering through termination or preemption.
Deadlock Prevention and Avoidance
How to stop deadlocks before they happen: prevention breaks a Coffman condition; avoidance uses the Banker's Algorithm.
Demand Paging
Lazy loading of pages into memory only when referenced, and the step-by-step page-fault handling sequence that makes it work.
Directory Structures
How file systems organize files into single-level, two-level, tree, and acyclic-graph directory hierarchies.
Disk Scheduling Algorithms
How the OS orders pending disk I/O requests to minimize head movement, comparing FCFS, SSTF, and SCAN.
FCFS and SJF Scheduling
First-Come-First-Served and Shortest-Job-First scheduling, worked through Gantt charts with exact waiting/turnaround-time math.
File Allocation Methods
How the operating system maps a file's logical blocks onto physical disk blocks: contiguous, linked, and indexed allocation.
File System Basics
How an operating system organizes, names, and provides access to persistent data on secondary storage.
Interprocess Communication
How independent processes with separate address spaces exchange data and coordinate using OS-provided IPC mechanisms.
Introduction to Deadlocks
Get a high-level preview of what deadlock is and the four necessary conditions that must all hold for it to occur.
Introduction to Operating Systems
Learn what an operating system is, why it exists, and how it mediates between hardware and applications.
Memory Management Basics
How an OS tracks, allocates, and protects the memory used by processes running on a system.
Monitors
Learn how monitors bundle shared data, procedures, and condition variables into a higher-level synchronization construct.
Multilevel Queue Scheduling
How fixed-priority multilevel queues differ from adaptive multilevel feedback queues, and how each handles process movement.
Mutex and Semaphores
Compare mutexes and binary/counting semaphores as tools for enforcing mutual exclusion and coordinating threads.
OS Design Tradeoffs
A grounded look at the core engineering tradeoffs behind major operating system design decisions.
OS Functions and Types
Explore the core functions every OS performs and the major categories of operating systems.
Common OS Interview Questions
The most frequently asked operating systems interview questions with clear, technically accurate answers.
OS Quick Reference
A consolidated reference summary of the core operating systems concepts, metrics, and algorithms covered in this course.
Showing 24 of 40.
Interview Questions(224)
Difference Between Process and Thread
A process is an independent program in execution with its own private memory space, while a thread is a lighter unit of execution that lives inside a process a…
What is a Deadlock?
A deadlock is a situation where a set of processes are permanently blocked because each holds a resource the others need and is waiting for a resource another…
Difference Between Paging and Segmentation
Paging divides memory into fixed-size blocks called pages (mapped to equal-size frames in physical memory), while segmentation divides memory into variable-siz…
What is a Semaphore?
A semaphore is a synchronization primitive — an integer counter with atomic wait (P/down) and signal (V/up) operations — used to control access to shared resou…
What is a Context Switch?
A context switch is the process of saving the CPU state of a currently running task and loading the saved state of another task, so a single CPU core can appea…
What is Virtual Memory?
Virtual memory is a technique that gives each process the illusion of a large, private, contiguous address space by mapping virtual addresses to physical RAM (…
Difference Between Mutex and Semaphore
A mutex is a locking primitive owned by exactly the thread that acquires it and enforces mutual exclusion over a single resource, while a semaphore is a counte…
What is CPU Scheduling?
CPU scheduling is the OS mechanism that decides which ready process or thread gets to run on the CPU next, aiming to balance throughput, fairness, and responsi…
What is Thrashing in Operating Systems?
Thrashing is a state where a system spends most of its time swapping pages between RAM and disk rather than executing actual instructions, causing CPU utilizat…
What is a Page Fault?
A page fault is a hardware trap raised by the MMU when a running program accesses a virtual memory page that is not currently mapped to a physical frame, forci…
Preemptive vs Non-Preemptive Scheduling
Preemptive scheduling lets the OS forcibly suspend a running process to give the CPU to another, while non-preemptive scheduling requires the running process t…
What is a Race Condition?
A race condition occurs when two or more threads or processes access shared data concurrently and the final outcome depends on the unpredictable timing of thei…
What is the Critical Section Problem?
The critical section problem is the challenge of designing a protocol that lets multiple concurrent processes or threads take turns using a shared resource saf…
What is a System Call?
A system call is the controlled interface a user-space program uses to request a privileged service from the operating system kernel, such as reading a file, a…
What is Demand Paging?
Demand paging is a virtual memory technique where a page is loaded into physical memory only when a process actually references it, rather than loading the who…
What is a Zombie Process?
A zombie process is a process that has finished execution but still has an entry in the process table because its parent has not yet read its exit status.
What is Inter-Process Communication (IPC)?
Inter-process communication (IPC) is the set of mechanisms an operating system provides for separate processes — each with its own isolated address space — to…
What is the Producer-Consumer Problem?
The producer-consumer problem is a classic synchronization challenge where one or more producer threads generate data into a shared, fixed-size buffer while on…
What is an Interrupt?
An interrupt is a signal to the CPU, generated by hardware or software, that forces the processor to pause its current instruction stream and immediately trans…
What Is Fragmentation?
Fragmentation is the wasted memory that builds up as blocks are allocated and freed over time, leaving usable space scattered in pieces too small or too oddly…
What Is a File System?
A file system is the operating system component that organizes how data is named, stored, retrieved, and protected on persistent storage, presenting raw disk b…
Kernel Mode vs User Mode
Kernel mode is a privileged CPU execution state where the operating system can execute any instruction and access all hardware directly, while user mode is a r…
What Is Round Robin Scheduling?
Round robin scheduling is a preemptive CPU scheduling algorithm that gives every process a fixed time slice, called a quantum, in a cyclic order, so no single…
What Is a Monitor in OS?
A monitor is a high-level synchronization construct that bundles shared data with the procedures that operate on it, guaranteeing that only one thread can exec…
Showing 24 of 224.