~ /phase-1 /setup
Phase I · Environment

A clean Linux box, built for measuring.

Every Phase I experiment ran inside the same Linux virtual machine. This kept the environment consistent and isolated from the host. This page records exactly how it was built.

UTM on macOSApple VirtualizationUbuntu 24.04.3 LTS · aarch644 vCPU · 4 GB RAM

System at a glance#

24.04LTS
Ubuntu, ARM64 (aarch64)
4cores
Virtual CPUs given to the VM
4GB
Memory allocated
11.4gcc
Compiler version used

Create the virtual machine#

The VM was created with UTM on macOS, using Apple's native virtualization framework instead of emulation.

Allocate resources#

The VM received 4 CPU cores and 4 GB of RAM, plus enough storage for the OS, source code and output files.

Install Ubuntu#

Verify the system#

These commands confirmed the architecture, memory, core count and Ubuntu version before any experiment ran:

System verification
uname -a          # kernel and architecture (aarch64)
free -h           # memory allocation
lsb_release -a    # Ubuntu version

Install the toolchain#

GCC 11.4.0#

The C compiler used for every build.

build-essential#

The standard development utilities package.

Linux terminal#

Used to compile, run and monitor the program.

Install and compile
sudo apt install build-essential
gcc -Wall matrix_fork.c -o matrix_fork   # -Wall turns on compiler warnings

Why a VM?

A dedicated VM gives every run the same OS, the same resources and no competing desktop workloads. That makes the timings comparable across configurations and reproducible later.