CS 452/652 Winter 2024 - Lecture 23
TC2 Debrief, Recap
Apr 2, 2024 prev
TC2 Debrief
- Demo Mindset!
- train tracking / sensor attribution
- collision detection & avoidance
- path reservation, turnout switching
- routing, path finding
- modularity!
Recap
Hardware
- Raspberry Pi 4, Broadcom 2711, ARMv8
- memory model, assembly, device access (timer, UART)
- serial communication including CTS
- 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
Theory
- latency analysis
- priority inversion
- scheduling & admission control
Software Design & Control
- server & worker patterns
- layered control components
- domain-specific design