Systems Programming
Everything on SkillVeris tagged Systems Programming — collected across the glossary, study notes, blog, and cheat sheets.
21 resources across 1 library
Interview Questions(21)
What Are Lock-Free Data Structures?
A lock-free data structure guarantees system-wide progress without using mutexes, by relying on atomic hardware primitives like compare-and-swap (CAS) so that…
RAII vs Garbage Collection
RAII (Resource Acquisition Is Initialization) ties a resource’s lifetime deterministically to an object’s scope so it is released the instant that object is de…
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…
What is Belady’s Anomaly?
Belady’s Anomaly is the counter-intuitive situation where increasing the number of page frames available to a process actually increases the number of page fau…
What is a Multilevel Page Table?
A multilevel page table splits a single flat page table into a hierarchy of smaller tables, where the virtual address is broken into multiple index fields that…
What is an Inverted Page Table?
An inverted page table flips the usual mapping direction by keeping one entry per physical frame instead of one entry per virtual page, storing which process a…
What are the Different Process States in an OS?
A process moves through a small set of states — new, ready, running, waiting (blocked), and terminated — and the OS scheduler transitions it between them based…
What Causes Context Switch Overhead and How Is It Reduced?
Context switch overhead comes from the direct cost of saving and restoring CPU state plus the indirect cost of losing cache, TLB, and pipeline warmth, and it i…
How Does Process Creation and the Process Hierarchy Work?
A process is created when an existing parent process calls a system call like fork (Unix) or CreateProcess (Windows), producing a child process with its own PI…
How Does Process Termination Work in an OS?
Process termination happens either voluntarily, when a process calls exit() after finishing or hitting an unrecoverable error, or involuntarily, when the OS or…
Microkernel vs Monolithic Kernel: Key Differences
A monolithic kernel runs the entire OS — scheduler, file system, device drivers, and networking — in one privileged address space for speed, while a microkerne…
What Are the Types of System Calls?
System calls are the controlled entry points through which a user-space program requests a privileged service from the kernel, and they fall into five broad ca…
What is Cache Coherence in Multiprocessor Systems?
Cache coherence is the guarantee that all CPU cores in a multiprocessor system see a single, consistent view of a shared memory location, even though each core…
What is a Hybrid Kernel Architecture?
A hybrid kernel is a design that keeps a microkernel-inspired modular structure — separating services conceptually and often loading drivers as dynamically loa…
What is an Exokernel Architecture?
An exokernel is a minimal kernel design that securely multiplexes raw hardware resources (CPU cycles, disk blocks, physical memory pages) between applications…
What is a Unikernel and How Does it Differ from a Traditional OS?
A unikernel is a single-address-space machine image that compiles an application together with only the specific library-level OS components it needs — network…
What Makes Embedded OS Design Different from a General-Purpose OS?
Embedded OS design prioritizes deterministic, bounded-latency execution and a tiny, predictable memory and code footprint over the throughput and general flexi…