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