← Back
Home › Systems › Operating systems and runtimes

desktop-os

desktop operating system

Microsoft Windows, Apple macOS, Google ChromeOS

SystemTechniques · 8Primitives · 42 desktop-os Hit testing and gesturesgraphics · medium: Map pointer events to the UI tree and arbitrate competing gesture recognizersLayer compositinggraphics · medium: Composite retained layers or surfaces on the GPU; overlay planes, opacity and transformsCpu scheduling eevdfhardware-os · medium: Fair CPU scheduling: virtual runtime, CFS and EEVDF virtual deadlines, run queues, load balancingHeterogeneous core schedulinghardware-os · medium: Big.LITTLE and P/E core scheduling: energy models, utilization clamping, task migrationMemory pressure reclaimhardware-os · medium: Low-memory killers, kswapd, zram compression and memory pressure signals on mobile and serversCode signingsecurity · medium: Signing binaries/apps with certificate chains, entitlements, timestamping and notarizationProcess sandboxingsecurity · medium: Run risky work in a separate, deliberately powerless process and let a small privileged broker do the few things it needs, over a narrow pipe.›Damage trackinggraphics · low: Track dirty rectangles so each frame repaints and recomposites only what changedDisplay scanout modesettinggraphics · low: KMS: CRTCs, planes, atomic commits, page flips, vblank events and direct scanoutContext switchinghardware-os · low: Handing a core to another task by saving and loading registers, stack and address space; the hidden cache and TLB cost outweighs the direct one.›Power management dvfshardware-os · low: DVFS governors, P- and C-states, race-to-idle, thermal throttlingmmap and the page cachehardware-os · low: How read() and mmap reach file data through the kernel page cache, what readahead and madvise do, and why databases use their own buffer pool instead.›Shared memory ipcconcurrency · low: Shared memory rings and futex signalling between processesColor space conversiongraphics · low: Convert pixels between transfer curves (sRGB, linear light), primaries (sRGB, Display P3, XYZ) and Y'CbCr, using tables for the curve and 3x3 matrices for the rest.›Vsync frame pacinggraphics · low: Vsync, swapchain presentation modes, frame pacing, latency and variable refreshCopy-on-write forkhardware-os · low: fork() gives the child the parent's whole address space by sharing pages read-only and copying one only when someone writes it; vfork and posix_spawn skip even that.›Interrupt handlinghardware-os · low: How a device signal reaches a CPU handler through an interrupt controller and vector table, and how top/bottom halves, polling switch-over and coalescing keep load bounded.›System call interfacehardware-os · low: The controlled gate between user code and the kernel: number and arguments in registers, a trap instruction, a validated handler, a result or error code.›Virtual memory and the TLBhardware-os · low: How page tables and TLBs translate every address, what TLB reach means, and when 2 MiB or 1 GiB huge pages pay off on Linux.›Aes xts disk encryptionsecurity · low: AES-XTS tweakable sector encryption for block devices; why no integrity and how sector tweaks workAuthorization models (RBAC, ABAC, R…security · low: How to decide who may do what to which object; roles for coarse rules, relationships for sharing, and checks on every object.›Secure boot chainsecurity · low: Each boot stage verifies the signature of the next before running it, anchored in an immutable ROM key hash, with version counters against downgrade and a TPM log of what ran.›Inode file layoutstorage · low: Inodes, directory entries and block/extent maps for a file namespace+ 1 more techniques+ 26 more primitives

Similar systems

Share the most building blocks with this one.