Source: https://mayphus.org/understanding-computer-systems/ Title: Understanding computer systems Metadata: {"date":"2026-10-08","kind":"article","language":"en","locale":"en","route":"/understanding-computer-systems/","slug":"understanding-computer-systems","tags":["learning","linux","freebsd","systems"],"type":"article"} # Understanding computer systems A computer becomes easier to understand when you can follow one question across its layers. Which process opened this file? Which filesystem contains it? Which service started that process? Which part of the boot sequence made the service possible? This guide connects those questions. It has shared concepts, separate Linux and FreeBSD practice, and hardware case studies. The goal is to explain an observation and choose a useful next check—not to collect commands or pretend that one successful experiment proves a whole system reliable. ## Choose a route Start with [evidence, boundaries and a first disposable exercise](/systems-observation/). Then follow the path that matches the machine you can safely inspect. | Path | Chapters | What you should be able to explain | | --- | --- | --- | | Linux | [Files, users and permissions](/systems-linux-files/), [processes, services and logs](/systems-linux-processes/), [networking and packages](/systems-linux-networking/) | Who can access a path, what is running, how it was started, and what a network or package observation actually establishes | | Storage | [Paths, filesystems and devices](/systems-storage/) | Why a path, a filesystem, a partition and a disk are different objects—and why free space is not the same as a backup | | FreeBSD | [The base system and daily inspection](/systems-freebsd-base/), [jails and their boundaries](/systems-freebsd-jails/) | How to inspect FreeBSD using its own tools and distinguish a jail from a virtual machine | | Hardware and boot | [Boot evidence and recovery planning](/systems-hardware-boot/) | Which startup stage has been reached, how to separate a measuring problem from a board problem, and what recovery requires before a risky change | Read in order if these concepts are new. If you already have a specific question, choose the matching chapter and follow its prerequisites. Each practical chapter includes a goal, a bounded exercise, expected observations and limits. The examples deliberately avoid repartitioning disks, changing production services or installing software just to complete a lesson. ## What is shared, and what stays separate A running process, a filesystem path, an identity and a network endpoint are useful concepts in both Linux and FreeBSD. The administration interfaces are not interchangeable. Ubuntu's systemd commands do not become FreeBSD service commands because both systems have a shell. A Linux package name does not establish the corresponding FreeBSD package or base-system component. “FreeBSD” here means that operating system, not every BSD descendant. The Linux practice chapters specify **Ubuntu 24.04 LTS**. The introductory disposable exercise and storage observations were executed separately on **Ubuntu 26.04.1 LTS**; they say so where the commands appear. The FreeBSD chapters specify their own release and are proposed exercises. Check the environment label before copying a command. Do not use one chapter's output as a promise about another distribution, release, container or virtual machine. ## Testing and evidence The first disposable file exercise was executed on 8 October 2026, and its measured output is included. The storage chapter identifies its smaller executed checks. The Ubuntu 24.04 and FreeBSD exercises have been checked against their named manuals but were **not executed on those target releases** during preparation. Hardware exercises are analysis of published records, not new board tests. This is a published learning guide that can be corrected and extended. Reading it does not certify competence or make a production change safe. If a command is unavailable, an output differs, or permission is denied, record that result and consult the manual for the installed version. Do not add administrator privileges simply to force the lesson's expected output. ## Keep the work connected to evidence The [Linux disk-layout explanation](/linux-disk/) gives a detailed example of storage structure. Treat it as a diagram and historical explanation: it contains an explicitly marked destructive historical example that is not part of this guide's exercises. The [NanoPi R2S Alpine investigation](/nanopi-r2s-alpine-boot/) shows why a silent serial terminal was insufficient evidence of a dead board. The [FreeBSD introduction](/freebsd/) and [thin-jail documentation correction](/a-tiny-freebsd-jail-doc-fix/) connect the FreeBSD path to earlier work without replacing its official documentation. The [R2S RAM-boot case study](/entries/nanopi-r2s-freebsd-ram-boot/) records a FreeBSD shell in RAM and a separate persistence test. Its manual startup and other limitations remain important. Neither that record nor this guide claims a completed, generally supported FreeBSD-on-R2S system. ## From understanding to operation [Operating a small service through change](/operating-small-services/) brings these concepts together in a guide to dependencies, provisioning, recovery, migration and handoff. Its fictional service and proposed planning exercise are separate from the executed checks and published investigations above. ## Official starting points Use [Ubuntu's command-line introduction](https://ubuntu.com/tutorials/command-line-for-beginners), which points to its [updated desktop tutorial](https://ubuntu.com/desktop/docs/en/latest/tutorial/the-linux-command-line-for-beginners/), alongside the release-specific manuals linked from the Linux chapters. Use the [FreeBSD Handbook](https://docs.freebsd.org/en/books/handbook/) and the local manual for the FreeBSD release you are running. These are references to return to when a concrete question arises; this guide supplies a route through them, not a replacement copy.