Abbreviations and jargon used across the Makar source, docs, and commit log.
Grouped by area. If you hit a term in the tree that isn’t here, it’s a bug in
this page — open an issue.
Boot & firmware
Term
Expansion
What it means here
BIOS
Basic Input/Output System
Legacy 16-bit PC firmware. Makar boots BIOS/CSM, not UEFI.
GRUB
GRand Unified Bootloader
The bootloader on the build ISO; loads the kernel via Multiboot 2.
Limine
(proper noun)
The bootloader the Makar installer writes to an installed HDD (BIOS/MBR).
Multiboot 2
—
The GRUB/Limine ↔ kernel handoff spec: a header in the kernel image requests services (e.g. a framebuffer), the loader passes back an info structure (the MBI).
MBI
Multiboot Information
The tag list the bootloader hands the kernel (memory map, framebuffer, cmdline…).
MBR
Master Boot Record
First 512 bytes of a disk: boot code + partition table.
GPT
GUID Partition Table
Modern partition scheme; Makar can read it.
gfxpayload
graphics payload (GRUB var)
The video mode GRUB sets before handing off. A comma list lets it pick the best mode the firmware actually offers.
LFB
Linear Frame Buffer
A flat, memory-mapped pixel buffer in a graphics mode (vs. the legacy VGA text buffer).
Display
Term
Expansion
What it means here
VGA
Video Graphics Array
The legacy display standard; here usually the 80×50 text fallback at 0xB8000.
VESA
Video Electronics Standards Association
The standard behind high-res linear framebuffers; Makar’s vesa.c drives one.
VBE
VESA BIOS Extensions
Firmware interface for setting VESA modes. What Hyper-V Gen1 / VMware expose (and what limits Hyper-V to 4:3 modes — no 16:9).
DISPI
Bochs Display Interface
A simple register interface (QEMU/Bochs) for changing resolution after boot, without the VBE BIOS. Hyper-V/VMware lack it.
bpp
bits per pixel
Colour depth; Makar uses 32 (XRGB).
pitch
—
Bytes per scanline in the framebuffer (may exceed width × bpp/8 due to padding).
WM
Window Manager
The userspace GUI server (gui.elf / wm.c); sole compositor.
compositor
—
The component that blits all window buffers into the one framebuffer.
DPI / fps
dots per inch / frames per second
Pixel density / refresh rate.
ANSI / VT100
—
The escape-sequence terminal standard (cursor moves, colours, scrolling). mxterm emulates it via the vt100.c core so TUI apps render in a GUI window.
CSI
Control Sequence Introducer
The ESC [ prefix of most ANSI sequences (e.g. ESC[31m, ESC[2J).
SGR
Select Graphic Rendition
The ESC[…m family that sets colour/bold/reverse for following text.
CUP / ED / EL
Cursor Position / Erase Display / Erase Line
Common CSI ops: move the cursor, clear the screen, clear a line.
pty
pseudo-terminal
A terminal not backed by hardware — here the GUI terminal’s pipe to its shell. SYS_PTY_WINSIZE publishes its size.
TUI
Text User Interface
A full-screen text-mode app drawn with the cell API (maktop, vix, cfdisk).
Makes ring-0 honour read-only user PTEs — required for COW.
MSR
Model-Specific Register
CPU config registers read/written with rdmsr/wrmsr.
PAT
Page Attribute Table
An MSR that lets a PTE pick a memory (cache) type per page, without touching MTRRs. Makar arms a Write-Combining slot for the framebuffer.
MTRR
Memory Type Range Register
MSRs that assign a cache type to a physical address range. Firmware marks the PCI MMIO hole UC; we add a WC range over the framebuffer so pixel writes batch.
Cache types
UC / UC- / WC / WT / WP / WB
Uncacheable / UC-minus / Write-Combining / Write-Through / Write-Protect / Write-Back. UC traps every write (slow); WC batches small writes into bursts (fast for a framebuffer).
wbinvd
Write Back and Invalidate Cache
Instruction that flushes the CPU caches; required around MTRR changes.
FPU / SSE / FXSAVE
Floating-Point Unit / Streaming SIMD Extensions
x87+SSE state, saved per task via the fxsave/fxrstor instructions.
TLS
Thread-Local Storage
Per-task storage; i386 reaches it via a GDT segment (%gs).
GDT / IDT
Global Descriptor Table / Interrupt Descriptor Table
The segment and interrupt-vector tables.
PIT
Programmable Interval Timer
The 8253/8254 timer; Makar runs it at TIMER_HZ (250 Hz) to drive preemption.
TIMER_HZ / quantum
—
Internal tick rate (250 Hz = 4 ms) and the per-task time-slice (g_sched_quantum × sched_weight ticks) before the scheduler preempts.
USER_HZ
—
The userspace-facing tick rate, fixed at 100 Hz regardless of TIMER_HZ (like Linux). SYS_UPTIME and /proc CPU ticks report in these units so apps’ timing stays correct.
Devices, power & virtualization
Term
Expansion
What it means here
ACPI
Advanced Configuration and Power Interface
Firmware tables + bytecode for power management; Makar uses it for soft-off and reboot.
AML
ACPI Machine Language
The bytecode in the DSDT; Makar decodes just the \_S5_ package.
RSDP / RSDT / XSDT
Root System Description Pointer / Table / eXtended SDT
The ACPI table roots. XSDT holds 64-bit pointers (preferred on ACPI 2.0+).
FADT
Fixed ACPI Description Table
Points at the DSDT and holds the power-management ports (PM1, SMI_CMD…).
DSDT
Differentiated System Description Table
The main AML table; contains \_S5_ (soft-off sleep values).
S5
Sleep state 5
“Soft off” — the ACPI power-off state.
PM1a/PM1b_CNT
Power Management 1 Control
The I/O ports a sleep value (SLP_TYPx | SLP_EN) is written to, to power off.
SCI / SCI_EN
System Control Interrupt / SCI Enable
SCI_EN (PM1 bit 0) = “ACPI mode is on”. Hyper-V Gen1 boots with it off; we run the enable handshake first.
SMI / SMI_CMD
System Management Interrupt / SMI Command port
Writing ACPI_ENABLE to SMI_CMD asks firmware to switch into ACPI mode.
PS/2
Personal System/2
The legacy keyboard/mouse port interface.
PIT
Programmable Interval Timer
The 250 Hz timer that drives preemption (TIMER_HZ).
PCI
Peripheral Component Interconnect
The bus; its MMIO hole is the high physical region devices (incl. the framebuffer) live in.
MMIO
Memory-Mapped I/O
Device registers/memory accessed as if they were RAM.
IDE / ATA / ATAPI
Integrated Drive Electronics / AT Attachment / ATA Packet Interface
The disk (and CD-ROM, ATAPI) interface; Makar uses PIO and DMA.
DMA / PIO
Direct Memory Access / Programmed I/O
Disk transfer via a bus-master engine (fast) vs. CPU-copied through a port (simple).
CPUID
CPU Identification
The instruction that reports CPU features and the hypervisor signature.
KVM
Kernel-based Virtual Machine
Linux’s hardware-accelerated virtualization; QEMU uses it when present.
TCG
Tiny Code Generator
QEMU’s pure-software (no-KVM) CPU emulation; the correctness gates run under it.
VT-x
Intel Virtualization Technology
Hardware virtualization extensions; under them (VMware/Hyper-V/VirtualBox/KVM) UC framebuffer writes are genuinely slow, hence the WC work.
Filesystems & processes
Term
Expansion
What it means here
VFS
Virtual File System
The mount table that routes paths to ext2/FAT32/ISO9660/synthetic backends.
ext2 / FAT32 / ISO9660
—
The on-disk/optical filesystems Makar reads and (for ext2/FAT32) writes.
ELF
Executable and Linkable Format
The binary format of ring-3 apps (*.elf).
PID / fd
Process ID / file descriptor
Standard POSIX process and open-file handles.
IPC
Inter-Process Communication
Message passing; the GUI uses the makx protocol (MINIX-style synchronous messages) plus shared surfaces.
ABI
Application Binary Interface
The binary contract (syscall numbers, struct layouts) between kernel and userspace.
libc / libk
C library (hosted / freestanding kernel)
libc.a for ring-3 apps; libk.a linked into the kernel.
TUI / GUI
Text / Graphical User Interface
Cell-grid terminal apps vs. windowed pixel apps.
Toolchain
Term
Expansion
What it means here
GCC / Binutils
GNU Compiler Collection / GNU binary utilities
The cross toolchain (i686-elf-*, future i686-makar-*).
musl / newlib
—
Candidate hosted C libraries for a future userspace port.
TinyCC (tcc)
Tiny C Compiler
The in-OS C compiler shipped as tcc.elf.
ccache
compiler cache
Speeds rebuilds; toggle with CCACHE=0.
sysroot
system root
The directory tree a cross-compiler treats as / for headers/libs.