CS 452/652 Spring 2026 - Lecture 22
Recap
July 29, 2026 prev
Recap
Hardware
- Raspberry Pi 4, Broadcom 2711, ARMv8, Cortex A72
- memory model, assembly, device access (timer, UART, SPI)
- serial communication
- CAN bus communication
- system registers, interrupt controller, exception vectors
- memory & CPU caches
Real-world Components
- Märklin tracks & trains
- control interface & quirks
- velocity and acceleration models
- failures
Systems Software
- cross compilation, linking, loading, initialization
- freestanding runtime environment
- slab allocation, free list, intrusive linkage
- ABI details
- concurrency and race conditions
- data representation
Operating System
- polling loop vs. task scheduling
- context switching: system call vs. interrupts
- scheduling, priorities, idle
- send-receive-reply message passing
Software Development
- sizable software system
- full control and responsibility
- challenging development environment
- optimization
- performance & measurements
- experimentation
Software Design & Control
- server & worker patterns
- layered control components
- domain-specific design
Theory
- latency analysis
- priority inversion
- scheduling & admission control
Multi-Core Programming
- atomicity, critical section
- locks: Dekker's algorithm, ticket lock
- memory ordering
- sequential consistency