📚

Operating Systems & Systems Programming Topics

Covers operating system fundamentals and systems programming topics, including process management, memory management, file system interfaces, inter-process communication, low-level kernel interactions, and system call interfaces (e.g., fork, exec, opendir, stat) across Unix/Linux and other OS environments.

File Systems & Storage Internals

How file systems organize data on storage: inodes, directories, file descriptors, hard vs. symbolic links, and metadata. Covers on-disk structures, journaling and consistency, the buffer/page cache, mounting and the virtual file system layer, and how block devices and storage stacks sit beneath the file system.

0 questions

Linux System Administration & Networking

Operating and troubleshooting Linux hosts: users and groups, packages, cron, logging, and the /proc and /sys interfaces, together with host-level networking such as interfaces, routing, DNS resolution, ports, and firewall rules. Covers diagnosing connectivity and configuration issues with standard tooling on a running Linux system.

0 questions

Kernel Architecture & OS Internals

How an operating system kernel is structured and what it is responsible for: kernel subsystems (scheduler, memory manager, drivers, interrupt handling), kernel vs. user space and the cost of crossing between them, and the boot and initialization path. Includes the core mechanisms the kernel provides: process and thread lifecycle (creation, zombies and orphans, uninterruptible sleep) and context switching, processes vs. threads as an architectural choice, CPU scheduling (CFS, priorities, preemption models, real-time policies on a general-purpose kernel), virtual memory (address translation, multi-level page tables and entry formats, TLB misses and shootdowns, page faults, copy-on-write, memory-mapped files, userfaultfd, swapping, page replacement, kernel allocators, process address-space layout, page-level protection such as NX and ASLR as mechanisms, hugepages, page coloring, overcommit and the OOM killer as kernel mechanisms), interrupts and softirqs, and how loadable modules and device drivers extend the kernel. Includes worked exercises such as page-replacement traces, address-translation arithmetic and small page-table, TLB or scheduler simulations. Covers the concepts and internals, not microcontroller interrupt and ISR design, RTOS and real-time scheduling theory, day-to-day host administration, system-call and POSIX API semantics, OS-level performance tuning, or forensic and security analysis of a host.

0 questions

Linux Command Line & Shell

Working effectively at the Linux/Unix shell: core commands, file and text manipulation, pipes and redirection, process control, permissions and ownership, and shell scripting fundamentals. Covers navigating the filesystem, chaining tools, and the everyday command-line workflow expected of anyone operating Linux systems.

0 questions

Windows Server Internals & Administration

Administering and troubleshooting Windows Server environments: the Windows process and service model, the registry, event logs, Active Directory basics, and performance/diagnostic tooling. Covers how Windows differs from Unix in process, security, and service management, and how to diagnose common server-side failures.

0 questions

Service & Init System Management

Managing long-running services and the system init layer: systemd units, targets, dependencies, and journald, plus starting, stopping, enabling, and troubleshooting daemons. Covers service lifecycle, restart policies, and how the init system supervises processes on a modern Linux host.

0 questions

State Machines & Protocol Implementation

Modeling behavior and communication with explicit state: finite state machines, event-driven transitions, and implementing wire or hardware protocols with framing, timeouts, and error handling. Covers structuring long-lived logic as a state machine to keep firmware and systems code correct and testable.

0 questions

Systems Performance Analysis & Tuning

Finding and fixing performance problems at the OS and low level: profiling CPU, memory, I/O, and lock contention, reading utilization and saturation signals, and using tools like perf, strace, and tracepoints. Covers cache behavior, false sharing, syscall overhead, and the methodology of isolating a bottleneck before optimizing.

0 questions