Huvudprogram, anropsträd, cykliska och tidsstyrda tasks, prioritet — och varför strukturen avgör om programmet går att felsöka.