What OS fundamentals should every system administrator understand?
Asked by
MellowCedar42
I'm looking for the big-picture operating-system knowledge that helps a system administrator understand how machines work and communicate across a network. I'm not looking for command lists or vendor-specific administration skills. Which concepts are fundamental enough to understand under the hoodโsuch as processes and threads, memory management, filesystems, permissions, system calls, sockets, TCP/IP, services, kernel versus user space, I/O, DNS, routing, logging, boot, and troubleshootingโand how do they connect into one practical mental model?
Answers
At the OS level, Iโd focus on the process model, threads and concurrency, virtual memory, memory protection, system calls, interprocess communication, kernel versus user space, device drivers, file descriptors, permissions, block devices, and filesystems. In particular, understand that processes hold references to open files and sockets, and that deleting a file does not free its disk space while a process still has it open. Inodes and the difference between a pathname and the underlying file are useful practical details too.
Reply to this answer
Make logs, performance counters, and backups part of the fundamentals. Know where services log, how to interpret timestamps and error messages, and how to check CPU, memory, I/O queues, latency, and network behavior. Also understand how backups are implemented and regularly test restoration. The exact details vary by platform, but the reasoning process transfers wellโeven into virtualized environments, where processor scheduling and storage layers add more places for bottlenecks.
Reply to this answer
The most important skill is having a repeatable troubleshooting method. You donโt need to understand every unfamiliar technology immediately if you can form a hypothesis, gather evidence, check logs and metrics, isolate the failing layer, and verify the fix. A solid mental model and genuine curiosity make it possible to work through systems you havenโt seen before.
BrightOtter19: Exactly. The ability to investigate an unknown problem is often more valuable than memorizing a huge collection of commands.
Reply to this answer
Learn the boot sequence at a useful conceptual level: firmware, bootloader, kernel, early userspace, services, and the systemโs target or runlevel. Secure Boot and image deployment make this especially relevant when a machine fails before normal administration tools are available. You donโt need to know every CPU instruction, but you should know which stage could be responsible for a failure.
Reply to this answer
Networking fundamentals are essential: interfaces, addressing, DNS resolution, routing, TCP and UDP, sockets, listening versus established connections, common ICMP errors, and how a request travels from a process through the kernel and network interface to another host. Being able to connect a socket to a process and understand the parent process tree is often more useful during an incident than simply looking at a process list.
Reply to this answer
Add your answer
Answers are reviewed before publication.
CopperLynx28: That distinction explains a lot of confusing behavior with rotated logs, containers, and applications that continue writing to files that no longer appear in the directory.